Suggestions for enhancement

asthomasasthomas Posts: 6
edited November 3, 2016 6:04PM in ANTS Performance Profiler 9
I'm working with an application that has many threads, about 60 in all. Some are running managed code and some are running unmanaged code. Some of the managed threads are worker threads that get started by a third-party library I am using. I'm finding it difficult to narrow down which threads are using all of the CPU.

Suggestion #1:
It would be very helpful for Ants to produce a list of all threads and their CPU usage over the selected sampling region. That would allow me to quickly identify which threads to concentrate on. I don't know where you would put this on the interface, but a thread summary would be pretty handy.

Suggestion #2:
When I select a time range to study, there is nowhere on the screen that displays a) the total clock time in the selected region, and b) the total CPU time in the selected region. Both of these would be exceptionally useful in identifying whether it is the managed threads or the unmanaged threads that are contributing to the total CPU load. I suggest adding this information right at the bottom of the graph where it is always visible.


  • Jessica RJessica R Posts: 1,199 Rose Gold 4
    Hi and thanks for your suggestions!

    Suggestion #1 - You currently can choose a thread from the thread drop-down to view the stack and timings only for that thread, but this doesn't tell you what percentage of the CPU usage that particular thread has contributed to the selected region and I can see how that may be useful to know and have a summary of. I've gone ahead and added a feature request for this with internal reference, PP-3956 - thanks for your feedback!

    Suggestion #2: Thanks for this request as well--I have logged this one as PP-3957.

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

  • Thank you, Jessica. I have another suggestion as well:

    Suggestion #3:
    I am frequently misled by the CPU percentage numbers in Ants because Ants does not report on CPU used in unmanaged threads. The problem is that I can select a region and produce a call tree that suggests that a certain function is using 50% of the CPU. That is true, for those threads that Ants is profiling, but in reality that represents 50% of the 4% that Ants is actually reporting on. The rest of the CPU (96%) is in unmanaged code. In order to try to determine whether I'm looking at that kind of situation I'm constantly flipping between "Wall Time" and "CPU Time" reports. When I do that, the call tree is re-sorted and I lose track of what I was studying.
    Consequently, I would like to suggest that you provide an option to put columns for *both* wall time and CPU time in all of the tables. The selection of wall or CPU time would determine how the table is sorted, but both would be displayed.
  • Jessica RJessica R Posts: 1,199 Rose Gold 4
    Many thanks! I have logged the request to show both wall-clock and CPU time as PP-3958.

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

Sign In or Register to comment.