Repository navigation
scenarios: add otap-rust collector scenario - #19
Conversation
0dec0c2 to
98a483b
Compare
8bd066f to
b0b124f
Compare
Adds the manifests/scenarios/otap-rust benchmark scenario for the Rust OTAP Dataflow Engine (df_engine) scraping the 16-pod avalanche deployment via urn:otel:receiver:prometheus (backed by prometheus/expfmt-rs) -> exporter:noop to measure HTTP scrape and Arrow decoding throughput, CPU, and memory in isolation. Also adds a headless Kubernetes Service for avalanche so DNS service discovery resolves all 16 avalanche pod IPs, and updates core Prometheus/Parca configs to scrape df_engine's /api/v1/metrics endpoint and profile the otap-collector container. Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
b0b124f to
87eb88e
Compare
…y.googleapis.com Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
…tch limit Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
ResultsInitial results are spectacular. I couldn't believe when I saw it. Scalable metrics performance of like ~30x in memory usage. Logging, tracing and profiling pipelines could be improved as well (at least 10x).
If true, this changes a lot. We don't need some caches, we can deprioritize various scalability work (e.g. complex VPA for DaemonSets), we can mitigate stockout problems, we effectively will save hundreds of millions of USD per year at Google, on collection alone around my space (yes, I calculated), easily $4+B across the world. This is the evidence I and others in community needed that we should literally stop investing in Go implementations (Rust slow dev AI velocity is effectively solved) and row-based design for collections and backends (you will see some fun proposals in Prometheus and Thanos space soon!). I am consulting those results with otel-arrow SIG. Huge thanks to otel-arrow folks and especially @lquerel for help. Thanks to @nicolastakashi for the collab on prometheus/scrape.rs#31 so far, and Saswata, Michael, Frederic, Matthias, Filip, and Jesus for inspiration for the columnar work. Let's keep the good work 💪🏽 DisclaimerCurrently benchmarked version does NOT have a full parity. I am sending all metrics 1:1 across those scenarios, but:
On the other hand, we are converting Otel Arrow to inefficient OTLP (row based), so with OTAP this pipeline should be even better (assuming backends adopt OTAP). WHY SO GOOD?
|
|
Thanks, @bwplotka , for working on this integration. It's really exciting to see the impact otap/otel-arrow can have on this type of workload. |


Adds the
otap-rustscenario undermanifests/scenarios/otap-rustto benchmark the Rust OTAP Dataflow Engine (df_engine) scrapingavalanchewithurn:otel:receiver:prometheus(prometheus/scrape.rs, open-telemetry/otel-arrow#4630) and exporting viaurn:otel:exporter:otlp_grpc+urn:otel:extension:gcp_auth(open-telemetry/otel-arrow#4650) to Google Cloud Telemetry (https://telemetry.googleapis.com:443).