Tracing chrome span names (#979)
* Update tracing-chrome to 0.3.0 * bevy_log: Add fields to span names for tracing-chrome * Conditionally import tracing_subscriber modules based on feature
This commit is contained in:
		
							parent
							
								
									c097af49f3
								
							
						
					
					
						commit
						59010caff5
					
				| @ -18,7 +18,7 @@ bevy_app = { path = "../bevy_app", version = "0.3.0" } | |||||||
| bevy_utils = { path = "../bevy_utils", version = "0.3.0" } | bevy_utils = { path = "../bevy_utils", version = "0.3.0" } | ||||||
| 
 | 
 | ||||||
| tracing-subscriber = {version = "0.2.15", features = ["registry"]} | tracing-subscriber = {version = "0.2.15", features = ["registry"]} | ||||||
| tracing-chrome = { version = "0.2.0", optional = true }  | tracing-chrome = { version = "0.3.0", optional = true } | ||||||
| 
 | 
 | ||||||
| [target.'cfg(target_os = "android")'.dependencies] | [target.'cfg(target_os = "android")'.dependencies] | ||||||
| android_log-sys = "0.2.0" | android_log-sys = "0.2.0" | ||||||
|  | |||||||
| @ -12,6 +12,8 @@ pub use bevy_utils::tracing::{ | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| use bevy_app::{AppBuilder, Plugin}; | use bevy_app::{AppBuilder, Plugin}; | ||||||
|  | #[cfg(feature = "tracing-chrome")] | ||||||
|  | use tracing_subscriber::fmt::{format::DefaultFields, FormattedFields}; | ||||||
| use tracing_subscriber::{prelude::*, registry::Registry, EnvFilter}; | use tracing_subscriber::{prelude::*, registry::Registry, EnvFilter}; | ||||||
| 
 | 
 | ||||||
| /// Adds logging to Apps.
 | /// Adds logging to Apps.
 | ||||||
| @ -55,7 +57,20 @@ impl Plugin for LogPlugin { | |||||||
|             let subscriber = subscriber.with(fmt_layer); |             let subscriber = subscriber.with(fmt_layer); | ||||||
|             #[cfg(feature = "tracing-chrome")] |             #[cfg(feature = "tracing-chrome")] | ||||||
|             { |             { | ||||||
|                 let (chrome_layer, guard) = tracing_chrome::ChromeLayerBuilder::new().build(); |                 let (chrome_layer, guard) = tracing_chrome::ChromeLayerBuilder::new() | ||||||
|  |                     .name_fn(Box::new(|event_or_span| match event_or_span { | ||||||
|  |                         tracing_chrome::EventOrSpan::Event(event) => event.metadata().name().into(), | ||||||
|  |                         tracing_chrome::EventOrSpan::Span(span) => { | ||||||
|  |                             if let Some(fields) = | ||||||
|  |                                 span.extensions().get::<FormattedFields<DefaultFields>>() | ||||||
|  |                             { | ||||||
|  |                                 format!("{}: {}", span.metadata().name(), fields.fields.as_str()) | ||||||
|  |                             } else { | ||||||
|  |                                 span.metadata().name().into() | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     })) | ||||||
|  |                     .build(); | ||||||
|                 app.resources_mut().insert_thread_local(guard); |                 app.resources_mut().insert_thread_local(guard); | ||||||
|                 let subscriber = subscriber.with(chrome_layer); |                 let subscriber = subscriber.with(chrome_layer); | ||||||
|                 bevy_utils::tracing::subscriber::set_global_default(subscriber) |                 bevy_utils::tracing::subscriber::set_global_default(subscriber) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Robert Swain
						Robert Swain