The HTTP/protobuf exporter never sent any traffic in prod (tcpdump on port 4318 showed nothing) despite the receiver path being correct and the bridge wiring being intact (logs reached journalctl via the stdout exporter). Likely the BatchLogProcessor + reqwest-client combo isn't getting the right runtime context, but debugging that on a live deployment isn't worth holding up the rest of the speedups. Restoring grpc-tonic transport so prod observability comes back. The remaining build-time wins on this branch (mold linker, system sqlite3, profile.dev tweaks, lockfile-only dep refresh) deliver most of the original savings without touching telemetry. Operator: revert OTLP_OTLS_ENDPOINT in prod from port 4318 back to 4317. HTTP transport remains a viable follow-up — needs to be debugged against a local SigNoz instance with internal SDK error visibility enabled, on its own branch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
74 lines
2.1 KiB
TOML
74 lines
2.1 KiB
TOML
[package]
|
|
name = "image-api"
|
|
version = "1.1.0"
|
|
authors = ["Cameron Cordes <cameronc.dev@gmail.com>"]
|
|
edition = "2024"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
|
|
[profile.dev]
|
|
debug = "line-tables-only"
|
|
|
|
[dependencies]
|
|
actix = "0.13.1"
|
|
actix-web = "4"
|
|
actix-rt = "2.6"
|
|
tokio = { version = "1.42.0", features = ["default", "process", "sync", "macros", "rt-multi-thread"] }
|
|
actix-files = "0.6"
|
|
actix-cors = "0.7"
|
|
actix-multipart = "0.7.2"
|
|
actix-governor = "0.5"
|
|
futures = "0.3.5"
|
|
jsonwebtoken = "9.3.0"
|
|
serde = "1"
|
|
serde_json = "1"
|
|
diesel = { version = "2.2.10", features = ["sqlite"] }
|
|
libsqlite3-sys = "0.35"
|
|
diesel_migrations = "2.2.0"
|
|
chrono = "0.4"
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
dotenv = "0.15"
|
|
bcrypt = "0.17.1"
|
|
image = { version = "0.25.5", default-features = false, features = ["jpeg", "png", "rayon", "webp", "tiff", "avif"] }
|
|
infer = "0.16"
|
|
walkdir = "2.4.0"
|
|
rayon = "1.5"
|
|
path-absolutize = "3.1"
|
|
log = "0.4"
|
|
env_logger = "0.11.5"
|
|
actix-web-prom = "0.9.0"
|
|
prometheus = "0.13"
|
|
lazy_static = "1.5"
|
|
anyhow = "1.0"
|
|
rand = "0.8.5"
|
|
opentelemetry = { version = "0.31.0", features = ["default", "metrics", "tracing"] }
|
|
opentelemetry_sdk = { version = "0.31.0", features = ["default", "rt-tokio-current-thread", "metrics"] }
|
|
opentelemetry-otlp = { version = "0.31.0", features = ["default", "metrics", "tracing", "grpc-tonic"] }
|
|
opentelemetry-stdout = "0.31.0"
|
|
opentelemetry-appender-log = "0.31.0"
|
|
tempfile = "3.20.0"
|
|
regex = "1.11.1"
|
|
exif = { package = "kamadak-exif", version = "0.6.1" }
|
|
reqwest = { version = "0.12", features = ["json", "stream", "multipart"] }
|
|
async-stream = "0.3"
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
bytes = "1"
|
|
urlencoding = "2.1"
|
|
zerocopy = "0.8"
|
|
ical = "0.11"
|
|
scraper = "0.20"
|
|
base64 = "0.22"
|
|
blake3 = "1.5"
|
|
image_hasher = "3.0"
|
|
bk-tree = "0.5"
|
|
async-trait = "0.1"
|
|
indicatif = "0.17"
|
|
|
|
# Windows lacks system sqlite3, so re-enable the bundled C build there.
|
|
# Linux/macOS use the system library (faster builds, smaller binary).
|
|
[target.'cfg(windows)'.dependencies]
|
|
libsqlite3-sys = { version = "0.35", features = ["bundled"] }
|