Aggiungi monitoraggio personalizzato per codice app specifico

Performance Monitoring raccoglie tracce per aiutarti a monitorare le prestazioni della tua app. Una traccia è un rapporto di dati sulle prestazioni acquisiti tra due momenti nella tua app.

Puoi creare le tue tracce per monitorare i dati sulle prestazioni associati a 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 il caricamento di una serie di immagini o l'esecuzione di query nel database.

La metrica predefinita per una traccia di codice personalizzata è la sua "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 da Performance Monitoring SDK.Per le app Android, puoi anche monitorare metodi specifici utilizzando l' annotazione @AddTrace .tracce del codice personalizzato possono essere avviate in qualsiasi momento dopo la 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 del dashboard Prestazioni (ulteriori informazioni sull'utilizzo della console più avanti in questa pagina).

Attributi predefiniti, attributi personalizzati e metriche personalizzate

Per le tracce di codice personalizzate, 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 (come il livello di gioco o le proprietà dell'utente).

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

Gli attributi 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

Utilizzare l' API di traccia del monitoraggio delle prestazioni per aggiungere tracce di codice personalizzate per monitorare il codice dell'applicazione specifico.

Nota quanto segue:

  • Un'app può avere più tracce di codice personalizzate.
  • È possibile eseguire più tracce di codice personalizzato contemporaneamente.
  • I nomi per le tracce di codice personalizzato devono soddisfare i seguenti requisiti: nessuno spazio vuoto iniziale o finale, nessun carattere di sottolineatura 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 interrompere una traccia di codice personalizzata, avvolgi il codice che desideri tracciare con righe di codice simili alle seguenti (questo esempio usa un nome di traccia personalizzato di test_trace ):

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

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

(Facoltativo) Monitora metodi specifici utilizzando @AddTrace

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

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

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

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
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Aggiungi metriche personalizzate alle tracce di codice personalizzate

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

Nota quanto segue:

  • I nomi per le 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 del codice personalizzato può registrare fino a 32 metriche (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 conteggia gli eventi relativi alle prestazioni che si verificano nella tua app, ad esempio gli hit and miss della cache (usando nomi di eventi di esempio di item_cache_hit e item_cache_miss e un incremento di 1 ).

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

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

Crea attributi personalizzati per tracce di codice personalizzate

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

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

Nota quanto segue:

  • I nomi per gli attributi personalizzati devono soddisfare i seguenti requisiti: nessuno spazio vuoto iniziale o finale, nessun carattere di sottolineatura iniziale ( _ ) e la lunghezza massima è di 32 caratteri.

  • Ogni traccia di codice personalizzato può registrare fino a 5 attributi personalizzati.

  • Non dovresti utilizzare attributi personalizzati che contengono informazioni che identificano personalmente un individuo su Google.

    Ulteriori informazioni su questa linea guida

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

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
}

Traccia, visualizza e filtra i dati sulle prestazioni

Tieni traccia di metriche specifiche nella tua dashboard

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

un'immagine della scheda delle metriche nella dashboard di monitoraggio delle prestazioni di Firebase

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

  1. Vai alla dashboard delle prestazioni nella console Firebase.
  2. Fai clic su una scheda metrica vuota, quindi seleziona una metrica esistente da aggiungere alla tua bacheca.
  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 della dashboard .

Visualizza le tracce e i loro dati

Per visualizzare le tue 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 ciascuna traccia e puoi persino ordinare l'elenco in base alla variazione percentuale per una metrica specifica.

Monitoraggio delle prestazioni fornisce una pagina per la risoluzione dei problemi nella console Firebase che evidenzia le modifiche alle metriche, semplificando la rapida risoluzione e riducendo al minimo l'impatto dei problemi di prestazioni sulle tue app e sugli utenti. Puoi utilizzare la pagina di risoluzione dei problemi per conoscere potenziali problemi di prestazioni, ad esempio nei seguenti scenari:

  • Selezioni le metriche pertinenti sulla dashboard e noti un grande delta.
  • Nella tabella delle tracce si ordina per visualizzare i delta più grandi in alto e si vede 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, fai clic sul pulsante Visualizza dettagli metrica .
  • Su qualsiasi scheda metrica, seleziona => Visualizza dettagli . La pagina di risoluzione dei problemi mostra 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 e-mail, fai clic su Esamina ora .

Quando si fa clic sul nome di una traccia nella tabella delle tracce, è possibile visualizzare in dettaglio le metriche di interesse. Fare clic sul pulsante filtro per filtrare i dati per attributo, ad esempio:

un'immagine dei dati di monitoraggio delle prestazioni di Firebase filtrati per attributo
  • Filtra per versione dell'app per visualizzare i dati su una versione passata o sull'ultima versione
  • 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

Ulteriori informazioni sulla visualizzazione dei dati per le tue tracce .

Prossimi passi

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

  • Scopri di più su come tenere traccia dei problemi di prestazioni nella console Firebase.

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

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