|new 3.2.3||Aug 12, 2022|
|3.2.2||Jul 15, 2022|
|3.2.1||Jun 30, 2022|
|3.2.0||Oct 27, 2021|
|1.0.1||Dec 22, 2020|
#120 in Database interfaces
656 downloads per month
Elastic APM tracing layer. Uses the native ingest API.
Create a new tracing Layer:
let layer = tracing_elastic_apm::new_layer( "ServiceName".to_string(), // remember to use desired protocol below, e.g. http:// tracing_elastic_apm::Config::new("APM address".to_string()) )?;
Register the layer:
tracing_subscriber::registry() .with(layer) .init();
Take a look at
Config for more configuration options.
default-tls(enabled by default) - use default TLS backend.
rustls-tls- use Rustls TLS backend.
Please see corresponding flags in the
reqwest library for more information:
APM doesn't support the notion of idle time and only tracks actual span durations. Async code naturally interleaves spans at await points, which means span start time + duration might be lower than actual span end time as measured by a wall clock. That in turn means child spans in APM might sometimes start after the parent span start time + duration.