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

589 Commits

Author SHA1 Message Date
Bartosz Taudul 27a98a3cc2 Make user plot color depend on its name. 2022-07-24 01:26:20 +02:00
Bartosz Taudul f7598d2431 Implement direct children search. 2022-07-23 13:31:41 +02:00
Bartosz Taudul 57f03dfe9a Implement children messages filtering in zone tooltip. 2022-07-23 13:19:30 +02:00
Bartosz Taudul edad2d7e35 Monitor send queue size. 2022-07-03 14:52:18 +02:00
Bartosz Taudul 2331ee04d2 Cleanup TracyView includes. 2022-07-02 17:00:08 +02:00
Bartosz Taudul d9ce848bb0 Also extract (and rename) timeline mouse handling. 2022-07-02 15:42:01 +02:00
Bartosz Taudul 9fb618c12d Rename DrawZone* -> DrawTimeline*. 2022-07-02 15:38:10 +02:00
Bartosz Taudul 0d41a6c48b Move DrawHistogramMinMaxLabel() to TracyImGui.cpp. 2022-07-02 15:27:08 +02:00
Bartosz Taudul c427214f46 Move DrawHelpMarker to TracyImGui.hpp. 2022-07-02 15:07:40 +02:00
Bartosz Taudul f3fe8b27e8 Extract plot drawing from View. 2022-07-02 14:36:54 +02:00
Bartosz Taudul c9f77ee5fa Move zone info UI out of View. 2022-07-02 13:37:04 +02:00
Bartosz Taudul b602d61944 Extract options UI from View. 2022-07-02 13:23:52 +02:00
Bartosz Taudul d19b337573 Split View navigation functions. 2022-07-02 13:16:06 +02:00
Bartosz Taudul 2473760c04 Extract Find Zone UI to a separate file. 2022-07-02 13:12:29 +02:00
thedmd 9ed9e18bc8 Add ability to filter callstacks in memory tab by inactive allocations.
Filtering by inactive allocations helps to pin point wasteful allocations
in an app.
2022-06-06 06:45:35 +02:00
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