rocketmq-observability 1.0.0

Observability support for rocketmq-rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.95.0"
name = "rocketmq-observability"
version = "1.0.0"
authors = ["mxsm <mxsm@apache.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Observability support for rocketmq-rust"
homepage = "https://github.com/mxsm/rocketmq-rust"
readme = "README.md"
keywords = [
    "apache-rocketmq",
    "rocketmq-rust",
    "rocketmq-rs",
    "rust",
    "rocketmq-client",
]
license = "Apache-2.0"
repository = "https://github.com/mxsm/rocketmq-rust"

[features]
default = []
observability = [
    "otel-metrics",
    "otel-traces",
]
otel-logs = [
    "dep:opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-appender-tracing",
    "opentelemetry/logs",
    "opentelemetry_sdk/logs",
]
otel-metrics = [
    "dep:opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:smallvec",
    "opentelemetry/metrics",
    "opentelemetry_sdk/metrics",
    "opentelemetry_sdk/rt-tokio",
]
otel-traces = [
    "dep:opentelemetry",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-semantic-conventions",
    "dep:tracing-opentelemetry",
    "opentelemetry/trace",
    "opentelemetry_sdk/trace",
]
otlp-grpc = [
    "dep:opentelemetry-otlp",
    "dep:tonic",
    "opentelemetry-otlp/grpc-tonic",
]
otlp-logs = [
    "otel-logs",
    "otlp-grpc",
    "opentelemetry-otlp/logs",
]
otlp-metrics = [
    "otel-metrics",
    "otlp-grpc",
    "opentelemetry-otlp/metrics",
]
otlp-traces = [
    "otel-traces",
    "otlp-grpc",
    "opentelemetry-otlp/trace",
]
prometheus = [
    "otel-metrics",
    "dep:opentelemetry-prometheus",
    "dep:prometheus",
]
stdout = []

[lib]
name = "rocketmq_observability"
path = "src/lib.rs"

[[example]]
name = "broker_metrics"
path = "examples/broker_metrics.rs"

[[example]]
name = "logging_bootstrap"
path = "examples/logging_bootstrap.rs"

[[test]]
name = "architecture_guards"
path = "tests/architecture_guards.rs"

[[test]]
name = "config_resolution"
path = "tests/config_resolution.rs"

[[test]]
name = "error_compat"
path = "tests/error_compat.rs"

[[test]]
name = "log_filter_resolution"
path = "tests/log_filter_resolution.rs"

[[test]]
name = "logging_bootstrap_guards"
path = "tests/logging_bootstrap_guards.rs"

[[test]]
name = "metric_catalog_contract"
path = "tests/metric_catalog_contract.rs"

[[test]]
name = "production_readiness_contract"
path = "tests/production_readiness_contract.rs"

[[test]]
name = "public_api_contract"
path = "tests/public_api_contract.rs"

[[test]]
name = "telemetry_handle"
path = "tests/telemetry_handle.rs"

[[bench]]
name = "observability_hot_path"
path = "benches/observability_hot_path.rs"
harness = false

[[bench]]
name = "observability_prometheus_lifecycle_bench"
path = "benches/observability_prometheus_lifecycle_bench.rs"
harness = false
required-features = ["prometheus"]

[dependencies.anyhow]
version = "1.0.103"

[dependencies.cheetah-string]
version = "3.1.0"
features = [
    "serde",
    "bytes",
    "simd",
]

[dependencies.chrono]
version = "0.4.45"

[dependencies.chrono-tz]
version = "0.10.4"

[dependencies.dashmap]
version = "6.2.1"

[dependencies.iana-time-zone]
version = "0.1.64"

[dependencies.opentelemetry]
version = "0.33"
features = ["metrics"]
optional = true

[dependencies.opentelemetry-appender-tracing]
version = "0.33"
optional = true
default-features = false

[dependencies.opentelemetry-otlp]
version = "0.33"
optional = true
default-features = false

[dependencies.opentelemetry-prometheus]
version = "0.33"
optional = true
default-features = false

[dependencies.opentelemetry-semantic-conventions]
version = "0.33"
optional = true

[dependencies.opentelemetry_sdk]
version = "0.33"
features = [
    "metrics",
    "rt-tokio",
]
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.prometheus]
version = "0.14"
optional = true
default-features = false

[dependencies.rocketmq-error]
version = "1.0.0"

[dependencies.rocketmq-model]
version = "1.0.0"

[dependencies.rocketmq-runtime]
version = "1.0.0"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.11"

[dependencies.smallvec]
version = "1.13"
optional = true

[dependencies.thiserror]
version = "2.0.18"

[dependencies.time]
version = "0.3.47"

[dependencies.tokio]
version = "1.52"
features = [
    "fs",
    "io-std",
    "io-util",
    "macros",
    "net",
    "process",
    "rt-multi-thread",
    "signal",
    "sync",
    "time",
]

[dependencies.tokio-util]
version = "0.7.18"
features = [
    "codec",
    "compat",
    "io-util",
    "net",
    "rt",
    "time",
]

[dependencies.tonic]
version = "0.14.1"
optional = true
default-features = false

[dependencies.tracing]
version = "0.1.44"

[dependencies.tracing-appender]
version = "0.2.5"

[dependencies.tracing-log]
version = "0.2.0"

[dependencies.tracing-opentelemetry]
version = "0.34"
optional = true
default-features = false

[dependencies.tracing-subscriber]
version = "0.3.23"
features = [
    "time",
    "env-filter",
    "json",
    "registry",
    "tracing-log",
]

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]