pg_exporter 0.9.2

PostgreSQL metric exporter for Prometheus
Documentation
[[bin]]
name = "pg_exporter"
path = "src/bin/pg_exporter.rs"

[build-dependencies.built]
features = ["git2"]
version = "0.8.0"

[dependencies.anyhow]
version = "1.0"

[dependencies.axum]
features = ["tracing"]
version = "0.8.6"

[dependencies.base64]
version = "0.22.1"

[dependencies.chrono]
version = "0.4.42"

[dependencies.clap]
features = ["env"]
version = "4.5.48"

[dependencies.futures]
version = "0.3.31"

[dependencies.once_cell]
version = "1.21"

[dependencies.opentelemetry]
version = "0.31.0"

[dependencies.opentelemetry-http]
version = "0.31.0"

[dependencies.opentelemetry-otlp]
default-features = false
features = ["grpc-tonic", "gzip-tonic", "tls", "tls-roots", "trace"]
version = "0.31.0"

[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
version = "0.31.0"

[dependencies.prometheus]
version = "0.14.0"

[dependencies.regex]
version = "1.11.3"

[dependencies.secrecy]
version = "0.10"

[dependencies.serde]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sqlx]
features = ["ipnetwork", "postgres", "runtime-tokio", "tls-rustls", "uuid"]
version = "0.8.6"

[dependencies.sysinfo]
version = "0.37"

[dependencies.tokio]
features = ["full"]
version = "1.47.1"

[dependencies.tonic]
features = ["tls-native-roots"]
version = "0.14.2"

[dependencies.tower]
version = "0.5.2"

[dependencies.tower-http]
features = ["request-id", "set-header", "trace"]
version = "0.6.6"

[dependencies.tracing]
version = "0.1.41"

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

[dependencies.tracing-opentelemetry]
version = "0.32.0"

[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.20"

[dependencies.ulid]
version = "1.2.1"

[dependencies.url]
version = "2.5.7"

[dependencies.x509-parser]
version = "0.18"

[dev-dependencies.nix]
version = "0.30"

[dev-dependencies.prometheus]
version = "0.14"

[dev-dependencies.reqwest]
features = ["json"]
version = "0.12"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.temp-env]
version = "0.3"

[dev-dependencies.tokio]
features = ["full", "test-util"]
version = "1"

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

[lints.clippy]
all = "deny"
await_holding_lock = "deny"
complexity = "deny"
correctness = "deny"
expect_used = "deny"
indexing_slicing = "deny"
large_stack_arrays = "deny"
needless_borrow = "deny"
needless_collect = "deny"
panic = "deny"
pedantic = "deny"
perf = "deny"
suspicious = "deny"
unwrap_used = "deny"

[lints.clippy.nursery]
level = "allow"
priority = -1

[lints.rust]
warnings = "deny"

[package]
authors = ["Nicolas Embriz <nbari@tequila.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["command-line-utilities", "network-programming", "database"]
description = "PostgreSQL metric exporter for Prometheus"
documentation = "https://docs.rs/pg_exporter/latest/pg_exporter/"
edition = "2024"
keywords = ["postgresql", "prometheus", "metrics", "exporter", "observability"]
license = "BSD-3-Clause"
name = "pg_exporter"
readme = "README.md"
repository = "https://github.com/nbari/pg_exporter"
version = "0.9.2"

[package.metadata.deb]
assets = [["target/release/pg_exporter", "/usr/local/bin/pg_exporter", "755"], ["contrib/systemd/pg_exporter.service", "/etc/systemd/system/pg_exporter.service", "644"], ["contrib/systemd/pg_exporter.env.example", "/etc/pg_exporter/pg_exporter.env", "640"]]
depends = ""
maintainer-scripts = "contrib/debian"

[[package.metadata.generate-rpm.assets]]
dest = "/usr/local/bin/pg_exporter"
mode = "0755"
source = "target/release/pg_exporter"

[profile.release]
codegen-units = 1
lto = "fat"
strip = "symbols"

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

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

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

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

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

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

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