Skip to content

Commit

Permalink
Import tracy 0.7.7 (#24)
Browse files Browse the repository at this point in the history
  • Loading branch information
ktf authored May 11, 2021
1 parent 8148a52 commit 1930f6a
Show file tree
Hide file tree
Showing 205 changed files with 114,620 additions and 76,814 deletions.
Binary file modified tracy/.github/sponsor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 24 additions & 10 deletions tracy/.github/workflows/gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,36 @@ on:
jobs:
build:

runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macOS-latest]

steps:
- uses: actions/checkout@v2
- name: Install libraries
run: sudo apt-get update && sudo apt-get -y install libglfw3-dev libgtk2.0-dev libcapstone-dev
- name: Install linux libraries
if: ${{ matrix.os == 'ubuntu-20.04' }}
run: sudo apt-get update && sudo apt-get -y install libglfw3-dev libgtk-3-dev libcapstone-dev libtbb-dev
- name: Install macos libraries
if: ${{ matrix.os == 'macOS-latest' }}
run: brew install capstone tbb pkg-config glfw
- name: Profiler GUI
run: make -C profiler/build/unix debug release
run: make -j -C profiler/build/unix debug release
- name: Update utility
run: make -C update/build/unix debug release
run: make -j -C update/build/unix debug release
- name: Capture utility
run: make -C capture/build/unix debug release
run: make -j -C capture/build/unix debug release
- name: Csvexport utility
run: make -j -C csvexport/build/unix debug release
- name: Import-chrome utility
run: make -j -C import-chrome/build/unix debug release
- name: Library
run: make -C library/unix debug release
run: make -j -C library/unix debug release
- name: Test application
run: |
make -C test
make -C test clean
make -C test TRACYFLAGS=-DTRACY_ON_DEMAND
make -j -C test
make -j -C test clean
make -j -C test TRACYFLAGS=-DTRACY_ON_DEMAND
make -j -C test clean
make -j -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME"
12 changes: 11 additions & 1 deletion tracy/.github/workflows/msvc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

steps:
- uses: actions/checkout@v2
- uses: microsoft/[email protected].0
- uses: microsoft/[email protected].2
- name: Integrate vcpkg
run: vcpkg integrate install
- name: Build vcpkg libraries
Expand All @@ -30,6 +30,14 @@ jobs:
run: msbuild .\capture\build\win32\capture.vcxproj /property:Configuration=Debug /property:Platform=x64
- name: Capture utility Release
run: msbuild .\capture\build\win32\capture.vcxproj /property:Configuration=Release /property:Platform=x64
- name: Csvexport utility Debug
run: msbuild .\csvexport\build\win32\csvexport.vcxproj /property:Configuration=Debug /property:Platform=x64
- name: Csvexport utility Release
run: msbuild .\csvexport\build\win32\csvexport.vcxproj /property:Configuration=Release /property:Platform=x64
- name: Import-chrome utility Debug
run: msbuild .\import-chrome\build\win32\import-chrome.vcxproj /property:Configuration=Debug /property:Platform=x64
- name: Import-chrome utility Release
run: msbuild .\import-chrome\build\win32\import-chrome.vcxproj /property:Configuration=Release /property:Platform=x64
- name: Library
run: msbuild .\library\win32\TracyProfiler.vcxproj /property:Configuration=Release /property:Platform=x64
- name: Package binaries
Expand All @@ -39,6 +47,8 @@ jobs:
copy profiler\build\win32\x64\Release\Tracy.exe bin
copy update\build\win32\x64\Release\update.exe bin
copy capture\build\win32\x64\Release\capture.exe bin
copy import-chrome\build\win32\x64\Release\import-chrome.exe bin
copy csvexport\build\win32\x64\Release\csvexport.exe bin
copy library\win32\x64\Release\TracyProfiler.dll bin\dev
copy library\win32\x64\Release\TracyProfiler.lib bin\dev
7z a Tracy.7z bin
Expand Down
10 changes: 10 additions & 0 deletions tracy/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@
x64
Release
Debug
_build
_compiler
tools/*
*.d
*.o
*.so
*.swp
imgui.ini
test/tracy_test
Expand All @@ -27,3 +31,9 @@ vcpkg/*
!vcpkg/install_vcpkg_dependencies.bat
.deps/
.dirstamp
.vscode/

/_*/**
/**/__pycache__/**
extra/vswhere.exe
extra/tracy-build
6 changes: 5 additions & 1 deletion tracy/AUTHORS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Bartosz Taudul <wolf[email protected]>
Bartosz Taudul <wolf@nereid.pl>
Kamil Klimek <[email protected]> (initial find zone implementation)
Bartosz Szreder <[email protected]> (view/worker split)
Arvid Gerstmann <[email protected]> (compatibility fixes)
Expand All @@ -9,3 +9,7 @@ Dedmen Miller <[email protected]> (find zone bug fixes, improv
Michał Cichoń <[email protected]> (OSX call stack decoding backport)
Thales Sabino <[email protected]> (OpenCL support)
Andrew Depke <[email protected]> (Direct3D 12 support)
Simonas Kazlauskas <[email protected]> (OSX CI, external bindings)
Jakub Žádník <[email protected]> (csvexport utility)
Andrey Voroshilov <[email protected]> (multi-DLL fixes)
Benoit Jacob <[email protected]> (Android improvements)
2 changes: 1 addition & 1 deletion tracy/LICENSE
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Tracy Profiler (https://github.com/wolfpld/tracy) is licensed under the
3-clause BSD license.

Copyright (c) 2017-2020, Bartosz Taudul <wolf[email protected]>
Copyright (c) 2017-2021, Bartosz Taudul <wolf@nereid.pl>
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
168 changes: 168 additions & 0 deletions tracy/NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,167 @@ Note: Release numbers are nothing more than numbers. There are some
"missing" versions due to trace file changes during development. This is not
a mistake.

v0.7.7 (2021-04-01)
-------------------

- Linux crash handler will now also catch SIGABRT.
- Fixed invalid name assignment to source files discovered client-side.
- Added ability to check if a zone is active (which may be used to avoid
preparing zone text, etc., as it wouldn't be used anyway).
- Improved sorting behavior of internal vectors.
- Some data will now be always properly displayed during live capture.
This was not particularly visible before, as it mainly concerns edge
cases.
- Sorting is performed only as needed.
- In case of plots the performance during live capture may be decreased,
as these were sorted with at least 0.25 second intervals before. Now
the sorting is performed every frame.
- Some other data, which previously was not sorted, is sorted now.
- In headless capture mode sorting will be only performed when the trace
is saved to disk.
- Fixed some typos in macros.
- Fixed handling of non-ANSI file names on Windows. You can now name your
traces 'ęśąćż.tracy' and it should work as intended. This is supported on
Windows 10 release 1903 and newer.
- Fixed sending GPU context name in on-demand mode.
- Fixed color channel order in ZoneColor() macro.
- Handle failure state when a memory pointer allocation is reported twice,
without an intermediate free.
- Renamed "call stack parents" to "entry call stacks".
- Display number of entry call stacks in assembly line sample count tooltip.
- Added tooltips with preview of source code in various places in the UI.


v0.7.6 (2021-02-06)
-------------------

- Various fixes in build scripts.
- Fixed a faulty rpmalloc initialization path when the first thing the
thread did was sending a message with call stack.
- Added fallback timer define for various virtualized environments, which
may not be able to access the hardware timer registers. This will result
in usage of timer provided by the standard library, with reduced
resolution.
- Further OpenCL improvements.
- Updated libbacktrace.
- Adds Mach-O 64-bit FAT support.
- Fixes memory corruption when processing Mach-O data.
- Fixes missing matching entries during binary search.
- Adds support for MiniDebugInfo.
- Adds fallback to ELF symbol table if no debug info is available.
- Various other fixes.
- Store build time of profiled program in captures.
- GPU contexts can be now named.
- Implemented client -> server source code transfer.


v0.7.5 (2021-01-23)
-------------------

- More robust handling of system tracing on Android.
- Added warning dialog when the connection is lost before all needed data
can be retrieved.
- Fixed handling of NaN plot entries (by skipping them).
- Dynamic zone colors are now supported through the ZoneColor() macro.
- Fixed Arm machine code printout to match the one printed by objdump.
- Fixed client memory corruption when using colored messages.
- Switched to the next-gen ImGui table UI.
- Table columns can have their order rearranged, can be hidden, can be
sorted both in ascending and descending order (where appropriate).
- Table columns state is now preserved between runs.
- Various fixes related to restricting listening to localhost.
- Improved compatibility of ETW tracing with non-MSVC compilers.
- Fixed Vulkan call stack transfer.
- Added support for transient GPU zones (OpenGL, Vulkan, Direct3D 12).
- OpenCL fixes for assert-less builds and non-active zones.
- Added support for thread names and title bar description in traces
imported from chrome tracing format.


v0.7.4 (2020-11-15)
-------------------

- Added support for user-provided locks to keep dbghelp calls thread-safe.
- Call stacks can be now copied to clipboard.
- Allow more control over which automated captures are performed.
- Added textual descriptions for some assembly instructions.
- Profiler memory usage is now also displayed as a percentage of available
physical memory.
- Microarchitecture mismatch is now clearly displayed in the source view
window.
- Added Zen 3 and Cascade Lake microarchitectural data.
- Ghost zones are now supporting all zone coloring modes and namespace
shortening.
- Extend C API to support memory pools.
- Frame rate targets can be now visually represented on the timeline view.


v0.7.3 (2020-10-06)
-------------------

- Properly support DPI scaling on Linux (requires GLFW 3.3).
- Added early checks for output file validity in the capture utility.
- Improvements to presence broadcast handling.
- Custom zone colors can be optionally ignored.
- Added support for tracking multiple memory pools.
- Memory free failure dialog can now show call stack pointing to the failure
location.
- Added support for Wayland on Linux.
- 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.


v0.7.2 (2020-09-14)
-------------------

- Note: the bitbucket repository is obsolete and will soon stop receiving
updates. Migrate to https://github.com/wolfpld/tracy, if you haven't
already.
- The "waiting for connection" dialog no longer has "cancel" button. To
abort connection attempt just use the "close window" button.
- Added update notification.
- The most recent traced events can be now viewed regardless of timeline
zoom level.
- Fixed going-to-line in source view (again).
- Crash handling on client is now not performed, if there is no active
connection.
- Added ability to listen only on IPv4 interfaces.


v0.7.1 (2020-08-24)
-------------------

- Dropped support for pre-v0.6 traces.
- Fixed regression on non-AVX2 CPUs.
- Fixed incorrect calculation of some ghost zones.
- Added list of cached source files.
- Added import of plot data.
- Secure versions of alloc/free macros.
- Automated tracing of vertical synchronization on Windows.
- Fixed attachment of postponed frame images.
- Source location data can be now copied to clipboard from zone info window.
- Zones in find zones menu can be now grouped by zone name.
- Vulkan and D3D12 GPU contexts can be now calibrated.
- Added CSV export utility.
- "Go to frame" popup no longer has a dedicated button. To show it, click on
the frame counter.
- Added macro for checking if profiler is connected.
- Implemented optional data removal from traces in the update utility.
- Allow manual management of profiler lifetime.
- Adjusted priority of ETW threads to time critical.
- Annotations can be now freely adjusted on the timeline.
- Limiting time range for find zone functionality has been significantly
improved.
- Added time range limits for statistics and symbol view.
- Implemented call stack sampling on Linux (including Android).
- Exact time from start of profiling session can be now viewed by hovering
the mouse over the time scale.
- Code transfer can be now compiled-out.
- Added support for zone markup in unloadable modules.
- Added image name filter to sampling statistics results window.


v0.7 (2020-06-11)
-----------------

Expand Down Expand Up @@ -67,6 +228,7 @@ update utility to convert your old traces now!
- OpenCL profiling.
- Direct3D 12 profiling.


v0.6.3 (2020-02-13)
-------------------

Expand All @@ -87,6 +249,7 @@ v0.6.3 (2020-02-13)
- Frame images are now internally compressed using Zstd (instead of LZ4).
- Fix display of continuous frame set tooltips.


v0.6.2 (2019-12-30)
-------------------

Expand All @@ -101,6 +264,7 @@ v0.6.2 (2019-12-30)
- Highlight hovered zone from find zone menu zone list on the histogram.
- Allow copying user data directory location to the clipboard.


v0.6.1 (2019-11-28)
-------------------

Expand All @@ -112,6 +276,7 @@ v0.6.1 (2019-11-28)
- Client parameters may be now set from the server.
- Minor UI fixes.


v0.6 (2019-11-17)
-----------------

Expand Down Expand Up @@ -171,6 +336,7 @@ update utility to convert your old traces now!
- Implemented configuration of plots.
- Messages can now collect call stacks.


v0.5 (2019-08-10)
-----------------

Expand Down Expand Up @@ -258,6 +424,7 @@ update utility to convert your old traces now!
- GPU drift value can be now automatically measured.
- Connection window is now a popup hidden under a dedicated button.


v0.4.1 (2018-12-30)
-------------------

Expand Down Expand Up @@ -285,6 +452,7 @@ v0.4.1 (2018-12-30)
- Pressing enter key after entering client address in the welcome dialog
will now automatically begin connection process.


v0.4 (2018-10-09)
-----------------

Expand Down
Loading

0 comments on commit 1930f6a

Please sign in to comment.