mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 22:12:56 +00:00
Add new background job to collect billing metrics for each tenant and send them to the HTTP endpoint. Metrics are cached, so we don't send non-changed metrics. Add metric collection config parameters: metric_collection_endpoint (default None, i.e. disabled) metric_collection_interval (default 60s) Add test_metric_collection.py to test metric collection and sending to the mocked HTTP endpoint. Use port distributor in metric_collection test review fixes: only update cache after metrics were send successfully, simplify code disable metric collection if metric_collection_endpoint is not provided in config
86 lines
2.8 KiB
TOML
86 lines
2.8 KiB
TOML
[package]
|
|
name = "pageserver"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[features]
|
|
default = []
|
|
# Enables test-only APIs, incuding failpoints. In particular, enables the `fail_point!` macro,
|
|
# which adds some runtime cost to run tests on outage conditions
|
|
testing = ["fail/failpoints"]
|
|
|
|
profiling = ["pprof"]
|
|
|
|
[dependencies]
|
|
amplify_num = { git = "https://github.com/hlinnaka/rust-amplify.git", branch = "unsigned-int-perf" }
|
|
anyhow = { version = "1.0", features = ["backtrace"] }
|
|
async-stream = "0.3"
|
|
async-trait = "0.1"
|
|
byteorder = "1.4.3"
|
|
bytes = "1.0.1"
|
|
chrono = { version = "0.4.23", default-features = false, features = ["clock", "serde"] }
|
|
clap = { version = "4.0", features = ["string"] }
|
|
close_fds = "0.3.2"
|
|
const_format = "0.2.21"
|
|
crc32c = "0.6.0"
|
|
crossbeam-utils = "0.8.5"
|
|
fail = "0.5.0"
|
|
futures = "0.3.13"
|
|
git-version = "0.3.5"
|
|
hex = "0.4.3"
|
|
humantime = "2.1.0"
|
|
humantime-serde = "1.1.1"
|
|
hyper = "0.14"
|
|
itertools = "0.10.3"
|
|
nix = "0.25"
|
|
num-traits = "0.2.15"
|
|
once_cell = "1.13.0"
|
|
pin-project-lite = "0.2.7"
|
|
postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="43e6db254a97fdecbce33d8bc0890accfd74495e" }
|
|
postgres-protocol = { git = "https://github.com/neondatabase/rust-postgres.git", rev="43e6db254a97fdecbce33d8bc0890accfd74495e" }
|
|
postgres-types = { git = "https://github.com/neondatabase/rust-postgres.git", rev="43e6db254a97fdecbce33d8bc0890accfd74495e" }
|
|
pprof = { git = "https://github.com/neondatabase/pprof-rs.git", branch = "wallclock-profiling", features = ["flamegraph"], optional = true }
|
|
rand = "0.8.3"
|
|
regex = "1.4.5"
|
|
rstar = "0.9.3"
|
|
scopeguard = "1.1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = { version = "1.0", features = ["raw_value"] }
|
|
serde_with = "2.0"
|
|
signal-hook = "0.3.10"
|
|
svg_fmt = "0.4.1"
|
|
tar = "0.4.33"
|
|
thiserror = "1.0"
|
|
tokio = { version = "1.17", features = ["process", "sync", "macros", "fs", "rt", "io-util", "time"] }
|
|
tokio-postgres = { git = "https://github.com/neondatabase/rust-postgres.git", rev="43e6db254a97fdecbce33d8bc0890accfd74495e" }
|
|
tokio-util = { version = "0.7.3", features = ["io", "io-util"] }
|
|
toml_edit = { version = "0.14", features = ["easy"] }
|
|
tracing = "0.1.36"
|
|
url = "2"
|
|
walkdir = "2.3.2"
|
|
|
|
metrics = { path = "../libs/metrics" }
|
|
pageserver_api = { path = "../libs/pageserver_api" }
|
|
postgres_connection = { path = "../libs/postgres_connection" }
|
|
postgres_ffi = { path = "../libs/postgres_ffi" }
|
|
pq_proto = { path = "../libs/pq_proto" }
|
|
remote_storage = { path = "../libs/remote_storage" }
|
|
storage_broker = { version = "0.1", path = "../storage_broker" }
|
|
tenant_size_model = { path = "../libs/tenant_size_model" }
|
|
utils = { path = "../libs/utils" }
|
|
workspace_hack = { version = "0.1", path = "../workspace_hack" }
|
|
reqwest = "0.11.13"
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.4"
|
|
hex-literal = "0.3"
|
|
tempfile = "3.2"
|
|
|
|
[[bench]]
|
|
name = "bench_layer_map"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "bench_walredo"
|
|
harness = false
|