Explorando métricas de performance mobile utilizando Firebase y Google Data Studio

Parte 1

Jonatán Urquiza
PeYa Tech
4 min readAug 22, 2022

--

Introducción

TL;DR

Con Google Data Studio se pueden explorar métricas de Performance de Firebase y crear dashboards y reportes personalizados.

Medir performance es fundamental para mejorar continuamente el rendimiento de una aplicación. Como dijo el reconocido científico William Thomson Kelvin: “Lo que no se define no se puede medir. Lo que no se mide, no se puede mejorar. Lo que no se mejora, se degrada siempre.”

En consecuencia hay 3 aspectos a considerar al momento de mejorar la performance.

  1. Definir
  2. Medir
  3. Analizar
  4. Accionar

1. Definir

En primer lugar se debe definir qué se va a medir. Cuando se habla de métricas de performance de una aplicación principalmente se relaciona con tiempos de carga, ausencia de fallos y fluidez de renderizado. En web se está familiarizado con Web Vitals. Por otro lado, en mobile no se encuentra del todo estandarizado. Existen métricas como: Tasas de ANR (Application not responding), App Start, Tasas de fallos o crashes, Slow frames, Frozen frames, etc.

Un tipo de métrica que se utiliza para medir el tiempo entre distintas interacciones es la traza de performance. Una traza de performance tiene un comienzo y una finalización; la métrica principal es el tiempo entre estos dos momentos.

Las trazas de performance sirven, por ejemplo, para medir el tiempo de carga de una pantalla, el tiempo de duración de un servicio, etc.

El presente artículo se centrará en cómo medir y analizar trazas de performance.

2. Medir

Para medir trazas de performance se utilizan las sdk de Firebase para iOS y Android respectivamente. Para realizar el setup se recomienda realizar el get-started: iOS - Android

Ejemplo creación de trazas:

iOS

import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// add custom attributes
trace.setValue("value", forAttribute: "key")

trace.stop()

Android

import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val trace = Firebase.performance.newTrace("CUSTOM_TRACE_NAME")
trace.start()

// add custom attributes
trace.putAttribute("key", "value")

trace.stop()

Normalmente interesa conocer el tiempo desde que se abre una pantalla hasta que se encuentra renderizada y lista para usar, en consecuencia, se debe realizar el start y stop de cada traza de acuerdo a lo que se requiera medir.

3. Analizar

3.1 Panel Firebase

Firebase permite monitorear performance Out of the box. Se puede observar durations, network request, screen rendering permitiendo comparar por versión de la aplicación, atributos personalizados y por percentiles.

El percentil es una medida estadística utilizada para comparar datos. Consiste en ordenar todos los datos de menor a mayor y dividir en 100 partes iguales. Entonces si tomamos, por ejemplo, el percentil 90 (p90), se lee: “El valor de la muestra donde el 90% de las muestras es menor o igual a dicho valor”

Por ejemplo si el p90 de una serie de 1000 muestras es 1,53 segundos, quiere decir que el 90% de todas las muestras (900 muestras) miden menos o igual a 1,53 segundos. El 10% restante miden más de 1,53 segundos.

Google recomienda como buena práctica medir el p90 en las trazas de performance.

3.2 Desventajas Panel Firebase

Si bien el Panel Firebase es sumamente útil para explorar métricas de performance, hay una oportunidad al momento de compartir las exploraciones:

  • Los dashboards creados en el panel son personales, no se pueden compartir.
  • Sólo se pueden tener 6 métricas por dashboard.
  • Para acceder a la información de performance es necesario tener acceso a la consola de Firebase.

3.3 Google Data Studio

3.3.1 Google Data Studio

Google Data Studio es un herramienta que permite construir, a partir de set de datos, tableros y reportes personalizados. En este caso particular el set de datos que se utilizará es el de Firebase Performance. Para acceder al set de datos mencionados es necesario encender la integración Big Query en Firebase.

Big Query es la solución de Google para almacenar datos y que sean accesibles mediante consultas SQL. Todos los datos de Firebase Performance, mediante la integración mencionada, se almacenarán en Big Query periódicamente. Lo que permitirá que se pueda acceder a toda la información de performance tanto en Google Data Studio como también en otras aplicaciones de Google que soporten como fuente de datos Big Query.

3.3.2 Integración Big Query

Para encender la integración hay que realizar los siguientes pasos:

  1. Ir a configuraciones del proyecto

2. Seleccionar: Integraciones

3. Hacer clic en Link en la integración Big Query

4. Configurar integración para que exporte las muestras de datos de Firebase Performance Monitoring seleccionando las apps pertinentes.

5. Vincular a Big Query

De esta manera ya se tiene toda la información de performance disponible en Big Query lista para explorar.

Parte 2

La parte 2 de este artículo es un tutorial para crear un dashboard en Google Data Studio utilizando toda la información que se acaba de exportar de Firebase a Big Query.

Ver parte 2

--

--