- Add HTTP OTLP exporter (opentelemetry-otlp 0.31) via SdkTracerProvider + BatchSpanProcessor + tracing_opentelemetry layer - Add Prometheus /metrics handler via metrics-exporter-prometheus 0.13 - Replace slog with tracing throughout: HttpMetrics, TracingSpanMiddleware - Replace .init() with .try_init() to allow OTLP layer registration after init_tracing_subscriber() - otlp.rs: SpanExporter::builder().with_http().with_endpoint(), Resource::builder().with_service_name(), .with_attribute(KeyValue::new(...)) - prometheus_exporter.rs: install_recorder(), prometheus_handler(), spawn_http_metrics_poller()
41 lines
1.1 KiB
TOML
41 lines
1.1 KiB
TOML
[package]
|
|
name = "observability"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
description.workspace = true
|
|
repository.workspace = true
|
|
readme.workspace = true
|
|
homepage.workspace = true
|
|
license.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
documentation.workspace = true
|
|
|
|
[dependencies]
|
|
actix-web = { workspace = true }
|
|
futures = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
chrono = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
hostname = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tokio = { workspace = true, features = ["rt"] }
|
|
|
|
# Prometheus metrics export
|
|
metrics = "0.22"
|
|
metrics-exporter-prometheus = "0.13"
|
|
|
|
# OTLP tracing (Phase 6)
|
|
opentelemetry = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true }
|
|
opentelemetry-otlp = { workspace = true, features = ["reqwest"] }
|
|
opentelemetry-http = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|