macro_rules! observable_setup {
(
service_name: $service_name:expr,
metrics_prefix: $metrics_prefix:expr,
otlp_endpoint: $otlp_endpoint:expr
$(, log_level: $log_level:expr)?
$(,)?
) => { ... };
(
metrics_prefix: $metrics_prefix:expr
$(,)?
) => { ... };
(
service_name: $service_name:expr,
metrics_prefix: $metrics_prefix:expr
$(,)?
) => { ... };
}Expand description
Simplifies observability stack initialization with a declarative syntax
ยงExamples
Basic setup with all features:
โ
use ash_rpc::observability::observable_setup;
let observability = observable_setup! {
service_name: "my-service",
metrics_prefix: "my_app",
otlp_endpoint: "http://jaeger:4317",
};Minimal setup with just metrics:
โ
let observability = observable_setup! {
metrics_prefix: "my_app",
};With custom logger:
โ
let observability = observable_setup! {
service_name: "my-service",
metrics_prefix: "my_app",
otlp_endpoint: env!("JAEGER_ENDPOINT"),
log_level: "debug",
};