Aggiungere il monitoraggio personalizzato per un codice dell'app specifico


Performance Monitoring raccoglie tracce per aiutarti a monitorare le prestazioni della tua app. R è un report dei dati sulle prestazioni acquisiti tra due momenti nel la tua app.

Puoi creare tracce personalizzate per monitorare i dati sul rendimento associati a un codice specifico nella tua app. Con una tracce di codice personalizzata, puoi misurare in che modo tempo impiegato dall'app per completare un'attività specifica o un insieme di attività; esempio del caricamento di un insieme di immagini o dell'esecuzione di query sul database.

La metrica predefinita per una traccia di codice personalizzata è la sua "durata" (l'intervallo di i punti di inizio e di fine della traccia), ma puoi 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 Android, puoi anche monitorare metodi specifici utilizzando Annotazione @AddTrace. Le tracce di codice personalizzato possono essere avviate in qualsiasi momento dopo la loro creazione e sono sicure per i thread.

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

Puoi visualizzare i dati di queste tracce nella scheda secondaria Tracce personalizzate delle tracce. che si trova nella parte inferiore della dashboard Rendimento (scopri di più su come utilizzando la console più avanti in questa pagina).

Attributi predefiniti, attributi personalizzati e metriche personalizzate

Per le tracce di codice personalizzate, Performance Monitoring registra automaticamente 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. Tu Puoi anche aggiungere e monitorare gli attributi personalizzati (ad esempio, livello di gioco o proprietà utente).

Puoi configurare ulteriormente una traccia di codice personalizzata per registrare metriche personalizzate per gli eventi correlati al rendimento che si verificano nell'ambito della traccia. Ad esempio, puoi creare una metrica personalizzata per il numero di hit e mancate hit della cache o per il numero di volte in cui l'interfaccia utente diventa non rispondente per un periodo di tempo significativo.

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

Aggiungere tracce di codice personalizzate

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

Tieni presente quanto segue:

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

Per avviare e interrompere una traccia di codice personalizzata, racchiudi il codice da tracciare con linee di codice simili alle seguenti (questo esempio utilizza un nome di traccia personalizzata ditest_trace):

Kotlin+KTX

// 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) Monitorare metodi specifici utilizzando @AddTrace

Le app Android supportano inoltre le @AddTrace annotazione per instrumentare le tracce di codice personalizzate. Con questa funzionalità, la traccia inizia all'inizio del metodo specificato e si interrompe al termine del metodo, inclusi tutti gli elementi richiamati dal metodo.

Ad esempio, puoi creare una traccia di codice personalizzata denominata onCreateTrace che esegue quando viene richiamato il metodo onCreate().

Kotlin+KTX

// 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);
}

Aggiungere metriche personalizzate alle tracce di codice personalizzato

Usa Performance Monitoring API Trace per aggiungere metriche personalizzate alle tracce di codice personalizzate.

Tieni presente quanto segue:

  • I nomi delle metriche personalizzate devono soddisfare i seguenti requisiti: Nessuno spazio vuoto iniziale o finale, nessun carattere di sottolineatura iniziale (_) e la lunghezza massima è di 100 caratteri.
  • Ogni traccia di codice personalizzata può registrare fino a 32 metriche (inclusa la metrica predefinita Durata).

Per aggiungere una metrica personalizzata, aggiungi ogni volta una riga di codice simile alla seguente in cui si verifica l'evento. Ad esempio, questa metrica personalizzata conteggia Eventi correlati alle prestazioni che si verificano nella tua app, ad esempio hit e fallimenti della cache (utilizzando nomi di eventi di esempio item_cache_hit e item_cache_miss e un incremento di 1).

Kotlin+KTX

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();

Creare attributi personalizzati per le tracce di codice personalizzate

Utilizza Performance Monitoring API Trace per aggiungere attributi personalizzati alle tracce di codice personalizzate.

Per utilizzare gli attributi personalizzati, aggiungi all'app del codice che definisce l'attributo e lo associa a una traccia di codice personalizzata specifica. Puoi impostare l'opzione in qualsiasi momento tra l'inizio della traccia e il momento in cui si interrompe.

Tieni presente quanto segue:

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

    • Nessuno spazio vuoto iniziale o finale, nessun carattere 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 personalizzata può registrare fino a cinque attributi personalizzati.

  • Assicurati che gli attributi personalizzati non contengano informazioni che identificano personalmente un individuo su Google.

    Scopri di più su questa linea guida

Kotlin+KTX

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();

Monitorare, visualizzare e filtrare i dati sul rendimento

Monitorare metriche specifiche nella dashboard

Per conoscere l'andamento delle tue metriche chiave, aggiungile alla bacheca delle metriche nella parte superiore della Dashboard sul rendimento. Puoi identificare rapidamente le regressioni analizzando su base settimanale modifiche o verificare che le modifiche recenti al codice stiano migliorando il rendimento.

un&#39;immagine della scheda delle metriche in <span class=Dashboard di Firebase Performance Monitoring" /&gt;

Per aggiungere una metrica alla scheda delle metriche, segui questi passaggi:

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

La scheda delle metriche mostra i dati delle metriche raccolti nel tempo, sia sotto forma di grafico che di variazione percentuale numerica.

Scopri di più sull'utilizzo della dashboard.

Visualizza le tracce e i relativi dati

Per visualizzare le tracce, vai a Dashboard Rendimento Nella console Firebase, scorri verso il basso fino alla tabella delle tracce, quindi fai clic sulla scheda secondaria appropriata. La tabella mostra alcune delle metriche principali per ogni traccia ed è anche possibile ordinare l'elenco per variazione percentuale per una metrica specifica.

Performance Monitoring fornisce una pagina di risoluzione dei problemi nella console Firebase che evidenzia la metrica che consentono di risolvere rapidamente i problemi di rendimento e di minimizzare l'impatto di app e utenti. Puoi usare la pagina di risoluzione dei problemi quando trovi potenziali problemi di prestazioni, ad esempio, nei seguenti scenari:

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

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 che hai selezionato.
  • Nella tabella delle tracce, fai clic sul nome di una traccia o su qualsiasi valore della metrica nella riga associata alla traccia. 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 Filtra per filtrare i dati per attributo, ad esempio:

un&#39;immagine di <span class=Dati di Firebase Performance Monitoring filtrati per attributo" /&gt;
  • Filtra per Versione app per visualizzare i dati relativi a una release precedente o alla release più recente
  • Filtra per Dispositivo per scoprire in che modo i dispositivi meno recenti gestiscono la tua app
  • Filtra per Paese per assicurarti che la località del database non influisca su un valore specifico regione

Scopri di più su per la visualizzazione dei dati delle immagini.

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 in Console Firebase.

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

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