~/talk

Debugging Android Performance at Scale: Lessons from Building Datadog's Mobile Profiler

Talkat droidCon USA 2026 · on Friday, 2026-07-17· at 11:45· W224 B Workshop Room· [observability, android]
links:none on file
slides:none on file

Datadog builds a production profiling pipeline that uses ProfilingManager API (API 35+ with triggers in 36 and extra triggers in 37) to collect Perfetto traces, CPU samples, system traces and heap profiles tied to real user sessions. Profiles arrive as protobufs, are parsed with Perfetto trace_processor into SQLite using Perfetto SQL, then deobfuscated with mapping files. Rate limits and per-device budgets reduce sampling yield; processing requires terabytes of storage, remote configuration to change sample rates, and aggregation to surface percentiles and root-cause methods.

AI-written summary · about

  1. 0:00Android performance debugging
  2. 1:02Why we built Android profiler
  3. 3:32Android performance basics
  4. 9:34Profiling Manager API
  5. 16:19Processing profiling data
  6. 20:17Profiling in production
  7. 24:07Debugging performance example
  8. 26:15Profiling caveats and limits
  9. 27:40Integration and setup
  10. 31:20Aggregating profiling data
  11. 33:25Remote profiling config
  12. 34:48Resources and closing
  13. 35:10Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.