Operations Engineer at Sentry·
Shared insights
on
PythonPythonRustRust
at

Sentry's event processing pipeline, which is responsible for handling all of the ingested event data that makes it through to our offline task processing, is written primarily in Python.

For particularly intense code paths, like our source map processing pipeline, we have begun re-writing those bits in Rust. Rust’s lack of garbage collection makes it a particularly convenient language for embedding in Python. It allows us to easily build a Python extension where all memory is managed from the Python side (if the Python wrapper gets collected by the Python GC we clean up the Rust object as well).

READ LESS
How Sentry Receives 20 Billion Events Per Month While Preparing to Handle Twice That - Sentry Tech Stack | StackShare (stackshare.io)
18 upvotes·1 comment·321.8K views
Max Grigorev
Max Grigorev
·
September 21st 2018 at 5:18AM

This is intriguing. Mind elaborating, why did you go with Rust vs, say, C or C++?

Thanks for sharing!

·
Reply
Avatar of James Cunningham

James Cunningham

Operations Engineer at Sentry