<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs" -->

---
title: Firebase Performance Monitoring for Android Tip #1:...
description: A tutorial shows how to automatically create Firebase Performance Monitoring traces for every Activity in an Android app, instead of manually instrumenting...
canonical: https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities | daily.dev
og:description: A tutorial shows how to automatically create Firebase Performance Monitoring traces for every Activity in an Android app, instead of manually instrumenting...
og:url: https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs
og:image: https://api.daily.dev/og/posts/MWeMOU2Qs.png
og:image:alt: Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities

**[Firebase](https://daily.dev/sources/firebase-blog)** · 4 min read · 0 upvotes · 0 comments

## Summary

A tutorial shows how to automatically create Firebase Performance Monitoring traces for every Activity in an Android app, instead of manually instrumenting each one. It uses Android's ActivityLifecycleCallbacks interface to start a trace in onActivityStarted and stop it in onActivityStopped, keyed by activity class name. The singleton callback class is registered via a ContentProvider so it's active before any Activity starts, and a getTrace() method lets individual activities retrieve their trace to add custom counters.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2017/08/firebase-performance-monitoring-for>

## Questions this post answers

### How can I automatically create a Firebase Performance trace for every Activity in my Android app without adding code to each one?

Implement Application.ActivityLifecycleCallbacks as a singleton, calling FirebasePerformance.startTrace(name) in onActivityStarted using the activity's simple class name as the trace name, and trace.stop() in onActivityStopped. Store traces in a HashMap keyed by Activity. Register the singleton in a ContentProvider's onCreate() via app.registerActivityLifecycleCallbacks so it's active before any Activity starts.

_Developers instrumenting Android apps with Firebase can find more implementation patterns like this on daily.dev._

### How do I add custom counters to an automatically generated Firebase Performance trace inside an Activity?

Retrieve the trace created for the current Activity by calling getTrace(this) on the PerfLifecycleCallbacks singleton inside onCreate(), then use that Trace object to tally counters, such as recording cache hit versus miss ratios. This works because the lifecycle callback already started a trace for that Activity when it was launched.

_Track patterns like this for adding measurement to Android app performance work on daily.dev._

## Similar posts on daily.dev

- [Android Developers Blog: Leveling Guide for your Performance Journey](https://daily.dev/posts/android-developers-blog-leveling-guide-for-your-performance-journey-rg3gn8osv) · Android Developers Blog · 1 upvotes · 0 comments
- [Mobile Observability Architecture: Connecting Crashes, Logs, Traces, API Failures, and Business Events](https://daily.dev/posts/mobile-observability-architecture-connecting-crashes-logs-traces-api-failures-and-business-even-j1lbsobr0) · ProAndroidDev · 5 upvotes · 0 comments

---

Tags: [#java](https://daily.dev/tags/java), [#android](https://daily.dev/tags/android), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities","url":"https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs"},"datePublished":"2026-08-23T12:20:36.998Z","dateModified":"2026-08-23T12:32:59.971Z","description":"A tutorial shows how to automatically create Firebase Performance Monitoring traces for every Activity in an Android app, instead of manually instrumenting...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"java,android,firebase","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Firebase Performance Monitoring for Android Tip #1: Automatic Traces for All Activities"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/firebase-performance-monitoring-for-android-tip-1-automatic-traces-for-all-activities-mwemou2qs#faq","mainEntity":[{"@type":"Question","name":"How can I automatically create a Firebase Performance trace for every Activity in my Android app without adding code to each one?","acceptedAnswer":{"@type":"Answer","text":"Implement Application.ActivityLifecycleCallbacks as a singleton, calling FirebasePerformance.startTrace(name) in onActivityStarted using the activity's simple class name as the trace name, and trace.stop() in onActivityStopped. Store traces in a HashMap keyed by Activity. Register the singleton in a ContentProvider's onCreate() via app.registerActivityLifecycleCallbacks so it's active before any Activity starts. Developers instrumenting Android apps with Firebase can find more implementation patterns like this on daily.dev."}},{"@type":"Question","name":"How do I add custom counters to an automatically generated Firebase Performance trace inside an Activity?","acceptedAnswer":{"@type":"Answer","text":"Retrieve the trace created for the current Activity by calling getTrace(this) on the PerfLifecycleCallbacks singleton inside onCreate(), then use that Trace object to tally counters, such as recording cache hit versus miss ratios. This works because the lifecycle callback already started a trace for that Activity when it was launched. Track patterns like this for adding measurement to Android app performance work on daily.dev."}}]}
```

