D
DevOps & CI/CDMedium30 XP4 min read

How do you monitor Flutter app performance in production?

TL;DR: Firebase Performance Monitoring automatically tracks app start time, network requests, and screen rendering. Add custom traces for business-critical operations. Sentry also provides performance monitoring with transaction tracing. Alert on p95 latency regressions.

Full Answer

Production performance monitoring differs from DevTools profiling — you're measuring real user devices, real network conditions, real data. Firebase Performance gives you percentile breakdowns (p50, p75, p95, p99) across your entire user base.

Automatic Monitoring

  • App start time: time from process start to first frame
  • Network requests: latency, success rate, payload size for all HTTP calls
  • Screen rendering: slow/frozen frame rates per screen

Custom Traces

Wrap business operations in custom traces: 'question_load', 'quiz_submit', 'image_process'. See the p95 latency for each — if 5% of users take >3s to load a question, you have a problem.

Code Examples

dartFirebase Performance custom traces
Output
// Firebase Console: shows p50/p75/p95 for 'load_questions'
// Filter by category attribute: see which categories are slow
// Alert: if p95 > 2000ms, fire a PagerDuty/Slack alert

Common Mistakes

  • Only monitoring in development (DevTools) but not production — real user conditions differ dramatically from dev
  • Not adding custom attributes to traces — can't segment 'why is this slow' without category/user context

Interview Tip

💡

p95 latency (the slowest 5% of users) is the production metric that matters. p50 looks fine but p95 catches tail latency issues. Show you track percentiles, not just averages.

#performance-monitoring#Firebase-Performance#traces#network#frame-rate