bevy/crates
Robert Swain 064af63400 Add trace_tracy feature for Tracy profiling (#2832)
# Objective

[Tracy](https://github.com/wolfpld/tracy) is:
> A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.

With the `trace_tracy` feature enabled, you run your bevy app and either a headless server (`capture`) or a live, interactive profiler UI (`Tracy`), and connect that to your bevy application to then stream the metric data and events, and save it or inspect it live/offline.

Previously when I implemented the spans across systems and stages and I was trying out different profiling tools, Tracy was too unstable on macOS to use. But now, quite some months later, it is working stably with Tracy 0.7.8. You can see timelines, aggregate statistics of mean system/stage execution times, and much more. It's very useful!

![Screenshot_2021-09-15_at_18 07 19](https://user-images.githubusercontent.com/302146/133554920-350d3d45-fbb8-479f-91f7-7a7a4f9f5873.png)

## Solution

- Use the `tracing-tracy` crate which supports our tracing spans
- Expose via the non-default feature `trace_tracy` for consistency with other `trace*` features
2021-09-16 23:39:22 +00:00
..
bevy_app Doc warnings (#2577) 2021-09-14 22:46:18 +00:00
bevy_asset Doc warnings (#2577) 2021-09-14 22:46:18 +00:00
bevy_audio Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_core Nightly clippy fixes (#2702) 2021-09-09 16:41:21 +00:00
bevy_derive Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_diagnostic add get_history function to Diagnostic (#2772) 2021-09-06 19:16:08 +00:00
bevy_dylib Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_dynamic_plugin Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_ecs Doc warnings (#2577) 2021-09-14 22:46:18 +00:00
bevy_gilrs Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_gltf Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_input Add convenience methods for checking a set of inputs (#2760) 2021-09-01 21:21:41 +00:00
bevy_internal Add trace_tracy feature for Tracy profiling (#2832) 2021-09-16 23:39:22 +00:00
bevy_log Add trace_tracy feature for Tracy profiling (#2832) 2021-09-16 23:39:22 +00:00
bevy_macro_utils Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_math Update glam requirement from 0.17.3 to 0.18.0 (#2748) 2021-09-06 18:49:40 +00:00
bevy_pbr Doc warnings (#2577) 2021-09-14 22:46:18 +00:00
bevy_reflect Nightly clippy fixes (#2702) 2021-09-09 16:41:21 +00:00
bevy_render Derive thiserror::Error for HexColorError (#2740) 2021-08-30 21:56:13 +00:00
bevy_scene System Param Lifetime Split (#2605) 2021-08-15 20:51:53 +00:00
bevy_sprite Document collide args (#2721) 2021-08-24 18:07:51 +00:00
bevy_tasks Not me ... us (#2654) 2021-08-15 20:08:52 +00:00
bevy_text Replace .insert_resource(T::default()) calls with init_resource::<T>() (#2807) 2021-09-13 14:02:28 +00:00
bevy_transform Add builder methods to Transform (#2778) 2021-09-09 00:46:39 +00:00
bevy_ui unused deps? (#2809) 2021-09-16 09:37:12 +00:00
bevy_utils derive Debug, Clone for FixedState (StableAHash) (#2694) 2021-08-24 01:31:39 +00:00
bevy_wgpu Nightly clippy fixes (#2702) 2021-09-09 16:41:21 +00:00
bevy_window unused deps? (#2809) 2021-09-16 09:37:12 +00:00
bevy_winit Fix scale_factor_override in the winit backend (#2784) 2021-09-10 18:46:16 +00:00