[package]
name = "sz-orm-observability"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "SZ-ORM 鍙娴嬫€фā鍧楋細Prometheus exporter (TcpListener) + SLO 鐕冪儳锟?+ Grafana 浠〃鐩樻ā鏉匡紱OTLP 瀵煎嚭璇蜂娇锟?sz-orm-tracing 锟?otlp feature"
[features]
default = []
prometheus = []
push-gateway = ["reqwest"]
prod-metrics-acl = ["dep:base64", "dep:subtle"]
service-mesh = ["dep:sz-orm-limit"]
query-logging = ["dep:sz-orm-flamegraph", "dep:sz-orm-masking"]
anomaly-detection = []
anomaly-remediation-rca = ["anomaly-detection"]
[package.metadata.cargo-machete]
ignored = ['async-trait', 'chrono', 'sz-orm-core', 'sz-orm-limit', 'thiserror']
[dependencies]
sz-orm-core = { workspace = true }
tokio = { workspace = true }
async-trait = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
chrono = { workspace = true }
parking_lot = { workspace = true }
tracing = { workspace = true }
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "blocking"], optional = true }
base64 = { version = "0.22", optional = true }
subtle = { version = "2.5", optional = true }
sz-orm-limit = { version = "6.0.0", path = "../sz-orm-limit", optional = true }
sz-orm-flamegraph = { path = "../sz-orm-flamegraph", version = "6.0.0", optional = true }
sz-orm-masking = { path = "../sz-orm-masking", version = "6.0.0", optional = true }
[dev-dependencies]
tokio = { workspace = true }
[lib]
name = "sz_orm_observability"
path = "src/lib.rs"
[lints]
workspace = true
[[test]]
name = "service_mesh_test"
required-features = ["service-mesh"]