mockforge-observability 0.3.21

Observability features for MockForge including Prometheus metrics, OpenTelemetry tracing, and recording
Documentation
[package]
name = "mockforge-observability"
version = "0.3.21"
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Observability features for MockForge including Prometheus metrics, OpenTelemetry tracing, and recording"
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
# Previously internal, now published to crates.io

[dependencies]
# Prometheus metrics (updated to 0.14+ to fix protobuf vulnerability RUSTSEC-2024-0437)
prometheus = { version = "0.14", features = ["process"] }

# Async runtime
tokio = { version = "1.48", features = ["full"] }

# HTTP server for metrics endpoint
axum = "0.8"

# Utilities
once_cell = "1.19"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "json", "env-filter"] }
tracing-appender = "0.2"

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# System metrics collection
sysinfo = { version = "0.37", optional = true }

# OpenTelemetry tracing (optional)
tracing-opentelemetry = { version = "0.22", optional = true }

# MockForge tracing integration (optional)
mockforge-tracing = { version = "0.3.21", optional = true }

[features]
default = ["sysinfo"]
sysinfo = ["dep:sysinfo"]
opentelemetry = ["dep:tracing-opentelemetry", "mockforge-tracing"]
mockforge-tracing = ["dep:mockforge-tracing"]

[dev-dependencies]
tokio-test = "0.4"