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

7437 Commits

Author SHA1 Message Date
Bartosz Taudul fd3d5114e8 Update NEWS. 2023-03-10 01:27:27 +01:00
Bartosz Taudul 7d69103444 Add plot type "power" and Watt format.
Note that this technically breaks backwards compatibility of trace files
for 0.9.2 builds. But, whatever, as it's not yet released.
2023-03-10 01:25:41 +01:00
Bartosz Taudul 23705fd84c Add a reminder to keep interfaces in sync. 2023-03-10 01:07:06 +01:00
Bartosz Taudul 69855c671f Process power usage messages. 2023-03-10 01:02:41 +01:00
Bartosz Taudul 2971db21e3 Read and report power usage. 2023-03-10 00:23:09 +01:00
Bartosz Taudul c3e7157cd5 Detect power domains. 2023-03-10 00:05:18 +01:00
Bartosz Taudul 5e2e5eeefb Add system power use tracking skeleton. 2023-03-09 22:31:31 +01:00
Bartosz Taudul f428a5b52b Fix popup of collapsed items near timeline start.
There are various changes involved into making this work:

1. Zone size (zsz) is no longer clamped to the timeline viewport area.
   This clamping has to be removed to prevent otherwise uncollapsed zones
   from apparently becoming small near the viewport borders. Such a small
   zone would then be collapsed, resulting in unwanted popping.
   Interesingly, only the CPU zones were clamped before. GPU zones were
   not.
2. Iteration over visible zones has to start before the visible timeline
   viewport area. Without this some zones that would be otherwise
   included in the collapsed area (started by a previous zone) may be
   fully visible. This causes child zones to be drawn and produces
   unwanted popping. (At this point threshold for continuing collapsed
   area is greater than threshold for starting it.)
3. Since the iteration now starts before timeline visible area, it may so
   happen that everything found will be in a small slice of timeline that
   is outside the screen. To fix this, the end time of last found item is
   checked against the viewport start time.
   It is always valid to access *(zitend-1), as it is in each case done
   after null set check (it == zitend).

Similar but simpler fix was also applied to per-thread call stack samples.
2023-03-09 00:38:23 +01:00
Bartosz Taudul 7151c6afd9 Add support for configuring plots to C API. 2023-03-08 23:18:36 +01:00
Bartosz Taudul 9d2f3860e7 Update NEWS. 2023-03-05 19:42:20 +01:00
Bartosz Taudul 22661f79de Merge pull request #532 from spnda/vulkan_host_ops
Add: Alternative Vulkan context constructor
2023-03-05 18:38:07 +01:00
sean 1eb0651255 Note new Vulkan context constructor in documentation 2023-03-05 17:37:32 +01:00
sean c7ee536209 Add: Alternative Vulkan context constructor 2023-03-05 17:37:22 +01:00
Bartosz Taudul e77512abe6 Update NEWS. 2023-03-04 23:00:49 +01:00
Bartosz Taudul 107afd78a4 Make collpsed zones gray in source location dynamic color mode.
The reasoning is that you want to use the color to see where a zone of
a particular type is placed. When collapsed zones go back to displaying
thread color, you may mistake such region of collapsed zones for something
they aren't.
2023-03-04 22:54:58 +01:00
Bartosz Taudul 2434514a42 Make view mode heuristic work correctly in on demand mode. 2023-03-04 00:37:38 +01:00
Bartosz Taudul a8cc3cb06b Use on demand flag in GetFirstTime(). 2023-03-04 00:33:52 +01:00
Bartosz Taudul f9449bc938 Only retrieve frame offset internally in GetFrameNumber(). 2023-03-04 00:32:15 +01:00
Bartosz Taudul 8164b776fd Don't pass GetFrameOffset() results to GetFrameText().
Frame offset can be retrieved internally.
2023-03-04 00:29:00 +01:00
Bartosz Taudul 9155b01ddf Use on demand flag to determine if need to show missed frames. 2023-03-04 00:25:30 +01:00
Bartosz Taudul 5ebc499f49 Add on demand mode flag accessor. 2023-03-04 00:19:58 +01:00
Bartosz Taudul e92874c0bb Save "on demand" flag in traces.
Previously on demand mode was determined by frame offset parameter being
greater than zero. However, if the application is not pumping frames with
FrameMark macro, the frame index will never increase and the frame offset
parameter stay at zero. It is not possible to distinguish on demand traces
from normal ones in this scenario.

Fix by explicitly saving the on demand flag in trace file and employ the
previous logic to set the flag when importing older traces.
2023-03-04 00:11:32 +01:00
Bartosz Taudul ed79c4f241 Update NEWS. 2023-03-03 22:56:15 +01:00
Bartosz Taudul dbcffb8c4f Print active time in the capture utility. 2023-03-03 22:51:04 +01:00
Bartosz Taudul 256905b7e3 Include first time in CPU thread lifetime calculation. 2023-03-03 22:46:25 +01:00
Bartosz Taudul 28199512cd Create first memory plot data point at first time. 2023-03-03 22:44:25 +01:00
Bartosz Taudul 3ff158c8be Worker::GetMemoryDefault() is not needed. 2023-03-03 22:40:14 +01:00
Bartosz Taudul 5ff809cc0a Calculate plot timeline taking active time span into account. 2023-03-03 22:36:04 +01:00
Bartosz Taudul 3ed543a1b7 Dim timeline before first time. 2023-03-03 22:25:07 +01:00
Bartosz Taudul b7cefe816e Restrict keyboard navigation to active time span. 2023-03-03 22:23:30 +01:00
Bartosz Taudul e659c630fd Calculate statistics percentages relative to active time span. 2023-03-03 22:19:43 +01:00
Bartosz Taudul fc7bd61576 Calculate CPU data percentages relative to active time span. 2023-03-03 22:18:08 +01:00
Bartosz Taudul 2f49caaa6e Show only active time span in on-demand mode. 2023-03-03 22:12:33 +01:00
Bartosz Taudul 1f94ab32df Exclude missing on-demand frames from on-load zoom. 2023-03-03 21:48:34 +01:00
Bartosz Taudul c91b052c80 Add first time getter. 2023-03-03 21:48:34 +01:00
Bartosz Taudul b89bfd44f1 Line stats may not exist, even if the line has attributed cost.
One scenario for this to happen is when there's children calls data in the
symbol.
2023-03-01 19:28:58 +01:00
Bartosz Taudul 897aec5b06 Release 0.9.1. v0.9.1 2023-02-26 15:30:03 +01:00
Bartosz Taudul c53a7f8457 Remove out-of-repository libraries from list in the manual. 2023-02-26 15:24:54 +01:00
Bartosz Taudul b8c4ce7abb Update manual. 2023-02-26 15:18:05 +01:00
Bartosz Taudul 8a0b7b59fd Update NEWS. 2023-02-26 14:42:16 +01:00
Bartosz Taudul 40b648655b Fix out-of-bounds reference. 2023-02-24 23:06:12 +01:00
Bartosz Taudul b3186a9b7d Fix uninitialized variable. 2023-02-24 22:57:14 +01:00
Bartosz Taudul b0174f2f3a No privilege elevation is possible on emscripten. 2023-02-20 21:36:18 +01:00
Bartosz Taudul fad09a452a Update ImGui to 1.89.3 + docking. 2023-02-14 17:57:14 +01:00
Bartosz Taudul 122f99c042 Merge pull request #524 from Lectem/fixSymbolResolutionWin32
Fix race condition for symbols resolution on windows
2023-02-14 16:04:04 +01:00
Lectem ecdf6adc32 Fix race condition for symbols resolution on windows
There might have been new modules loaded by another thread between the `SymInitialize` and `EnumProcessModules` calls.
Since we register the enumerated modules into the cache, we need to make sure that symbols for this module are loaded.
The only way to do that is to call `SymLoadModuleEx`, just like we do when finding new modules after `InitCallstack`.
2023-02-14 15:32:37 +01:00
Bartosz Taudul 15ad9aef78 Update manual. 2023-02-10 20:44:38 +01:00
Bartosz Taudul 33bfd64829 Update NEWS. 2023-02-10 20:42:15 +01:00
Bartosz Taudul 55823df56a Remove support for AT&T assembly syntax. 2023-02-10 20:41:03 +01:00
Bartosz Taudul 0d6fb703b4 Update zstd to 1.5.4. 2023-02-10 20:33:32 +01:00