Closed michaeldjeffrey closed 2 months ago
Questions:
metrics
>=0.22
Add a timing span to anything that can be instrumented and returns a Result.
Example: ```ignore let client = GatewayClient::new(channel);
client.info(req) .with_timing("iot_fetch_info") .await?; ```
This will result in a prometheus metric
client_request_duration_seconds{name = "iot_fetch_info", quantile="xxx"}
Install the ApiTimingLayer.
ApiTimingLayer
Adding .with_span_events(FmtSpan::CLOSE) to a regular format layer will print the timing spans to stdout as well.
.with_span_events(FmtSpan::CLOSE)
Example: ignore tracing_subscriber::registry() .with(tracing_subscriber::fmt::layer().with_span_events(FmtSpan::CLOSE)) .with(metrics::client_requests::client_request_timing_layer("histogram_name")) .init();
ignore tracing_subscriber::registry() .with(tracing_subscriber::fmt::layer().with_span_events(FmtSpan::CLOSE)) .with(metrics::client_requests::client_request_timing_layer("histogram_name")) .init();
Remove unused install_metrics function, replace with nested install function that start_metrics delegates to. This allows us to start metrics in tests without needing to make a Settings struct.
install_metrics
install
start_metrics
Settings
Questions:
metrics
crate version than oracles?metrics
to latest api style and putting a>=0.22
on the dep.Add a timing span to anything that can be instrumented and returns a Result.
Example: ```ignore let client = GatewayClient::new(channel);
client.info(req) .with_timing("iot_fetch_info") .await?; ```
This will result in a prometheus metric
Install the
ApiTimingLayer
.Adding
.with_span_events(FmtSpan::CLOSE)
to a regular format layer will print the timing spans to stdout as well.Example:
ignore tracing_subscriber::registry() .with(tracing_subscriber::fmt::layer().with_span_events(FmtSpan::CLOSE)) .with(metrics::client_requests::client_request_timing_layer("histogram_name")) .init();
Remove unused
install_metrics
function, replace with nestedinstall
function thatstart_metrics
delegates to. This allows us to start metrics in tests without needing to make aSettings
struct.