mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-07 05:22:56 +00:00
## Problem We need to count metrics always when a connection is open. Not only when the transfer is 0. We also need to count bytes usage for HTTP. ## Summary of changes New structure for usage metrics. A `DashMap<Ids, Arc<Counters>>`. If the arc has 1 owner (the map) then I can conclude that no connections are open. If the counters has "open_connections" non zero, then I can conclude a new connection was opened in the last interval and should be reported on. Also, keep count of how many bytes processed for HTTP and report it here.
78 lines
2.0 KiB
TOML
78 lines
2.0 KiB
TOML
[package]
|
|
name = "proxy"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-trait.workspace = true
|
|
base64.workspace = true
|
|
bstr.workspace = true
|
|
bytes = { workspace = true, features = ["serde"] }
|
|
chrono.workspace = true
|
|
clap.workspace = true
|
|
consumption_metrics.workspace = true
|
|
dashmap.workspace = true
|
|
futures.workspace = true
|
|
git-version.workspace = true
|
|
hashbrown.workspace = true
|
|
hashlink.workspace = true
|
|
hex.workspace = true
|
|
hmac.workspace = true
|
|
hostname.workspace = true
|
|
humantime.workspace = true
|
|
hyper-tungstenite.workspace = true
|
|
hyper.workspace = true
|
|
itertools.workspace = true
|
|
md5.workspace = true
|
|
metrics.workspace = true
|
|
once_cell.workspace = true
|
|
opentelemetry.workspace = true
|
|
parking_lot.workspace = true
|
|
pbkdf2 = { workspace = true, features = ["simple", "std"] }
|
|
pin-project-lite.workspace = true
|
|
postgres_backend.workspace = true
|
|
pq_proto.workspace = true
|
|
prometheus.workspace = true
|
|
rand.workspace = true
|
|
regex.workspace = true
|
|
reqwest = { workspace = true, features = ["json"] }
|
|
reqwest-middleware.workspace = true
|
|
reqwest-retry.workspace = true
|
|
reqwest-tracing.workspace = true
|
|
routerify.workspace = true
|
|
rustc-hash.workspace = true
|
|
rustls-pemfile.workspace = true
|
|
rustls.workspace = true
|
|
scopeguard.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
sha2.workspace = true
|
|
socket2.workspace = true
|
|
sync_wrapper.workspace = true
|
|
thiserror.workspace = true
|
|
tls-listener.workspace = true
|
|
tokio-postgres.workspace = true
|
|
tokio-rustls.workspace = true
|
|
tokio = { workspace = true, features = ["signal"] }
|
|
tracing-opentelemetry.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
tracing-utils.workspace = true
|
|
tracing.workspace = true
|
|
url.workspace = true
|
|
utils.workspace = true
|
|
uuid.workspace = true
|
|
webpki-roots.workspace = true
|
|
x509-parser.workspace = true
|
|
native-tls.workspace = true
|
|
postgres-native-tls.workspace = true
|
|
|
|
workspace_hack.workspace = true
|
|
tokio-util.workspace = true
|
|
|
|
[dev-dependencies]
|
|
rcgen.workspace = true
|
|
rstest.workspace = true
|
|
tokio-postgres-rustls.workspace = true
|