[package] name = "influxdb_iox" version = "0.1.0" authors = ["Paul Dix "] edition = "2021" default-run = "influxdb_iox" [dependencies] # Workspace dependencies, in alphabetical order datafusion = { path = "../datafusion" } data_types = { path = "../data_types" } dml = { path = "../dml" } generated_types = { path = "../generated_types" } influxdb_iox_client = { path = "../influxdb_iox_client", features = ["flight", "format", "write_lp"] } influxdb_line_protocol = { path = "../influxdb_line_protocol" } internal_types = { path = "../internal_types" } iox_object_store = { path = "../iox_object_store" } logfmt = { path = "../logfmt" } metric = { path = "../metric" } metric_exporters = { path = "../metric_exporters" } mutable_batch_lp = { path = "../mutable_batch_lp" } mutable_batch_pb = { path = "../mutable_batch_pb" } mutable_buffer = { path = "../mutable_buffer" } num_cpus = "1.13.0" object_store = { path = "../object_store" } observability_deps = { path = "../observability_deps" } panic_logging = { path = "../panic_logging" } parquet_catalog = { path = "../parquet_catalog" } parquet_file = { path = "../parquet_file" } predicate = { path = "../predicate" } query = { path = "../query" } read_buffer = { path = "../read_buffer" } router = { path = "../router" } server = { path = "../server" } trace = { path = "../trace" } trace_exporters = { path = "../trace_exporters" } trace_http = { path = "../trace_http" } tracker = { path = "../tracker" } trogging = { path = "../trogging", default-features = false, features = ["structopt"] } time = { path = "../time" } # Crates.io dependencies, in alphabetical order arrow = { version = "6.0", features = ["prettyprint"] } arrow-flight = "6.0" async-trait = "0.1" backtrace = "0.3" byteorder = "1.3.4" bytes = "1.0" chrono = "0.4" clap = "2.33.1" csv = "1.1" dotenv = "0.15.0" flate2 = "1.0" futures = "0.3" hashbrown = "0.11" http = "0.2.0" humantime = "2.1.0" hyper = "0.14" libc = { version = "0.2" } log = "0.4" once_cell = { version = "1.4.0", features = ["parking_lot"] } parking_lot = "0.11.2" itertools = "0.10.1" parquet = "6.0" pin-project = "1.0" # used by arrow/datafusion anyway comfy-table = { version = "5.0", default-features = false } pprof = { version = "^0.5", default-features = false, features = ["flamegraph", "protobuf"], optional = true } prost = "0.8" rustyline = { version = "9.0", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0.70" serde_urlencoded = "0.7.0" snafu = "0.6.9" structopt = "0.3.25" thiserror = "1.0.30" tikv-jemalloc-ctl = { version = "0.4.0" } tokio = { version = "1.13", features = ["macros", "rt-multi-thread", "parking_lot", "signal"] } tokio-stream = { version = "0.1.8", features = ["net"] } tokio-util = { version = "0.6.9" } tonic = "0.5.0" tonic-health = "0.4.0" tonic-reflection = "0.2.0" tower = "0.4" uuid = { version = "0.8", features = ["v4"] } # jemalloc-sys with unprefixed_malloc_on_supported_platforms feature and heappy are mutually exclusive tikv-jemalloc-sys = { version = "0.4.0", optional = true, features = ["unprefixed_malloc_on_supported_platforms"] } heappy = { git = "https://github.com/mkmik/heappy", rev = "20aa466524ac9ce34a4bae29f27ec11869b50e21", features = ["enable_heap_profiler", "jemalloc_shim", "measure_free"], optional = true } [dev-dependencies] # Workspace dependencies, in alphabetical order arrow_util = { path = "../arrow_util" } influxdb2_client = { path = "../influxdb2_client" } influxdb_storage_client = { path = "../influxdb_storage_client" } test_helpers = { path = "../test_helpers" } parking_lot = "0.11.2" regex = "1.4" schema = { path = "../schema" } write_buffer = { path = "../write_buffer" } # Crates.io dependencies, in alphabetical order assert_cmd = "2.0.2" hex = "0.4.2" predicates = "2.0.3" rand = "0.8.3" reqwest = "0.11" tempfile = "3.1.0" [features] default = ["jemalloc_replacing_malloc"] azure = ["object_store/azure"] # Optional Azure Object store support gcp = ["object_store/gcp"] # Optional GCP object store support aws = ["object_store/aws"] # Optional AWS / S3 object store support # pprof is an optional feature for pprof support # 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"] # Implicit feature selected when running under `clippy --all-features` to accept mutable exclusive features during # linting clippy = []