Files
greptimedb/src/servers/Cargo.toml
T
Weny Xu e0915a8380 refactor: reuse common batching components in Prom ingestion (#9114)
* refactor: compose Prom ingestion with common batcher components

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: share bulk insert IPC encoding

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: centralize batcher worker channel creation

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: share timestamp extraction for batched writes

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: preserve sharded batcher worker lookup

Signed-off-by: WenyXu <wenymedia@gmail.com>

* fix: align batcher worker lookup and configuration validation

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: validate batcher limits inside fallible constructors

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
2026-09-16 09:21:49 +00:00

208 lines
5.7 KiB
TOML

[package]
name = "servers"
version.workspace = true
edition.workspace = true
license.workspace = true
[features]
default = []
dashboard = ["dep:rust-embed"]
enterprise = ["sql/enterprise"]
mem-prof = ["dep:common-mem-prof"]
pprof = ["dep:common-pprof"]
testing = []
[lints]
workspace = true
[target.'cfg(not(target_os = "android"))'.dependencies]
local-ip-address.workspace = true
[dependencies]
ahash.workspace = true
api.workspace = true
arrow.workspace = true
arrow-flight.workspace = true
arrow-ipc.workspace = true
arrow-pg = "0.15"
arrow-schema.workspace = true
async-trait.workspace = true
auth.workspace = true
axum = { workspace = true, features = ["multipart"] }
axum-extra = { workspace = true, features = ["typed-header"] }
axum-macros.workspace = true
base64.workspace = true
bytes.workspace = true
catalog.workspace = true
chrono.workspace = true
common-base.workspace = true
common-batcher.workspace = true
common-catalog.workspace = true
common-decimal.workspace = true
common-error.workspace = true
common-frontend.workspace = true
common-grpc.workspace = true
common-macro.workspace = true
common-mem-prof = { workspace = true, optional = true }
common-memory-manager.workspace = true
common-meta.workspace = true
common-plugins.workspace = true
common-pprof = { workspace = true, optional = true }
common-query.workspace = true
common-recordbatch.workspace = true
common-runtime.workspace = true
common-session.workspace = true
common-sql.workspace = true
common-stat.workspace = true
common-telemetry.workspace = true
common-time.workspace = true
common-version = { workspace = true, features = ["codec"] }
csv = "1.3"
dashmap.workspace = true
datafusion.workspace = true
datafusion-common.workspace = true
datafusion-expr.workspace = true
datafusion-pg-catalog.workspace = true
datatypes.workspace = true
derive_builder.workspace = true
either.workspace = true
futures.workspace = true
futures-util.workspace = true
headers = "0.4"
hex.workspace = true
hostname = "0.3"
http.workspace = true
humantime.workspace = true
humantime-serde.workspace = true
hyper = { workspace = true, features = ["full"] }
indexmap = "2.8"
influxdb_line_protocol = { git = "https://github.com/evenyag/influxdb_iox", branch = "feat/line-protocol" }
itertools.workspace = true
jsonb.workspace = true
lazy_static.workspace = true
log-query.workspace = true
loki-proto.workspace = true
metric-engine.workspace = true
mime_guess = "2.0"
mysql_common = "0.38"
notify.workspace = true
object-pool = "0.5"
once_cell.workspace = true
# Wait for https://github.com/databendlabs/opensrv/pull/81
opensrv-mysql = { git = "https://github.com/GreptimeTeam/opensrv", rev = "f3135e5f00401e06075cf241c0cc26489e45b20a" }
opentelemetry-proto.workspace = true
operator.workspace = true
otel-arrow-rust.workspace = true
parking_lot.workspace = true
partition.workspace = true
pg_interval = "0.5"
pgwire = { version = "0.40", default-features = false, features = [
"server-api-aws-lc-rs",
"pg-ext-types",
] }
pin-project = "1.0"
pipeline.workspace = true
postgres-types = { version = "0.2", features = ["with-chrono-0_4", "with-serde_json-1"] }
prometheus.workspace = true
promql-parser.workspace = true
prost.workspace = true
query.workspace = true
quoted-string = "0.6"
rand.workspace = true
regex.workspace = true
reqwest.workspace = true
rust-embed = { version = "6.6", optional = true, features = ["debug-embed"] }
rust_decimal = { workspace = true, features = ["db-postgres"] }
rustls = { workspace = true, default-features = false, features = ["aws_lc_rs", "logging", "std", "tls12"] }
rustls-pemfile = "2.0"
rustls-pki-types = "1.0"
ryu.workspace = true
serde.workspace = true
serde_json.workspace = true
session.workspace = true
simd-json.workspace = true
simdutf8 = "0.1"
smallvec.workspace = true
snafu.workspace = true
snap = "1"
socket2 = "0.5"
sql.workspace = true
store-api.workspace = true
strum.workspace = true
table.workspace = true
tokio.workspace = true
tokio-rustls.workspace = true
tokio-stream = { workspace = true, features = ["net"] }
tokio-util.workspace = true
tonic.workspace = true
tonic-reflection = "0.14"
tonic-web = "0.14"
tower = { workspace = true, features = ["full"] }
tower-http = { version = "0.6", features = ["full"] }
tracing.workspace = true
tracing-opentelemetry.workspace = true
urlencoding = "2.1"
uuid.workspace = true
vrl.workspace = true
zstd.workspace = true
[target.'cfg(not(windows))'.dependencies]
tikv-jemalloc-ctl = { version = "0.7", features = ["use_std", "stats"] }
[dev-dependencies]
auth = { workspace = true, features = ["testing"] }
catalog = { workspace = true, features = ["testing"] }
client = { workspace = true, features = ["testing"] }
common-base.workspace = true
common-test-util.workspace = true
criterion = "0.5"
json5 = "0.4"
moka.workspace = true
mysql_async = { version = "0.37", default-features = false, features = [
"default-rustls",
] }
permutation = "0.4"
rand.workspace = true
serde_json.workspace = true
servers = { workspace = true, features = ["testing"] }
session = { workspace = true, features = ["testing"] }
table.workspace = true
tempfile = "3.0.0"
tokio = { workspace = true, features = ["test-util"] }
tokio-postgres.workspace = true
tokio-postgres-rustls = "0.14"
[target.'cfg(unix)'.dev-dependencies]
pprof = { version = "0.15", features = ["criterion", "flamegraph"] }
[target.'cfg(not(windows))'.dev-dependencies]
tikv-jemallocator = "0.7"
[build-dependencies]
common-version.workspace = true
[[bench]]
name = "bench_prom"
harness = false
[[bench]]
name = "prom_decode"
harness = false
required-features = ["testing"]
[[bench]]
name = "to_http_output"
harness = false
[[bench]]
name = "prometheus_response"
harness = false
[[bench]]
name = "loki_labels"
harness = false
[[bench]]
name = "flush_batch_physical"
harness = false