Aggiungere il monitoraggio personalizzato per un codice dell'app specifico


Performance Monitoring raccoglie tracce per aiutarti a monitorare i dati sul rendimento della tua app. Una traccia è un report dei dati sul rendimento acquisiti tra due momenti nella tua app.

Puoi creare le tue tracce per monitorare i dati sul rendimento associati a un codice specifico nella tua app. Con una traccia del codice personalizzata, puoi misurare il tempo necessario alla tua app per completare un'attività specifica o un insieme di attività, ad esempio il caricamento di un insieme di immagini o l'esecuzione di query sul database.

La metrica predefinita per una traccia del codice personalizzato è la "durata" (il tempo tra i punti di inizio e di fine della traccia), ma puoi anche aggiungere metriche personalizzate.

Nel codice, definisci l'inizio e la fine di una traccia di codice personalizzata utilizzando le API fornite dall'SDK Performance Monitoring. Per le app per Android, puoi anche monitorare metodi specifici utilizzando l'annotazione @AddTrace. Le tracce di codice personalizzato possono essere avviate in qualsiasi momento dopo la loro creazione e sono thread-safe.

Poiché la metrica predefinita raccolta per queste tracce è "durata", a volte vengono chiamate "tracce di durata".

Puoi visualizzare i dati di queste tracce nella sottoscheda Tracce personalizzate della tabella delle tracce, che si trova nella parte inferiore della dashboard Prestazioni (scopri di più sull'utilizzo della console più avanti in questa pagina).

Attributi predefiniti, attributi personalizzati e metriche personalizzate

Per le tracce di codice personalizzato, Performance Monitoring registra automaticamente gli attributi predefiniti (metadati comuni come versione dell'app, paese, dispositivo e così via) in modo da poter filtrare i dati per la traccia nella console Firebase. Puoi anche aggiungere e monitorare attributi personalizzati (ad esempio, livello di gioco o proprietà utente).

Puoi configurare ulteriormente una traccia del codice personalizzato per registrare metriche personalizzate per gli eventi relativi alle prestazioni che si verificano nell'ambito della traccia. Ad esempio, puoi creare una metrica personalizzata per il numero di successi e fallimenti della cache o per il numero di volte in cui la UI non risponde per un periodo di tempo evidente.

Gli attributi personalizzati e le metriche personalizzate vengono visualizzati nella console Firebase insieme agli attributi predefiniti e alla metrica predefinita per la traccia.

Aggiungi tracce di codice personalizzate

Utilizza l'API Trace Performance Monitoring per aggiungere tracce di codice personalizzate per monitorare il codice dell'applicazione specifico.

Tieni presente quanto segue:

  • Un'app può avere più tracce di codice personalizzate.
  • È possibile eseguire più tracce di codice personalizzato contemporaneamente.
  • I nomi delle tracce di codice personalizzato devono soddisfare i seguenti requisiti: non devono contenere spazi vuoti iniziali o finali, non devono contenere il carattere di trattino basso (_) iniziale e la lunghezza massima è di 100 caratteri.
  • Le tracce di codice personalizzate supportano l'aggiunta di metriche personalizzate e attributi personalizzati.

Per avviare e arrestare una traccia del codice personalizzato, racchiudi il codice che vuoi tracciare con righe di codice simili alle seguenti (questo esempio utilizza un nome di traccia personalizzato di test_trace):

Kotlin

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(Facoltativo) Monitora metodi specifici utilizzando @AddTrace

Le app per Android supportano anche l'annotazione @AddTrace per instrumentare le tracce di codice personalizzato. Utilizzando questa funzionalità, la traccia inizia all'inizio del metodo specificato e si interrompe al termine del metodo, incluso tutto ciò che viene richiamato dal metodo.

Ad esempio, puoi creare una traccia del codice personalizzata denominata onCreateTrace che viene eseguita quando viene chiamato il metodo onCreate().

Kotlin

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Aggiungi metriche personalizzate alle tracce di codice personalizzato

Utilizza l'API Trace Performance Monitoring per aggiungere metriche personalizzate alle tracce di codice personalizzato.

Tieni presente quanto segue:

  • I nomi delle metriche personalizzate devono soddisfare i seguenti requisiti: nessuno spazio vuoto all'inizio o alla fine, nessun carattere di trattino basso (_) all'inizio e lunghezza massima di 100 caratteri.
  • Ogni traccia di codice personalizzato può registrare fino a 32 metriche (inclusa la metrica predefinita Durata).

Per aggiungere una metrica personalizzata, aggiungi una riga di codice simile alla seguente ogni volta che si verifica l'evento. Ad esempio, questa metrica personalizzata conteggia gli eventi relativi alle prestazioni che si verificano nella tua app, come i successi e gli errori della cache (utilizzando i nomi degli eventi di esempio item_cache_hit e item_cache_miss e un incremento di 1).

Kotlin

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

Crea attributi personalizzati per le tracce di codice personalizzato

Utilizza l'API Trace di Performance Monitoring per aggiungere attributi personalizzati alle tracce di codice personalizzato.

Per utilizzare gli attributi personalizzati, aggiungi alla tua app un codice che definisca l'attributo e lo associ a una specifica traccia di codice personalizzato. Puoi impostare l'attributo personalizzato in qualsiasi momento tra l'inizio e l'interruzione della traccia.

Tieni presente quanto segue:

  • I nomi degli attributi personalizzati devono soddisfare i seguenti requisiti:

    • Nessuno spazio vuoto iniziale o finale, nessun carattere di trattino basso (_) iniziale
    • Nessuno spazio
    • La lunghezza massima è di 32 caratteri
    • I caratteri consentiti per il nome sono A-Z, a-z e _.
  • Ogni traccia di codice personalizzato può registrare fino a 5 attributi personalizzati.

  • Assicurati che gli attributi personalizzati non contengano informazioni che consentono l'identificazione personale di un individuo da parte di Google.

    Scopri di più su questa linea guida

Kotlin

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

Monitora, visualizza e filtra i dati sul rendimento

Monitora metriche specifiche nella tua dashboard

Per scoprire l'andamento delle metriche chiave, aggiungile alla scheda delle metriche nella parte superiore della dashboard Rendimento. Puoi identificare rapidamente le regressioni visualizzando le modifiche di settimana in settimana o verificare che le modifiche recenti al codice stiano migliorando le prestazioni.

un'immagine della bacheca delle metriche nella <span class=Dashboard di Firebase Performance Monitoring" />

Per aggiungere una metrica alla dashboard delle metriche:

  1. Vai alla dashboard Prestazioni nella console Firebase.
  2. Fai clic su una scheda delle metriche vuota, poi seleziona una metrica esistente da aggiungere alla dashboard.
  3. Fai clic su in una scheda delle metriche compilata per visualizzare altre opzioni, ad esempio per sostituire o rimuovere una metrica.

La bacheca delle metriche mostra i dati delle metriche raccolti nel tempo, sia in forma grafica sia come variazione percentuale numerica.

Scopri di più su come utilizzare la dashboard.

Visualizza le tracce e i relativi dati

Per visualizzare le tracce, vai alla dashboard Prestazioni nella console Firebase, scorri verso il basso fino alla tabella delle tracce e fai clic sulla sottoscheda appropriata. La tabella mostra alcune metriche principali per ogni traccia e puoi persino ordinare l'elenco in base alla variazione percentuale di una metrica specifica.

Performance Monitoring fornisce una pagina per la risoluzione dei problemi nella console Firebase che evidenzia le modifiche alle metriche, semplificando la risoluzione rapida e riducendo al minimo l'impatto dei problemi di prestazioni sulle tue app e sui tuoi utenti. Puoi utilizzare la pagina di risoluzione dei problemi quando vieni a conoscenza di potenziali problemi di prestazioni, ad esempio nei seguenti scenari:

  • Selezioni le metriche pertinenti nella dashboard e noti un delta elevato.
  • Nella tabella delle tracce, ordina i dati in modo da visualizzare i delta più grandi in alto e vedrai una variazione percentuale significativa.
  • Ricevi un avviso via email che ti informa di un problema di prestazioni.

Puoi accedere alla pagina di risoluzione dei problemi nei seguenti modi:

  • Nella dashboard delle metriche, fai clic sul pulsante Visualizza i dettagli della metrica.
  • In qualsiasi scheda delle metriche, seleziona => Visualizza dettagli. La pagina di risoluzione dei problemi mostra informazioni sulla metrica selezionata.
  • Nella tabella delle tracce, fai clic sul nome di una traccia o su un valore di metrica nella riga associata alla traccia.
  • In un avviso via email, fai clic su Indaga ora.

Quando fai clic sul nome di una traccia nella tabella delle tracce, puoi visualizzare in dettaglio le metriche di interesse. Fai clic sul pulsante Filtro per filtrare i dati in base all'attributo, ad esempio:

un'immagine di <span class=Dati di Firebase Performance Monitoring filtrati per attributo" />
  • Filtra per Versione app per visualizzare i dati relativi a una release precedente o alla release più recente.
  • Filtra per Dispositivo per scoprire come i dispositivi meno recenti gestiscono la tua app
  • Filtra per Paese per assicurarti che la posizione del database non influisca su una regione specifica

Scopri di più sulla visualizzazione dei dati per le tracce.

Passaggi successivi

  • Scopri di più sull'utilizzo degli attributi per esaminare i dati sul rendimento.

  • Scopri di più su come monitorare i problemi di prestazioni nella console Firebase.

  • Configura avvisi per le modifiche al codice che peggiorano le prestazioni della tua app. Ad esempio, puoi configurare un avviso via email per il tuo team se la durata di una specifica traccia di codice personalizzato supera una soglia impostata.

  • Visualizza report dettagliati delle sessioni utente in cui puoi vedere una traccia specifica nel contesto della sequenza temporale di altre tracce raccolte durante la stessa sessione.