[package] name = "influxdb_iox" default-run = "influxdb_iox" version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true [dependencies] # Workspace dependencies, in alphabetical order arrow-flight = { workspace = true } authz = {path = "../authz" } clap_blocks = { path = "../clap_blocks" } compactor = { path = "../compactor" } data_types = { path = "../data_types" } datafusion = { workspace = true } generated_types = { path = "../generated_types" } import_export = { path = "../import_export" } influxdb_iox_client = { path = "../influxdb_iox_client", features = ["flight", "format"] } influxdb_storage_client = { path = "../influxdb_storage_client" } influxrpc_parser = { path = "../influxrpc_parser"} ingester_query_grpc = { path = "../ingester_query_grpc" } iox_catalog = { path = "../iox_catalog" } ioxd_common = { path = "../ioxd_common"} ioxd_compactor = { path = "../ioxd_compactor"} ioxd_ingester = { path = "../ioxd_ingester"} ioxd_garbage_collector = { path = "../ioxd_garbage_collector" } ioxd_querier = { path = "../ioxd_querier"} ioxd_router = { path = "../ioxd_router"} ioxd_test = { path = "../ioxd_test"} metric = { path = "../metric" } object_store = { workspace = true } object_store_metrics = { path = "../object_store_metrics" } observability_deps = { path = "../observability_deps" } panic_logging = { path = "../panic_logging" } parquet_file = { path = "../parquet_file" } parquet_to_line_protocol = { path = "../parquet_to_line_protocol" } prost = { version = "0.11" } iox_query = { path = "../iox_query" } schema = { path = "../schema" } iox_time = { path = "../iox_time" } trace_exporters = { path = "../trace_exporters" } trogging = { path = "../trogging", default-features = false, features = ["clap"] } wal = { version = "0.1", path = "../wal" } wal_inspect = { version = "0.1", path = "../wal_inspect" } # Crates.io dependencies, in alphabetical order nu-ansi-term = "0.47.0" arrow = { workspace = true, features = ["prettyprint"] } backtrace = "0.3" bytes = "1.4" clap = { version = "4", features = ["derive", "env"] } comfy-table = { version = "6.2", default-features = false } console-subscriber = { version = "0.1.9", optional = true, features = ["parking_lot"] } dotenvy = "0.15.7" futures = "0.3" futures-util = { version = "0.3" } flate2 = "1.0" hashbrown = { workspace = true } http = "0.2.9" home = "0.5.5" humantime = "2.1.0" itertools = "0.10.5" libc = { version = "0.2" } num_cpus = "1.15.0" once_cell = { version = "1.17", features = ["parking_lot"] } rustyline = { version = "11.0", default-features = false, features = ["with-file-history"]} serde_json = "1.0.96" snafu = "0.7" tempfile = "3.5.0" thiserror = "1.0.40" tikv-jemalloc-ctl = { version = "0.5.0", optional = true } tokio = { version = "1.28", features = ["macros", "net", "parking_lot", "rt-multi-thread", "signal", "sync", "time", "io-std"] } tokio-stream = { version = "0.1", features = ["net"] } tokio-util = { version = "0.7.8", features = ["compat"] } tonic = { workspace = true } uuid = { version = "1", features = ["v4"] } # jemalloc-sys with unprefixed_malloc_on_supported_platforms feature and heappy are mutually exclusive tikv-jemalloc-sys = { version = "0.5.3", optional = true, features = ["unprefixed_malloc_on_supported_platforms"] } workspace-hack = { version = "0.1", path = "../workspace-hack" } parking_lot = "0.12.1" [dev-dependencies] # In alphabetical order arrow_util = { path = "../arrow_util" } assert_cmd = "2.0.11" assert_matches = "1.5" async-trait = "0.1" predicate = { path = "../predicate" } predicates = "3.0.3" serde = "1.0.163" test_helpers = { path = "../test_helpers", features = ["future_timeout"] } test_helpers_end_to_end = { path = "../test_helpers_end_to_end" } insta = { version = "1", features = ["yaml"] } [features] default = ["jemalloc_replacing_malloc"] azure = ["clap_blocks/azure"] # Optional Azure Object store support gcp = ["clap_blocks/gcp"] # Optional GCP object store support aws = ["clap_blocks/aws"] # Optional AWS / S3 object store support pprof = ["ioxd_common/pprof"] # Optional http://localhost:8080/debug/pprof/profile support heappy = ["ioxd_common/heappy"] # Optional http://localhost:8080/debug/pproc/alloc support # Enable tokio_console support (https://github.com/tokio-rs/console) # # Requires enabling trace level tracing events for [tokio,runtime]. tokio_console = ["console-subscriber", "tokio/tracing", "observability_deps/release_max_level_trace"] # heappy is an optional feature; Not on by default as it # runtime overhead on all allocations (calls to malloc). # Cargo cannot currently implement mutually exclusive features so let's force every build # to pick either heappy or jemalloc_replacing_malloc feature at least until we figure out something better. jemalloc_replacing_malloc = ["tikv-jemalloc-sys", "tikv-jemalloc-ctl"] # Implicit feature selected when running under `clippy --all-features` to accept mutable exclusive features during # linting clippy = []