mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-06 21:12:55 +00:00
## Problem The page service logic asserts that a tracing span is present with tenant/timeline/shard IDs. An initial gRPC page service implementation thus requires a tracing span. Touches https://github.com/neondatabase/neon/issues/11728. ## Summary of changes Adds an `ObservabilityLayer` middleware that generates a tracing span and decorates it with IDs from the gRPC metadata. This is a minimal implementation to address the tracing span assertion. It will be extended with additional observability in later PRs.
141 lines
3.9 KiB
TOML
141 lines
3.9 KiB
TOML
[package]
|
|
name = "pageserver"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license.workspace = true
|
|
|
|
[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", "pageserver_api/testing", "wal_decoder/testing", "pageserver_client/testing"]
|
|
|
|
fuzz-read-path = ["testing"]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
arc-swap.workspace = true
|
|
async-compression.workspace = true
|
|
async-stream.workspace = true
|
|
bincode.workspace = true
|
|
bit_field.workspace = true
|
|
byteorder.workspace = true
|
|
bytes.workspace = true
|
|
camino-tempfile.workspace = true
|
|
camino.workspace = true
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
clap = { workspace = true, features = ["string"] }
|
|
consumption_metrics.workspace = true
|
|
crc32c.workspace = true
|
|
either.workspace = true
|
|
enum-map.workspace = true
|
|
enumset = { workspace = true, features = ["serde"]}
|
|
fail.workspace = true
|
|
futures.workspace = true
|
|
hashlink.workspace = true
|
|
hex.workspace = true
|
|
http.workspace = true
|
|
http-utils.workspace = true
|
|
humantime-serde.workspace = true
|
|
humantime.workspace = true
|
|
hyper0.workspace = true
|
|
itertools.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
md5.workspace = true
|
|
metrics.workspace = true
|
|
nix.workspace = true
|
|
num_cpus.workspace = true # hack to get the number of worker threads tokio uses
|
|
num-traits.workspace = true
|
|
once_cell.workspace = true
|
|
pageserver_api.workspace = true
|
|
pageserver_client.workspace = true # for ResponseErrorMessageExt TOOD refactor that
|
|
pageserver_compaction.workspace = true
|
|
pageserver_page_api.workspace = true
|
|
pem.workspace = true
|
|
pin-project-lite.workspace = true
|
|
postgres_backend.workspace = true
|
|
postgres_connection.workspace = true
|
|
postgres_ffi.workspace = true
|
|
postgres_initdb.workspace = true
|
|
postgres-protocol.workspace = true
|
|
postgres-types.workspace = true
|
|
posthog_client_lite.workspace = true
|
|
pprof.workspace = true
|
|
pq_proto.workspace = true
|
|
rand.workspace = true
|
|
range-set-blaze = { version = "0.1.16", features = ["alloc"] }
|
|
regex.workspace = true
|
|
remote_storage.workspace = true
|
|
reqwest.workspace = true
|
|
rpds.workspace = true
|
|
rustls.workspace = true
|
|
scopeguard.workspace = true
|
|
send-future.workspace = true
|
|
serde_json = { workspace = true, features = ["raw_value"] }
|
|
serde_path_to_error.workspace = true
|
|
serde_with.workspace = true
|
|
serde.workspace = true
|
|
smallvec.workspace = true
|
|
storage_broker.workspace = true
|
|
strum_macros.workspace = true
|
|
strum.workspace = true
|
|
sysinfo.workspace = true
|
|
tenant_size_model.workspace = true
|
|
thiserror.workspace = true
|
|
tikv-jemallocator.workspace = true
|
|
tokio = { workspace = true, features = ["process", "sync", "fs", "rt", "io-util", "time"] }
|
|
tokio-epoll-uring.workspace = true
|
|
tokio-io-timeout.workspace = true
|
|
tokio-postgres.workspace = true
|
|
tokio-rustls.workspace = true
|
|
tokio-stream.workspace = true
|
|
tokio-tar.workspace = true
|
|
tokio-util.workspace = true
|
|
toml_edit = { workspace = true, features = [ "serde" ] }
|
|
tonic.workspace = true
|
|
tonic-reflection.workspace = true
|
|
tower.workspace = true
|
|
tracing.workspace = true
|
|
tracing-utils.workspace = true
|
|
url.workspace = true
|
|
utils.workspace = true
|
|
wal_decoder.workspace = true
|
|
walkdir.workspace = true
|
|
workspace_hack.workspace = true
|
|
twox-hash.workspace = true
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
procfs.workspace = true
|
|
|
|
[dev-dependencies]
|
|
criterion.workspace = true
|
|
hex-literal.workspace = true
|
|
tokio = { workspace = true, features = ["process", "sync", "fs", "rt", "io-util", "time", "test-util"] }
|
|
indoc.workspace = true
|
|
uuid.workspace = true
|
|
rstest.workspace = true
|
|
|
|
[[bench]]
|
|
name = "bench_layer_map"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "bench_walredo"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "bench_ingest"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "upload_queue"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "bench_metrics"
|
|
harness = false
|
|
|
|
[[bin]]
|
|
name = "test_helper_slow_client_reads"
|
|
required-features = [ "testing" ]
|