1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

574 Commits

Author SHA1 Message Date
Bartosz Taudul 1e762c246a Don't show callstack column in messages, if no callstacks. 2022-04-18 15:06:23 +02:00
Bartosz Taudul f17a579753 Move adding annotations to a separate function. 2022-03-15 17:25:28 +01:00
Bartosz Taudul f4043d9bb8 Display GPU zone statistics. 2022-01-29 15:35:25 +01:00
Bartosz Taudul 563daed10f Add bottom/top tree to callstack parents. 2021-12-31 15:01:06 +01:00
Bartosz Taudul 04f045b22b Replace "restrict time" with time range limits in memory. 2021-11-29 19:20:56 +01:00
Bartosz Taudul de11604910 Add memory time range limit UI. 2021-11-29 18:17:19 +01:00
Bartosz Taudul 52eeddd63a Fix display of entry call stacks when inlines are present. 2021-11-27 16:41:27 +01:00
Bartosz Taudul 902de497dc Allow forceful insertion into main thread queue.
This is useful to run some tasks outside of the main render job.
2021-11-18 22:46:59 +01:00
Bartosz Taudul 89ca010146 Add scale setup callback infrastructure. 2021-11-18 22:22:11 +01:00
Bartosz Taudul 633cd1262c Draw callstack tree for wait stacks. 2021-11-13 22:06:04 +01:00
Bartosz Taudul 5f9a0ab61f Wait stacks mode selection. 2021-11-13 22:06:04 +01:00
Bartosz Taudul 4f6e9bbb65 Generic callstack tree builder.
Previously this was exclusive for memory callstacks.
2021-11-13 22:06:04 +01:00
Bartosz Taudul c6be16dcd2 Rename PathData -> MemPathData. 2021-11-13 21:28:56 +01:00
Bartosz Taudul a2547ccf1d Rename CallstackFrameTree -> MemCallstackFrameTree. 2021-11-13 21:26:28 +01:00
Bartosz Taudul 0c7c3ae641 Time range limits for wait stacks. 2021-11-13 18:43:55 +01:00
Bartosz Taudul 94d4272c9c Allow limiting wait stacks to certain threads. 2021-11-13 18:20:06 +01:00
Bartosz Taudul 9ba5180b04 Add wait stacks window. 2021-11-13 15:58:25 +01:00
Bartosz Taudul 45df37e3a9 Separate callstack table drawing functionality. 2021-11-13 15:56:57 +01:00
Bartosz Taudul 1200409a44 Display context switch wait call stack. 2021-11-13 01:21:47 +01:00
Bartosz Taudul ce8e42f00b Separate drawing callstack tooltip from drawing its contents. 2021-11-13 01:08:36 +01:00
Bartosz Taudul d33de972f0 Properly show fiber context switch data. 2021-11-06 21:06:08 +01:00
xavier 61670e30aa Update samples statistics continuously in the "find zone" window 2021-09-23 21:03:56 +02:00
xavier 63acfe72e7 Apply group filters to the samples statistics in the "find zone" window
reduce memory by storing the thread ids next to the zones intead of
making zone lists per thread.

speed-up by reading the zones in linear order rather than bisecting
the whole list for each sample.
2021-09-23 21:03:56 +02:00
xavier 41130d2a69 Avoid useless work when there aren't any samples 2021-09-23 21:03:56 +02:00
xavier 0089c832f7 Cache samples statistics in the "find zone" window 2021-09-23 21:03:56 +02:00
xavier ed42c2388c Add samples statistics to the "find zone" window 2021-09-23 21:03:56 +02:00
xavier 6b901a7156 Extract DrawSamplesStatistics() 2021-09-23 21:03:56 +02:00
Bartosz Taudul c82bf3915b Extend thread expansion grace period to half a second.
Previously a framerate-dependent 10 frame count was used.
2021-08-19 00:24:11 +02:00
Terence Rokop b392671a7a Make time accumulation mode use combo box 2021-06-25 21:27:45 -07:00
Terence Rokop 9366e58d12 Introduce "Non-reentrant time" radio button
Add to the statistics view an option for "Non-reentrant
time", which displays the count of and time spent in zone
events which were the only appearances (at that time) of
their zones on their threads' stacks.

Besides the GUI changes, this involves:

- Introducing a tri-state accumulation mode to replace the
boolean "self time":  now there's "Self time only",
"Child time", and "Non-reentrant time".

- Removing the separate "selfTotal" from SrcLocZonesSlim,
making "total" represent whichever of the now three options
is active, which in turn requires keeping track of the
accumulation mode in StatisticsCache and invalidating that
cache when the accumulation mode changes.
2021-06-20 17:56:15 -07:00
Terence Rokop 0a8ec09566 Introduce View::IsZoneReentry()
These two methods can search a timeline to determine whether
a given ZoneEvent is the only appearance of the given zone
on the current thread stack, or a re-entry.
2021-06-20 17:53:38 -07:00
Bartosz Taudul 5d86002f82 Calculate all CPU usage values in one go. 2021-06-20 14:19:18 +02:00
Bartosz Taudul 188320db48 Simplify zone color data retrieval. 2021-06-19 16:20:35 +02:00
Bartosz Taudul d2ebe341f2 Allow filtering out kernel symbols from statistics view. 2021-06-16 01:43:09 +02:00
Kevin Kuehler 871d41be1f Implement FindMatchingZone(..)
Sets m_compare to the matched index. It supports multiple flags. It can
be run by comparing function name, source file, line number, and any
combination thereof. When searching for a match, we do 3 runs, quitting
out if any of them succeed.

  1. Look for zone with same function same, source file, line number.
  2. Look for zone with same function same, source file.
  3. Look for zone with same function same.
2021-05-22 01:33:06 -07:00
Bartosz Taudul 3d75bf653a Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
Bartosz Taudul 92ae003308 Improve trace saving experience.
This adds additional dialog, which allows selection of compression mode. Also,
when a trace cannot be saved, a failure popup will be displayed.
2021-05-15 14:25:45 +02:00
Bartosz Taudul 8f0c5e867e Source tooltip implementation. 2021-03-27 13:43:11 +01:00
Bartosz Taudul 0b6e55ee87 Store fixed-width font in View. 2021-03-27 13:43:11 +01:00
Bartosz Taudul d56f7dab09 Remove unneeded forward declarations. 2021-03-27 13:05:59 +01:00
Bartosz Taudul 35267abc8e Remove obsolete GetZoneDepth() method. 2021-02-07 19:58:23 +01:00
Bartosz Taudul 6bb77d55a1 Use tables in CPU data view. 2020-12-09 21:53:36 +01:00
Bartosz Taudul 63e0170048 Find zones zone list fixes. 2020-12-09 21:18:40 +01:00
Bartosz Taudul f1a641a838 Use tables for instrumented zones statistics. 2020-12-09 20:55:00 +01:00
Bartosz Taudul 6300f59183 Use tables in find zone zones list. 2020-12-09 02:18:06 +01:00
Bartosz Taudul c437ecfcf5 Remove unneeded variable. 2020-12-08 19:55:20 +01:00
Bartosz Taudul 53eacd3dc2 Add lost connection popup. 2020-11-18 01:24:22 +01:00
Bartosz Taudul 2bf00b5eab Get available physical memory size in viewer. 2020-11-13 17:09:57 +01:00
Bartosz Taudul a48d540854 Cache statistics range-limited data. 2020-11-01 16:24:08 +01:00
Bartosz Taudul 00c9dd24dc Use last range mode if no frames are available.
If during the first 5 seconds of the trace there are no frames being reported,
the profiler will switch to following last 5 seconds of the trace, instead of
displaying three last frames.
2020-10-06 18:46:36 +02:00