[package] description = "OpenObserve is an observability platform that allows you to capture, search, and analyze your logs, metrics, and traces." edition = "2021" homepage = "https://openobserve.ai/" keywords = [ "search", "log", "metrics", "traces", "analytics", "openobserve", "observability", "open source", "open-source", "opensource", ] license = "AGPL-3.0-only" name = "openobserve" repository = "https://github.com/openobserve/openobserve/" version = "0.8.1" publish = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] mimalloc = ["dep:mimalloc"] jemalloc = ["dep:tikv-jemallocator"] profiling = ["dep:pyroscope", "dep:pyroscope_pprofrs"] [profile.release] debug = false strip = true [profile.release-prod] inherits = "release" codegen-units = 1 lto = "thin" [profile.release-profiling] inherits = "release" debug = true strip = false codegen-units = 4 [dependencies] actix-cors = "0.6" actix-multipart = { version = "0.6", features = ["derive"] } actix-web.workspace = true actix-web-httpauth = "0.8" actix-web-lab = "0.20" actix-web-opentelemetry = { version = "0.16", features = ["metrics"] } actix-web-prometheus.workspace = true actix-web-rust-embed-responder = { version = "2.2", default-features = false, features = [ "support-rust-embed-for-web", "base64", ] } ahash.workspace = true anyhow.workspace = true argon2.workspace = true async-trait.workspace = true async-recursion.workspace = true awc = "3.2" blake3 = { version = "1.4", features = ["rayon"] } bytes.workspace = true chrono.workspace = true clap = { version = "4.1", default-features = false, features = [ "std", "help", "usage", "suggestions", "cargo", ] } cloudevents-sdk = { version = "0.7.0", features = ["actix"] } csv = "1.2.1" dashmap.workspace = true datafusion.workspace = true datafusion-expr.workspace = true arrow.workspace = true arrow-schema.workspace = true parquet.workspace = true object_store.workspace = true env_logger.workspace = true etcd-client.workspace = true faststr.workspace = true flate2.workspace = true futures.workspace = true hex.workspace = true hashbrown.workspace = true http-auth-basic = "0.3" ipnetwork.workspace = true itertools.workspace = true jsonwebtoken = "9.2.0" log.workspace = true maxminddb = "0.23.0" memory-stats = "1.1.0" mimalloc = { version = "0.1", default-features = false, optional = true } once_cell.workspace = true opentelemetry = "0.21" opentelemetry_sdk = { version = "0.21", features = ["rt-tokio", "trace"] } opentelemetry-otlp = { version = "0.14", features = [ "http-proto", "serialize", "serde", "reqwest-client", ] } opentelemetry-proto = { version = "0.4", features = [ "gen-tonic", "serde", "logs", "metrics", "trace", ] } parking_lot.workspace = true prometheus.workspace = true promql-parser = "0.3" prost = "0.11" pyroscope = { version = "0.5.6", optional = true } pyroscope_pprofrs = { version = "0.2.5", optional = true } rand.workspace = true getrandom.workspace = true rayon.workspace = true regex = "1.7" regex-syntax = "0.8" reqwest.workspace = true rust-embed-for-web = "11.1" segment.workspace = true serde.workspace = true serde_json.workspace = true sha256.workspace = true snafu.workspace = true snap.workspace = true sqlparser.workspace = true strum = { version = "0.25", features = ["derive"] } sysinfo.workspace = true syslog_loose = "0.18.0" thiserror.workspace = true time.workspace = true tikv-jemallocator = { version = "0.5", optional = true } tokio.workspace = true tokio-stream.workspace = true tonic.workspace = true tracing.workspace = true tracing-appender.workspace = true tracing-opentelemetry.workspace = true tracing-subscriber.workspace = true uaparser = "0.6.1" url.workspace = true utoipa.workspace = true utoipa-swagger-ui.workspace = true vector-enrichment = { package = "enrichment", git = "https://github.com/openobserve/vector", rev = "66667dd291482a440c5eb2032ef3cbfb7377b53b" } vrl = { version = "0.8.1", features = ["value", "compiler", "test"] } zstd.workspace = true config.workspace = true infra.workspace = true ingester.workspace = true [build-dependencies] chrono = { version = "0.4", default-features = false, features = ["clock"] } tonic-build = { version = "0.9", features = ["prost"] } prost-build = "0.11" [dev-dependencies] expect-test = "1.4" base64 = "0.21" float-cmp = "0.9" walkdir = "2" [workspace] members = ["src/config", "src/infra", "src/ingester", "src/wal"] resolver = "2" [workspace.package] version = "0.1.0" edition = "2021" license = "AGPL-3.0" [workspace.dependencies] config = { path = "src/config" } infra = { path = "src/infra" } ingester = { path = "src/ingester" } wal = { path = "src/wal" } ahash = { version = "0.8", features = ["serde"] } actix-web = "4.5" actix-web-prometheus = { version = "0.1", features = ["process"] } anyhow = "1.0" argon2 = { version = "0.5", features = ["alloc", "password-hash"] } async-trait = "0.1" async-recursion = "1.0" aws-config = "0.56.1" aws-sdk-dynamodb = "0.30.0" base64 = "0.21" bytes = "1.4" byteorder = "1.4.3" chrono = { version = "0.4", default-features = false, features = ["clock"] } cityhasher = { version = "0.1", default-features = false } dashmap = { version = "5.5", features = ["serde"] } datafusion = "35" datafusion-expr = "35" arrow = { version = "50.0.0", features = ["ipc_compression"] } arrow-json = "50.0.0" arrow-schema = { version = "50.0.0", features = ["serde"] } parquet = { version = "50.0.0", features = ["arrow", "async", "object_store"] } object_store = { version = "0.9", features = ["aws", "azure", "gcp"] } dotenv_config = "0.1" dotenvy = "0.15" env_logger = "0.10" etcd-client = { version = "0.12", features = ["tls"] } faststr = "0.2" flate2 = { version = "1.0", features = ["zlib"] } futures = "0.3" get_if_addrs = "0.5" getrandom = "0.2.11" gxhash = "~3.0.0" hashlink = "0.8.4" hashbrown = { version = "0.14.3", features = ["serde"] } hex = "0.4" indexmap = { version = "2.0", features = ["serde"] } ipnetwork = "0.20" itertools = "0.12" log = "0.4" memchr = "2.5" murmur3 = "0.5" once_cell = "1.17" parking_lot = "0.12" prometheus = "0.13" rand = "0.8" rayon = "1.7.0" reqwest = { version = "0.11", default-features = false, features = [ "rustls-tls", "stream", ] } segment = "0.2" serde = { version = "1", features = ["derive"] } serde_json = "1" sha256 = "1.4.0" sled = "0.34" snafu = "0.7.5" snap = "1" sqlx = { version = "0.7", features = [ "runtime-tokio-rustls", "postgres", "mysql", "sqlite", "chrono", ] } sqlparser = { version = "0.41", features = ["serde", "visitor"] } svix-ksuid = { version = "0.8", features = ["serde"] } sysinfo = "0.29" tempfile = "3" thiserror = "1.0" time = "0.3" tokio = { version = "1", features = ["full"] } tokio-stream = "0.1" tonic = { version = "0.9", features = ["prost", "gzip"] } tracing = "0.1.40" tracing-appender = "0.2.3" tracing-log = "0.2" tracing-opentelemetry = "0.22" tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] } url = "2.2" utoipa = { version = "4", features = ["actix_extras", "openapi_extensions"] } utoipa-swagger-ui = { version = "4", features = ["actix-web"] } walkdir = "2" zstd = "0.13"