[package]
name = "feagi-observability"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Unified observability infrastructure for FEAGI (logging, telemetry, profiling)"
[dependencies]
tracing = "0.1"
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt", "std", "registry"] }
tracing-appender = { version = "0.2", optional = true }
anyhow = "1.0"
thiserror.workspace = true
prometheus = { version = "0.13", optional = true }
chrono = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
parking_lot = "0.12"
opentelemetry = { version = "0.21", optional = true }
opentelemetry_sdk = { version = "0.21", optional = true }
opentelemetry-otlp = { version = "0.14", optional = true }
tracing-opentelemetry = { version = "0.21", optional = true }
tracing-chrome = { version = "0.6", optional = true }
pprof = { version = "0.12", optional = true }
[features]
default = []
file-logging = ["dep:tracing-appender"]
metrics = ["dep:prometheus"]
opentelemetry = [
"dep:opentelemetry",
"dep:opentelemetry_sdk",
"dep:opentelemetry-otlp",
"dep:tracing-opentelemetry"
]
profiling = ["dep:tracing-chrome", "dep:pprof"]