Sto: A Better Way to Store and Query Profiler Data
summary
Stores sampled stacks as a directed acyclic graph and claims reduces footprint by roughly five orders of magnitude at scale (toy apps see ~2 orders), with an open source implementation named Stow. Symbols + file path + line are hashed to 64‑bit stack node data IDs, and DAG vertices are stack nodes keyed by parent+executable+data so counts aggregate without deadlocks. In‑database traversal (performance_subtree) reconstructs flame graphs, SQL queries detect cross‑binary regressions (demo: do_logging made simulate_work 10× heavier), profiler used is a libbpf sampler and symbolizer BlazeSim.
AI-written summary · about
chapters (8)
- 0:00Profiler data challenges
- 2:54Profiler storage difficulties
- 4:00Introducing Sto and DAG model
- 5:06Sto’s efficient storage primitives
- 9:59Querying call graphs
- 10:21Finding regressions
- 11:47Demo and tools
- 12:08Conclusion and Q&A
related talks
42mFlamegraphs 201
19mA New Approach to Logging as a Stack: Fluent Bit + PostgreSQL (FPS)
18mPerformance Profiling in FoundationDB
17mBring Your Own Data Structures to Datalog
23mHow GraphQL Helped Create Scalability and Stability in the Retirement Space.
37mType safety in the world of graph databases
37mGraph Computing at Scale
37mKEYNOTE: Data Architecture Turned Upside Down
