[[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"