96 lines
3.2 KiB
TOML
96 lines
3.2 KiB
TOML
[package]
|
|
license = "Apache-2.0"
|
|
name = "xai-grok-telemetry"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
description = "Telemetry engine: product events + Mixpanel emission + Sentry error reporting for Grok Build sessions"
|
|
authors = ["xAI"]
|
|
|
|
[features]
|
|
default = []
|
|
default-bazel = []
|
|
memory-log = []
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
strum = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-appender = "0.2.4"
|
|
tracing-chrome = "0.7.2"
|
|
tracing-subscriber = { workspace = true, features = [
|
|
"env-filter",
|
|
"fmt",
|
|
"json",
|
|
"time",
|
|
] }
|
|
chrono = { workspace = true }
|
|
git2 = { version = "0.20", default-features = false, features = [
|
|
"vendored-libgit2",
|
|
] }
|
|
reqwest = { workspace = true }
|
|
url = { workspace = true }
|
|
xai-grok-env = { workspace = true }
|
|
xai-grok-secrets = { workspace = true }
|
|
xai-mixpanel = { workspace = true }
|
|
xai-grok-config = { workspace = true }
|
|
xai-grok-sampler = { workspace = true }
|
|
xai-token-estimation = { workspace = true }
|
|
dirs = { workspace = true }
|
|
sentry = { version = "0.42.0", default-features = false, features = [
|
|
"panic",
|
|
"anyhow",
|
|
"tracing",
|
|
"backtrace",
|
|
"contexts",
|
|
"reqwest",
|
|
"rustls",
|
|
"debug-images",
|
|
] }
|
|
# Single cross-edge: `events::ToolCallCompleted.outcome` reuses
|
|
# `xai_file_utils::events::types::ToolOutcome` so the local event log and
|
|
# the product telemetry event share the same enum surface. Semantically this enum
|
|
# lives with the events module in data-collector; not worth a third crate.
|
|
xai-file-utils = { path = "../xai-file-utils" }
|
|
# `session_metrics::TraceUploadReason::from_upload_method` matches on the shared
|
|
# `UploadMethod` enum (small, dependency-light types crate) so the reason->wire
|
|
# mapping lives next to the trace-upload lifecycle events it labels.
|
|
whoami = { workspace = true }
|
|
uuid = { workspace = true, features = ["v5", "v7"] }
|
|
obfstr = { workspace = true, optional = true }
|
|
mid = "4.0.0"
|
|
tokio = { workspace = true, features = ["macros", "sync", "rt"] }
|
|
parking_lot = { workspace = true }
|
|
xai-grok-auth = { workspace = true }
|
|
opentelemetry = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true, features = [
|
|
"experimental_logs_batch_log_processor_with_async_runtime",
|
|
"experimental_metrics_periodicreader_with_async_runtime",
|
|
"rt-tokio-current-thread",
|
|
] }
|
|
opentelemetry-otlp = { workspace = true }
|
|
opentelemetry-http = { workspace = true }
|
|
http = { workspace = true }
|
|
bytes = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
futures-executor = "0.3"
|
|
tokio-stream = { workspace = true }
|
|
tracing-opentelemetry = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tonic = { workspace = true, features = ["transport"] }
|
|
# In-memory log/metric exporters for the external-stream wire-shape tests.
|
|
opentelemetry_sdk = { workspace = true, features = ["testing"] }
|
|
# In-process OTLP collector fixture (tests/external_otlp.rs).
|
|
axum = { workspace = true }
|
|
opentelemetry-proto = { workspace = true }
|
|
prost = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "net", "rt-multi-thread", "time"] }
|
|
# Sets a symlink's own mtime (std's `set_modified` follows links) for prune tests.
|
|
filetime = { workspace = true }
|
|
futures-executor = "0.3"
|
|
tempfile = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|