mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-07 13:32:57 +00:00
## Summary of changes ### RequestMonitoring We want to add an event stream with information on each request for easier analysis than what we can do with diagnostic logs alone (https://github.com/neondatabase/cloud/issues/8807). This RequestMonitoring will keep a record of the final state of a request. On drop it will be pushed into a queue to be uploaded. Because this context is a bag of data, I don't want this information to impact logic of request handling. I personally think that weakly typed data (such as all these options) makes for spaghetti code. I will however allow for this data to impact rate-limiting and blocking of requests, as this does not _really_ change how a request is handled. ### Parquet Each `RequestMonitoring` is flushed into a channel where it is converted into `RequestData`, which is accumulated into parquet files. Each file will have a certain number of rows per row group, and several row groups will eventually fill up the file, which we then upload to S3. We will also upload smaller files if they take too long to construct.
115 lines
6.6 KiB
TOML
115 lines
6.6 KiB
TOML
# This file is generated by `cargo hakari`.
|
|
# To regenerate, run:
|
|
# cargo hakari generate
|
|
|
|
[package]
|
|
name = "workspace_hack"
|
|
version = "0.1.0"
|
|
description = "workspace-hack package, managed by hakari"
|
|
# You can choose to publish this crate: see https://docs.rs/cargo-hakari/latest/cargo_hakari/publishing.
|
|
publish = false
|
|
# The parts of the file between the BEGIN HAKARI SECTION and END HAKARI SECTION comments
|
|
# are managed by hakari.
|
|
|
|
### BEGIN HAKARI SECTION
|
|
[dependencies]
|
|
anyhow = { version = "1", features = ["backtrace"] }
|
|
aws-config = { version = "1", default-features = false, features = ["rustls", "sso"] }
|
|
aws-runtime = { version = "1", default-features = false, features = ["event-stream", "sigv4a"] }
|
|
aws-sigv4 = { version = "1", features = ["http0-compat", "sign-eventstream", "sigv4a"] }
|
|
aws-smithy-async = { version = "1", default-features = false, features = ["rt-tokio"] }
|
|
aws-smithy-http = { version = "0.60", default-features = false, features = ["event-stream"] }
|
|
aws-smithy-runtime-api = { version = "1", features = ["client", "http-02x", "http-auth"] }
|
|
aws-smithy-types = { version = "1", default-features = false, features = ["byte-stream-poll-next", "http-body-0-4-x", "rt-tokio"] }
|
|
axum = { version = "0.6", features = ["ws"] }
|
|
base64 = { version = "0.21", features = ["alloc"] }
|
|
base64ct = { version = "1", default-features = false, features = ["std"] }
|
|
bytes = { version = "1", features = ["serde"] }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "serde", "wasmbind"] }
|
|
clap = { version = "4", features = ["derive", "string"] }
|
|
clap_builder = { version = "4", default-features = false, features = ["color", "help", "std", "string", "suggestions", "usage"] }
|
|
crossbeam-utils = { version = "0.8" }
|
|
dashmap = { version = "5", default-features = false, features = ["raw-api"] }
|
|
either = { version = "1" }
|
|
fail = { version = "0.5", default-features = false, features = ["failpoints"] }
|
|
futures = { version = "0.3" }
|
|
futures-channel = { version = "0.3", features = ["sink"] }
|
|
futures-core = { version = "0.3" }
|
|
futures-executor = { version = "0.3" }
|
|
futures-io = { version = "0.3" }
|
|
futures-sink = { version = "0.3" }
|
|
futures-util = { version = "0.3", features = ["channel", "io", "sink"] }
|
|
getrandom = { version = "0.2", default-features = false, features = ["std"] }
|
|
hex = { version = "0.4", features = ["serde"] }
|
|
hmac = { version = "0.12", default-features = false, features = ["reset"] }
|
|
hyper = { version = "0.14", features = ["full"] }
|
|
itertools = { version = "0.10" }
|
|
libc = { version = "0.2", features = ["extra_traits"] }
|
|
log = { version = "0.4", default-features = false, features = ["std"] }
|
|
memchr = { version = "2" }
|
|
nom = { version = "7" }
|
|
num-bigint = { version = "0.4" }
|
|
num-integer = { version = "0.1", features = ["i128"] }
|
|
num-traits = { version = "0.2", features = ["i128"] }
|
|
once_cell = { version = "1" }
|
|
parquet = { git = "https://github.com/neondatabase/arrow-rs", branch = "neon-fix-bugs", default-features = false, features = ["zstd"] }
|
|
prost = { version = "0.11" }
|
|
rand = { version = "0.8", features = ["small_rng"] }
|
|
regex = { version = "1" }
|
|
regex-automata = { version = "0.4", default-features = false, features = ["dfa-onepass", "hybrid", "meta", "nfa-backtrack", "perf-inline", "perf-literal", "unicode"] }
|
|
regex-syntax = { version = "0.8" }
|
|
reqwest = { version = "0.11", default-features = false, features = ["blocking", "default-tls", "json", "multipart", "rustls-tls", "stream"] }
|
|
ring = { version = "0.16" }
|
|
rustls = { version = "0.21", features = ["dangerous_configuration"] }
|
|
scopeguard = { version = "1" }
|
|
serde = { version = "1", features = ["alloc", "derive"] }
|
|
serde_json = { version = "1", features = ["raw_value"] }
|
|
smallvec = { version = "1", default-features = false, features = ["write"] }
|
|
subtle = { version = "2" }
|
|
time = { version = "0.3", features = ["local-offset", "macros", "serde-well-known"] }
|
|
tokio = { version = "1", features = ["fs", "io-std", "io-util", "macros", "net", "process", "rt-multi-thread", "signal", "test-util"] }
|
|
tokio-rustls = { version = "0.24" }
|
|
tokio-util = { version = "0.7", features = ["codec", "compat", "io", "rt"] }
|
|
toml_datetime = { version = "0.6", default-features = false, features = ["serde"] }
|
|
toml_edit = { version = "0.19", features = ["serde"] }
|
|
tower = { version = "0.4", default-features = false, features = ["balance", "buffer", "limit", "log", "timeout", "util"] }
|
|
tracing = { version = "0.1", features = ["log"] }
|
|
tracing-core = { version = "0.1" }
|
|
tungstenite = { version = "0.20" }
|
|
url = { version = "2", features = ["serde"] }
|
|
uuid = { version = "1", features = ["serde", "v4", "v7"] }
|
|
zstd = { version = "0.13" }
|
|
zstd-safe = { version = "7", default-features = false, features = ["arrays", "legacy", "std", "zdict_builder"] }
|
|
zstd-sys = { version = "2", default-features = false, features = ["legacy", "std", "zdict_builder"] }
|
|
|
|
[build-dependencies]
|
|
anyhow = { version = "1", features = ["backtrace"] }
|
|
bytes = { version = "1", features = ["serde"] }
|
|
cc = { version = "1", default-features = false, features = ["parallel"] }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "serde", "wasmbind"] }
|
|
either = { version = "1" }
|
|
getrandom = { version = "0.2", default-features = false, features = ["std"] }
|
|
itertools = { version = "0.10" }
|
|
libc = { version = "0.2", features = ["extra_traits"] }
|
|
log = { version = "0.4", default-features = false, features = ["std"] }
|
|
memchr = { version = "2" }
|
|
nom = { version = "7" }
|
|
num-bigint = { version = "0.4" }
|
|
num-integer = { version = "0.1", features = ["i128"] }
|
|
num-traits = { version = "0.2", features = ["i128"] }
|
|
once_cell = { version = "1" }
|
|
parquet = { git = "https://github.com/neondatabase/arrow-rs", branch = "neon-fix-bugs", default-features = false, features = ["zstd"] }
|
|
prost = { version = "0.11" }
|
|
regex = { version = "1" }
|
|
regex-automata = { version = "0.4", default-features = false, features = ["dfa-onepass", "hybrid", "meta", "nfa-backtrack", "perf-inline", "perf-literal", "unicode"] }
|
|
regex-syntax = { version = "0.8" }
|
|
serde = { version = "1", features = ["alloc", "derive"] }
|
|
syn-dff4ba8e3ae991db = { package = "syn", version = "1", features = ["extra-traits", "full", "visit"] }
|
|
syn-f595c2ba2a3f28df = { package = "syn", version = "2", features = ["extra-traits", "full", "visit", "visit-mut"] }
|
|
time-macros = { version = "0.2", default-features = false, features = ["formatting", "parsing", "serde"] }
|
|
zstd = { version = "0.13" }
|
|
zstd-safe = { version = "7", default-features = false, features = ["arrays", "legacy", "std", "zdict_builder"] }
|
|
zstd-sys = { version = "2", default-features = false, features = ["legacy", "std", "zdict_builder"] }
|
|
|
|
### END HAKARI SECTION
|