Hello,
I'm trying to use dotTrace Performance to divide execution time into a number of buckets, roughly corresponding to .NET namespaces or assemblies. I'd like a result that says;
| Namespace | Time spent | Percentage of total |
|---|---|---|
| Ns1 | 5 sec | 5% |
| Ns2 | 12 sec | 12% |
| ... |
I'm not sure if this is generally possible?
After a profile run, I'm looking at the Plain List view, and it's showing information that looks like it could serve as the basis, but I can't really make sense of the relation between time spent and percentages...
I assumed Own Time was the time spent only in this namespace, not including outgoing calls, but the percentages don't seem to correlate with the actual times.
It's a stand-alone console application, I profiled with Tracing and collected Wall time (CPU instruction).
Am I misinterpreting? Can I even harvest this kind of information?
Thanks,
- Kim
Hello Kim
Here 'Own Time' is the time spent by all functions in a particular namespace performing some work (doing some math or calculations) instead of calling other functions. The percentage near own time in that column shows how much time this function spent performing some work compared to whole time spent by this function (that is (Own Time/Time)*100 %). I'm afraid at the moment there's no way to display Time and Percentage of total in Plain View. Thank you!
Andrey Serebryansky
Senior Support Engineer
JetBrains, Inc
"Develop with pleasure!"
Hi Andrey,
Thanks for the crisp explanation! OK, so it looks like I should be able to calculate this information, by totalling the Own Time numbers and dividing every namespace's contribution by this total. Does that sound about right?
As a general reflection, it would be cool if you could expose a small API to mine the raw profiling data -- then I could script this and massage it into a form that I could use directly.
Cheers,
- Kim