Aggiungi monitoraggio personalizzato per codice app specifico

Il monitoraggio delle prestazioni raccoglie tracce per aiutarti a monitorare le prestazioni della tua app. Una traccia è un report di dati sulle prestazioni acquisiti tra due momenti temporali nell'app.

Puoi creare le tue tracce per monitorare i dati sulle prestazioni associati al codice specifico nella tua app. Con una traccia del codice personalizzata , puoi misurare quanto tempo impiega la tua app per completare un'attività specifica o una serie di attività, ad esempio caricando una serie di immagini o interrogando il tuo database.

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

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

Poiché la metrica predefinita raccolta per queste tracce è la "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 del dashboard Prestazioni (ulteriori informazioni sull'utilizzo della console più avanti in questa pagina).

Attributi predefiniti, attributi personalizzati e metriche personalizzate

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

È possibile configurare ulteriormente una traccia del codice personalizzato per registrare parametri personalizzati per eventi relativi alle prestazioni che si verificano nell'ambito della traccia. Ad esempio, puoi creare una metrica personalizzata per il numero di riscontri positivi e mancati della cache o il numero di volte in cui l'interfaccia utente non risponde per un periodo di tempo notevole.

Gli attributi e i parametri personalizzati vengono visualizzati nella console Firebase insieme agli attributi e ai parametri predefiniti per la traccia.

Aggiungi tracce di codice personalizzato

Utilizza l' API di traccia di monitoraggio delle prestazioni per aggiungere tracce di codice personalizzate per monitorare il codice dell'applicazione specifica.

Tieni presente quanto segue:

  • Un'app può avere più tracce di codice personalizzato.
  • È possibile eseguire più tracce di codice personalizzato contemporaneamente.
  • I nomi per le tracce del codice personalizzato devono soddisfare i seguenti requisiti: nessuno spazio iniziale o finale, nessun carattere di sottolineatura iniziale ( _ ) e la lunghezza massima è di 100 caratteri.
  • Le tracce del codice personalizzato supportano l'aggiunta di parametri e attributi personalizzati .

Per avviare e interrompere una traccia del codice personalizzato, racchiudi il codice che desideri tracciare con righe di codice simili alle seguenti (questo esempio utilizza un nome di traccia personalizzato test_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 anche l' annotazione @AddTrace per strumentare le tracce del codice personalizzato. Utilizzando questa funzionalità, la traccia inizia all'inizio del metodo specificato e si interrompe al completamento del metodo, incluso qualsiasi cosa richiamata dal metodo.

Ad esempio, puoi creare una traccia di codice personalizzato denominata onCreateTrace che viene eseguita quando viene chiamato 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);
}

Aggiungi metriche personalizzate alle tracce di codice personalizzato

Utilizza l' API di traccia di monitoraggio delle prestazioni per aggiungere metriche personalizzate alle tracce di codice personalizzate.

Tieni presente quanto segue:

  • I nomi per le metriche personalizzate devono soddisfare i seguenti requisiti: nessuno spazio iniziale o finale, nessun carattere di sottolineatura iniziale ( _ ) e la lunghezza massima è di 100 caratteri.
  • Ciascuna traccia del codice personalizzato può registrare fino a 32 parametri (inclusa la metrica Durata predefinita).

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 conta gli eventi relativi alle prestazioni che si verificano nella tua app, come gli accessi e i mancati riscontri nella 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();

Crea attributi personalizzati per tracce di codice personalizzato

Utilizza l' API di traccia di monitoraggio delle prestazioni per aggiungere attributi personalizzati alle tracce di codice personalizzato.

Per utilizzare gli attributi personalizzati, aggiungi il codice alla tua app che definisce l'attributo e lo associa a una traccia di codice personalizzato specifica. È possibile impostare l'attributo personalizzato in qualsiasi momento tra l'avvio e l'interruzione della traccia.

Tieni presente quanto segue:

  • I nomi per gli attributi personalizzati devono soddisfare i seguenti requisiti:

    • Nessuno spazio bianco iniziale o finale, nessun carattere di sottolineatura iniziale ( _ ).
    • No spazi
    • La lunghezza massima è di 32 caratteri
    • I caratteri consentiti per il nome sono AZ , az e _ .
  • Ciascuna traccia del codice personalizzato può registrare fino a 5 attributi personalizzati.

  • Assicurati che gli attributi personalizzati non contengano informazioni che identifichino 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();

Tieni traccia, visualizza e filtra i dati sulle prestazioni

Tieni traccia di metriche specifiche nella tua dashboard

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

un'immagine della scheda delle metriche nella dashboard di Firebase Performance Monitoring

Per aggiungere una metrica alla scheda delle metriche, procedi nel seguente modo:

  1. Vai alla dashboard Prestazioni nella console Firebase.
  2. Fai clic su una scheda metrica vuota, quindi seleziona una metrica esistente da aggiungere alla tua scheda.
  3. Fai clic su su una scheda metrica popolata per ulteriori opzioni, ad esempio per sostituire o rimuovere una metrica.

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

Ulteriori informazioni sull'utilizzo del dashboard .

Visualizza le tracce e i relativi dati

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

Il monitoraggio delle prestazioni fornisce una pagina di 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 app e sugli utenti. Puoi utilizzare la pagina di risoluzione dei problemi quando scopri potenziali problemi di prestazioni, ad esempio, nei seguenti scenari:

  • Selezioni le metriche pertinenti sulla dashboard e noti un grande delta.
  • Nella tabella delle tracce ordini per visualizzare i delta più grandi in alto e vedi una variazione percentuale significativa.
  • Ricevi un avviso e-mail che ti informa di un problema di prestazioni.

È possibile accedere alla pagina di risoluzione dei problemi nei seguenti modi:

  • Nella dashboard delle metriche, fare clic sul pulsante Visualizza dettagli metrica .
  • Su qualsiasi scheda metrica, seleziona => Visualizza i dettagli . La pagina di risoluzione dei problemi visualizza informazioni sulla metrica selezionata.
  • Nella tabella delle tracce, fare clic sul nome di una traccia o su qualsiasi valore di metrica nella riga associata a tale traccia.
  • In un avviso email, fai clic su Esamina adesso .

Quando fai clic sul nome di una traccia nella tabella delle tracce, puoi approfondire i parametri di interesse. Clicca il Pulsante filtro per filtrare i dati per attributo, ad esempio:

un'immagine dei dati di Firebase Performance Monitoring filtrati per attributo
  • Filtra per versione dell'app per visualizzare i dati su una versione passata o sulla tua ultima versione
  • Filtra per dispositivo per scoprire in che modo i dispositivi meno recenti gestiscono la tua app
  • Filtra per Paese per assicurarti che la posizione del tuo database non influisca su una regione specifica

Ulteriori informazioni sulla visualizzazione dei dati per le tracce .

Prossimi passi

  • Ulteriori informazioni sull'utilizzo degli attributi per esaminare i dati sulle prestazioni.

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

  • Imposta avvisi per modifiche al codice che riducono le prestazioni della tua app. Ad esempio, puoi configurare un avviso e-mail per il tuo team se la durata di una specifica traccia del codice personalizzato supera una soglia impostata.

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