| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688 |
- Note: There is no guarantee that version mismatched client and server will
- be able to talk with each other. Network protocol breakages won't be listed
- here.
- 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.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)
- -----------------
- This is the last release which will be able to load pre-v0.6 traces. Use the
- update utility to convert your old traces now!
- - chrome:tracing importer now imports zone metadata from "args" key.
- - Added display of statistical mode to find zone menu.
- - Automatic stack sampling is now available on windows.
- - Properly handle tracing on long-running systems.
- - Message list entries can now show associated frame image.
- - Call stack window will now display module names.
- - Symbol location in call stack window may now also display symbol address.
- - Statistics menu can now be used to display call stack sampling data or
- list available symbols.
- - All call paths leading to the sampled instruction in a call stack can be
- now displayed.
- - Frame image compression ratio (lossless in-memory compression, not taking
- into account DXT compression) is displayed in playback window.
- - Allow reconnection straight from the discard data dialog.
- - Added ability to set custom names for locks.
- - Improved handling of network ports.
- - Added time percentage display to instrumentation statistics.
- - Display of ghost zones (generated from automated call stack sampling).
- - Notify when empty labels display is enabled.
- - Small fragments of executable code will be now sent from client to server.
- - Added notification about query backlog.
- - Fixed performance problem with query backlog.
- - Display number of in-flight queries, in addition to query backlog.
- - Improved failure reports.
- - The capture utility will connect to localhost by default.
- - Added optional support for QPC timer on windows.
- - Complete rewrite of source file viewer. It is now 100% reliable when going
- to a source location.
- - Symbol source view was added.
- - Extension of source file viewer.
- - Can display source file, assembly view, or both at the same time.
- - May include display of statistical profiling data.
- - Ability to switch between source files which were used to build the
- symbol.
- - Ability to switch between inlined functions which are incorporated into
- the symbol.
- - Graphical representation of control flow in program.
- - Display of micro-architectural data for each assembly instruction.
- - Tracking register dependencies between assembly instructions.
- - Disassembly may be saved to a file, in order to be processed by external
- tools.
- - If the default listening port is occupied, profiler will now try listening
- on other ports.
- - Added possibility to perform source file names substitution.
- - Profiler windows can be now docked.
- - CPU usage tooltip now displays a list of running threads.
- - Added possibility to filter discovered clients list.
- - Source files are now cached during capture.
- - Profiler will now display a popup when application crashes.
- - Added ability to send simple integral values as extra payload for zones.
- - Per-frame zone times on the frames plot can now display self time.
- - Ability to bind only on localhost interface.
- - OpenCL profiling.
- - Direct3D 12 profiling.
- v0.6.3 (2020-02-13)
- -------------------
- - Fixed performance issues with loading saved traces on Ryzen CPUs.
- - Profiler window contents are now properly updated during window resize.
- - Improved tid to pid mapping on windows.
- - Zero length and unfinished zones are no longer taken into account for
- statistics.
- - Build files for shared library are now available (experimental).
- - GPU zones now also have "active" parameter.
- - Further reduction of memory usage and on-disk trace size.
- - Replaced ska::flat_hash_map with robin-hood-hashing.
- - Speed-up rendering of long lists of items.
- - Exact event time is displayed in some places in the UI.
- - Memory allocation lists can now be sorted.
- - Added display of trace file compression ratio.
- - Optional Zstd compression of trace files.
- - Frame images are now internally compressed using Zstd (instead of LZ4).
- - Fix display of continuous frame set tooltips.
- v0.6.2 (2019-12-30)
- -------------------
- - Improved call stack decoding on OSX.
- - Collection of CPU topology data.
- - C API now supports allocated source locations.
- - Added chrome:tracing importer.
- - Allow merging of ZoneText() strings.
- - Time distribution can now show both exclusive and inclusive times.
- - Display proper value of selection time in find zone menu.
- - Implemented limiting find zone search to a specified time range.
- - 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)
- -------------------
- - Dropped support for pre-v0.5 traces.
- - Improve BSD support.
- - GPU zone CPU thread highlight will now highlight whole thread, not only
- the thread name.
- - Added CPU thread highlight for CPU data items.
- - Client parameters may be now set from the server.
- - Minor UI fixes.
- v0.6 (2019-11-17)
- -----------------
- This is the last release which will be able to load pre-v0.5 traces. Use the
- update utility to convert your old traces now!
- - Dropped support for pre-v0.4 traces.
- - Major memory usage decrease.
- - Significant network bandwidth decrease.
- - Implemented context switch capture on selected platforms.
- - Zone timings in various UI places can now take into account only the
- time when the thread was executing.
- - Zone information window can now display regions in which thread was
- suspended by the operating system.
- - CPUs on which the zone was running are enumerated.
- - Thread activity regions can be graphed on the timeline.
- - API breakage: SetThreadName() now only works on current thread.
- - Fixed thread name retrieval after thread is destroyed.
- - Added number of CPU cores to host info.
- - Limited number of possible source locations to 64K.
- - Limited supported capture length to 1.6 days.
- - CPU cores are now displayed on the timeline.
- - Thread execution workload is displayed, including threads from external
- programs.
- - Thread migrations across CPU cores can be graphed.
- - System-wide workload distribution is now plotted on the timeline.
- - Added "CPU data" window showing programs competing for CPU during the
- capture.
- - Switched to using native thread identifiers (relatively small numbers), as
- opposed to pthreads identifiers, which in reality were pointers.
- - Improved thread name discovery if context switch capture is enabled.
- - Per-trace state is now preserved between profiling sessions:
- - Timeline view position.
- - Item categories draw/hide settings.
- - Timeline zones will be highlighted using a different color, when a
- matching time range is selected on histogram.
- - Per-frame zone times are now displayed on the frames plot when a zone is
- selected in the find zone menu.
- - Zone color is now displayed in zone information window.
- - Zone colors can now be determined basing on depth and thread or source
- location.
- - Thread colors are displayed across the profiler application.
- - Frame times can be now compared.
- - Expose more lock handling functionality.
- - Network port can be now specified by the user.
- - Proper handling of multithreaded Vulkan code.
- - Added extreme compression level in update utility.
- - Added time distribution data in the zone information window.
- - Trace file name is now displayed in trace information window.
- - Annotations can be now added to the timeline.
- - Server now performs network data retrieval and decompression on a dedicated
- thread.
- - Added examples of Tracy integration.
- - Allow grouping of zones in the find zone menu by zone parent or with no
- grouping.
- - Zone list in the statistics window can be now filtered.
- - Implemented configuration of plots.
- - Messages can now collect call stacks.
- v0.5 (2019-08-10)
- -----------------
- This is the last release which will be able to load pre-v0.4 traces. Use the
- update utility to convert your old traces now!
- - Major decrease of trace dump file size.
- - Major optimizations across the board.
- - Vcpkg is now used for library management on Windows.
- - Display dump file size change in the update utility.
- - Added notification area.
- - Display trace loading time.
- - Display background processing tasks after trace is loaded.
- - Display trace save notification.
- - Show crash icon, if there was a crash.
- - Added C API.
- - Profiling session may now gracefully terminate, due to incorrect
- instrumentation. A popup with termination reason will be displayed.
- - Call stack improvements.
- - Call stack frames now have a proper source file and file line
- information on Linux.
- - Single call stack frame may now have multiple entries, representing
- inlined function calls.
- - Call stack grouping in the find zone menu now has a special display
- mode.
- - Call stack memory allocations tree improvements:
- - Add top-down variant to complement the previously available bottom-up
- one.
- - Add ability to group tree nodes by function name.
- - Allow restricting tree to display only active allocations.
- - Added support for Lua call stack capture.
- - Self time of zones may be now displayed in the find zone menu.
- - Added ability to disconnect from a client.
- - Find zone groups can now be sorted by mean time per call.
- - Zones displayed in the find zone menu can be now grouped by order of
- appearance, execution time or name.
- - Time is now displayed without trailing fractional zeros (e.g. "2.5 ms"
- instead of "2.50 ms").
- - Child zones displayed in zone info window can be now grouped by source
- location.
- - Selected or hovered lock is now highlighted on the timeline.
- - Locks are now grouped into single and multithreaded (contended and
- uncontended) in the options menu locks list.
- - On broken platforms the profiler can now be initialized as needed (and
- possible), taking a performance and functionality hit.
- - User experience improvements in the graphical profiler.
- - Thread position and height is now animated, to eliminate flickering that
- was happening when depth of displayed zones was changing.
- - Zooming in/out using the mouse wheel is now animated.
- - Plot range adjustment is now animated.
- - Various other UI improvements.
- - System CPU usage is now being monitored.
- - Threads that have nothing to display in the current view are now hidden by
- default.
- - Dimmed-out the timeline outside the profiling area.
- - Source file view can now be opened also from statistics menu.
- - Display standard deviation in find zone and compare traces menus.
- - Display zone messages in zone information window.
- - Display order of threads can be changed in the options menu.
- - Prevent deadlocks by querying socket send buffer size.
- - Frame set statistics can be now limited to frames visible on the screen.
- - Messages can be now colored.
- - Zone selection in compare traces menu can be now linked to the other
- trace.
- - Added support for frame image (screen shot) storage.
- - Implemented ability to cut off outliers on histograms.
- - Zone or frame that is currently hovered by the mouse cursor will be
- highlighted on the histogram.
- - Server now displays available clients in the local network.
- - Source code whitespace visibility can now be enabled or disabled.
- - Profiler will now check if proper timer readings can be performed on
- x86/x64.
- - Application can now log app-specific information, similarly to how the
- host info reports system information.
- - Message list will automatically scroll down to the most recent message.
- - Feature will disable when the list is scrolled by user.
- - To re-enable, scroll to the bottom of the list.
- - Message list can be now filtered.
- - A notification popup will be displayed during trace cleanup.
- - Source file view won't be available if a source file is newer than the
- capture.
- - Added ability to set custom trace descriptions.
- - Added frame time target lines.
- - FPS counts are now displayed next to frame times.
- - 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)
- -------------------
- - Active frame set can be now switched by clicking on a frame set on the
- timeline.
- - Add ability to go to a specified frame.
- - Most commonly used addresses can be now selected from the drop-down menu.
- - Fixed corner case problem with profiler initialization on Windows.
- - Added third state (stopped) to the pause/resume button. It will be used
- after the connection to the client is terminated.
- - Active trace can be discarded.
- - Call stack capture may be forced through TRACY_CALLSTACK define.
- - Lock info window has been added.
- - Time of lock creation and termination is now being tracked.
- - Menu bar buttons are now toggles that can also close their corresponding
- windows.
- - Find zone and compare menu improvements.
- - Ability to ignore case during search.
- - Pressing enter key will now start search, just like pressing the "find"
- button.
- - Using the ^F keyboard shortcut will open the find zone menu and focus
- the input box.
- - Added ability to automatically connect to an IP address in the graphical
- profiler application (use "-a address" argument to enable).
- - Pressing enter key after entering client address in the welcome dialog
- will now automatically begin connection process.
- v0.4 (2018-10-09)
- -----------------
- - Renamed "standalone" utility to "profiler".
- - Added trace update utility, which will convert files saved in previous
- versions of tracy to be up-to-date.
- - Optional high compression (--hc) mode is available that will increase
- the compression level, at the cost of considerably longer compression
- time.
- - Fix regression causing varying size of profiler window for different
- captures.
- - Added support for on-demand tracing.
- - If a client application is compiled with the TRACY_ON_DEMAND macro
- defined, tracing will not begin until a connection to server is
- established.
- - Since data is not fully captured in this mode, the resulting trace will
- be less precise, until application state is appropriately reset. For
- example, locks need to be fully released, zone stacks need to be
- flushed. This is an automatic process.
- - All tracing macros are able to work in the on-demand mode.
- - Improved compatibility with various system setups.
- - Aside from using TRACY_NO_EXIT define you can also set the same-named
- environmental variable to 1 to get the same effect.
- - Added ability to show/hide all threads and plots.
- - Performance improvements.
- - Improvements to memory data presentation.
- - Added memory allocation info window.
- - Selecting memory allocation on a plot will draw time range of the
- allocation.
- - Middle clicking on an memory allocation address (or on a button in
- memory allocation info window) will zoom the view to the allocation
- range.
- - Find zone menu improvements:
- - Zones can be now also grouped by call stacks.
- - Zone groups can be now also sorted by time spend in each zone.
- - Zone groups list now displays group times.
- - Average and median zone times are now displayed on the histogram.
- - Selected zones will be highlighted on the timeline view.
- - Added named versions of tracing macros that allow specifying scoped
- variable name.
- - The main profiler window is now kept at the bottom of windows stack.
- - The "profiler" utility will now use a custom embedded font.
- - Microseconds are now displayed using correct symbol ('μ' instead of 'u').
- - Unix builds of the "profiler" utility will now ask for a file name when
- saving a trace.
- - Progress popup is now displayed when a trace file is loading.
- - Zones that share source location with a zone that is hovered over are now
- highlighted.
- - Added ability to zoom-in to a selection range made using middle mouse
- button.
- - Holding the ctrl key will switch to zoom-out mode.
- - The "profiler" utility will use less resources when its window is
- out-of-focus or minimized.
- - Added support for cross-DLL profiling.
- - Items in options menu (locks, threads, etc.) are now described with number
- of events.
- - Source location of lock declaration is also provided.
- - Created an extensive user manual for the profiler.
- - Added ability to capture multiple frame sets.
- - Viewer will display multiple frame ranges at once.
- - Only one frame set can be active at once. The selected one is used for
- the frame navigation graph, frame navigation buttons and drawing frame
- separators.
- - The active frame set will be highlighted, and the rest will be dimmed
- out.
- - Frames can now also be discontinuous.
- - Frames and zones too small to be displayed will be marked with a zig-zag
- pattern.
- - General improvements to message list and message markers.
- - Hovering over message on a list will highlight its marker (previously it
- only worked the other way).
- - Left clicking on a message marker will focus the message list on the
- selected message.
- - Middle clicking on a message marker will center it on screen.
- - Added trace information window.
- - This includes frame time statistics and histogram.
- - Displayed memory sizes are now properly formatted.
- - Added call stack tree for memory allocations.
- - You can display allocations list for each call stack tree entry.
- - The source code of the profiled application may now be viewed in the
- profiler.
- - BIG FAT WARNING: The actual profiled program source code is not known to
- the profiler. It only checks if there is a file on your disk that
- matches the file name of the captured source location. Even if the file
- is displayed, it may be out of date.
- - CPU and GPU zones will have "Source" button, if source file can be
- opened.
- - Source files for call stack traces can be opened by right-clicking on
- the file name. Since in this case there is no button that can be hidden,
- a small animation will be played to notify user if the source cannot be
- opened.
- - The main profiler view will now occupy the whole window. Previous behavior
- is still available for embedded use cases.
- - Many button labels are now accompanied by icons.
- - Fonts should now be less blurry.
- - "Go to parent" button in zone info window won't be displayed if there is
- no parent to go to.
- - Improvements to the compare traces menu.
- - There are now colored markers to make it easier to distinguish "this" and
- "external" traces.
- - The amount of saved time is now displayed (a difference between total
- run times of both traces).
- - Tracy will now collect host information, like CPU name, amount of system
- memory, etc.
- - Windows builds of the "profiler" utility will perform a check of supported
- CPU instruction set and match it against the one required by the binary
- (by default AVX2 is used). If the program cannot be executed on the
- processor, a message dialog with workaround instructions will be
- displayed.
- - Tracy can intercept crashes and finish sending data from a dying process.
- - Currently this is only implemented on Windows, Linux and Android.
- - Call stack window may now display addresses of the frames, instead of
- source file locations.
- - Memory events will now properly register their thread.
- - Profiler settings are now stored in a persistent location.
- - On Windows settings are stored in %APPDATA%/tracy.
- - On other platforms settings are stored in $XDG_CONFIG_HOME/tracy or
- $HOME/.config/tracy, if the variable is not set.
- - The main profiler window position, size and maximized state are saved
- and restored.
- - The size and position of internal windows now doesn't depend on the
- runtime directory of the profiler executable.
- - Added connection handshake.
- - Server won't be able to connect to client if there's a protocol version
- mismatch.
- - Client not in on-demand mode will refuse connections after the first
- connection was made and the initial event buffers were cleared.
- - A single server will no longer try to connect to multiple clients.
- - The capture utility will now display time span of the ongoing capture.
- v0.3.3 (2018-07-03)
- -------------------
- - Breaking change: the format of trace files has changed.
- - Previous tracy version will crash when trying to open new traces.
- - Loading of traces saved by previous version is supported.
- - Tracy will no longer crash when trying to load traces saved by future
- versions. Instead, a dialog advising to update will be displayed.
- - Tracy will no longer crash in most cases when trying to open files that
- are not traces. Some crashes are still possible, due to support of old,
- header-less traces.
- - Ability to track every memory allocation in profiled program.
- - Allocation event queuing must be done in order, which requires exclusive
- access to the serialized queue on the client side. This has no effect on
- the rest of events, which are stored in a concurrent queue, as before.
- - You can search for a memory address and see where it was allocated, for
- how long, etc. This lists all matching allocations since the program was
- started.
- - All active (non-freed) allocations may be listed. This shows the current
- memory state by default, but can go back to any point in time.
- - Graphical representation of process memory map may be displayed. New
- allocations/frees are displayed in a bright color and fade out with
- time. This feature also can look back in time.
- - Memory usage plot is automatically generated.
- - Basic allocation information is displayed in memory plot tooltips.
- - A summary of memory events within a zone (and its children) is now
- printed in zone info window.
- - Support loading profile dumps with no memory allocation data (generated by
- v0.2).
- - Added ability to display global statistics of a selected zone from the
- zone info window.
- - Fixed regression with lock announce processing that appeared during
- worker/viewer split.
- - Allow selecting/unselecting all locks for display.
- - Performance improvements.
- - Don't save unneeded lock information in trace file.
- - Don't save thrash in message list data.
- - Allow expanding view span up to one hour, instead of one minute.
- - Added trace comparison window.
- - An external trace has to be loaded first.
- - Zone query in both traces (current and external).
- - Both results are overlaid on the same histogram.
- - Graphs can be adjusted as-if there was the same number of zones
- collected.
- - Read time directly from a hardware register on ARM/ARM64, if possible.
- - User-space access to the timer needs to be enabled in the kernel, so
- tracy will perform run-time checks and fallback to the old method if the
- check fails.
- - Prevent connections in a TIME-WAIT state from blocking new listen
- connections.
- - Display y-range of plots.
- - Added ability to unload traces loaded from files. To do so close the main
- profiler window. You will return to the connect/open selection dialog.
- Live captures cannot be terminated this way.
- - Zones previously displayed in zone info window are remembered and you can
- go back to them. Closing the zone info window or switching between CPU and
- GPU zones will clear the memory.
- - Improved message list window.
- - Messages are now displayed in columns.
- - Originating thread of each message is now included in the list.
- - Messages can be filtered by the originating thread.
- - You can now navigate to next and previous frame.
- - Zone statistics can be now displayed using only self times.
- - Support for tracing GPU events using Vulkan.
- - Timeline will now display "OpenGL context" or "Vulkan context" instead of
- "GPU context".
- - Fixed regression causing invalid display of GPU context appearance time.
- - Fixed regression causing invalid reporting of an active CPU in zone end
- events, if MSVC rdtscp optimization was not enabled.
- - Ability to collect true call stacks.
- - Supported on Windows, Linux, Android.
- - The following events can collect call stacks:
- - Memory alloc/free.
- - Zone begin.
- - GPU zone begin.
- - Zone stack trace now also displays frames from a real call trace.
- - On Linux call stack frame name resolution requires a call to dladdr,
- which in turn requires linking with libdl.
- - Allow manual entry of GPU time drift value.
- - Unix build system no longer shares object files between different build
- units.
- - Fixes inability to build debug and release versions of a single utility
- without "make clean".
- - Fixes incompatibility between "standalone" and "capture" utilities due
- to different set of used feature flags.
- - On Windows "standalone" utility now adapts to system DPI setting.
- - Optional per-call zone naming.
- v0.2 (2018-04-05)
- -----------------
- - Fixed broken TRACY_NO_EXIT behavior.
- - Visual refresh (new color scheme).
- - Added optional support for live in-depth zone analysis.
- - Ability to search for zones matching a query.
- - Histogram of zone time spans.
- - List occurrences of a zone, grouped by thread, or by user text.
- - Zone groups can be selected and highlighted on histogram graph.
- - Support for linear and logarithmic display of time and values.
- - Histogram bins can show zone counts or total execution time.
- - Listed zones can be narrowed down by data range selection on histogram.
- - Separation of server data handling code from the visualisation.
- - Implementation of a command line capture utility.
- - Support libraries have been updated.
- - Fixed an issue that prevented de-duplication of source location payloads.
- - Fixed an issue that prevented the ability to disable threads in settings
- menu, if two threads had the same name.
- - Performance optimizations.
- - Visual clean up of the settings menu.
- - Zone info windows improvements.
- - Visual improvements to zone info window child list.
- - Zone info windows now show zone thread.
- - Display zone stack trace.
- - Hide pause/resume button if there's no data connection (i.e. trace was
- loaded from file).
- - Source location statistics view has been added.
- - Fixed crash when a saved trace was opened, but no trace capture session
- was performed before.
- - Standalone server will now open trace files passed as an argument to the
- executable.
- - Fix possible crash in SetThreadName, that could happen if TLS init was
- delayed until first use of thread local variable.
- - Store full thread name if pthreads (with 15 character name limit) are
- used.
- - Properly handle unaligned memory access (no performance impact).
- - Fixed broken lock identifiers in try_lock().
- v0.1 (2017-12-18)
- -----------------
- - Initial release.
|