Stackdriver Trace

Stackdriver Trace es un sistema de trazas distribuidas de Google Cloud Platform que recopila datos de latencia de Google App Engine, de los balanceadores de carga Google HTTP y HTTPS y de las aplicaciones equipadas con el SDK de Stackdriver Trace y los muestra prácticamente en tiempo real en la consola de Google Cloud Platform. Te ayuda a comprender cuánto tiempo tarda la aplicación en gestionar las peticiones entrantes de los usuarios u otras aplicaciones y cuánto tiempo lleva completar operaciones como las llamadas RPC, que se realizan al gestionar las peticiones. Actualmente, Stackdriver Trace recopila datos de latencia completos de peticiones de URI de App Engine y otros datos de las llamadas RPC de ida y vuelta a servicios de App Engine como Datastore, URL Fetch y Memcache.

A medida que los microservicios adquieren popularidad, el rastreo entre aplicaciones proporcionado por Stackdriver Trace se convierte en un elemento esencial para identificar la causa de los problemas de latencia.

Página de visión general de Stackdriver Trace

Puedes usar Stackdriver Trace para realizar las siguientes tareas:

  • Ver rápidamente una captura de pantalla de los datos de latencia del último día de la aplicación en la visión general de las trazas.
  • Explorar los datos de latencia detallados, entre los que se incluyen los datos de rendimiento y los datos detallados de las peticiones de aplicaciones más frecuentes y las llamadas RPC.
  • Encontrar datos de latencia de peticiones individuales y ver los detalles de latencia.
  • Generar informes de análisis personalizados que muestren una visión general de los datos de latencia para todas las peticiones o un subconjunto de estas y que permitan comparar dos conjuntos diferentes de datos de latencia.

¿Por qué Stackdriver Trace?

Gestión de latencia (es decir, administrar la cantidad de tiempo que tarda la aplicación en gestionar las peticiones entrantes y realizar operaciones) es una parte importante de la administración del rendimiento general de la aplicación. Stackdriver Trace te ayuda a supervisar la latencia de la aplicación, identificar el origen y optimizar la aplicación en función de los datos que recopila.

Como Stackdriver Trace está estrechamente integrado con Google App Engine, ofrece un alto nivel de cobertura y fidelidad cuando recopilar datos de latencia de las aplicaciones. También proporciona informes integrados de análisis automáticos que facilitan la comprensión de la latencia de la aplicación y los cuellos de botella, y cómo afectan estos al rendimiento general.

Stackdriver Trace puede ayudarte a responder las siguientes preguntas:

  • ¿Cuánto tiempo tarda la aplicación en gestionar una petición determinada?
  • ¿Por qué tarda tanto mi aplicación en gestionar una petición?
  • ¿Por qué algunas de las peticiones tardan más tiempo que otras?
  • ¿Cuál es la latencia general de las peticiones a mi aplicación?
  • ¿La latencia de mi aplicación aumentó o disminuyó con el tiempo?
  • ¿Qué puedo hacer para reducir la latencia de la aplicación?

¿Cómo funciona Stackdriver Trace?

Stackdriver Trace funciona para cualquier aplicación de App Engine que se esté ejecutando. Durante el tiempo de ejecución de la aplicación, App Engine envía datos de latencia a Stackdriver Trace de las peticiones a los URI de la aplicación y, dentro de las peticiones, para las llamadas RPC de ida y vuelta a los servicios de App Engine. Stackdriver Trace funciona con todas las API App Engine, excepto con Cloud SQL.

App Engine envía datos de latencia a los backend de Stackdriver Trace en forma de traza. Las trazas constan de un intervalo raíz, que contiene información de latencia general sobre la petición, así como de conjuntos de espacios que contienen información de latencia sobre cualquier llamada RPC completa. Cada intervalo contiene un conjunto de propiedades que proporcionan información sobre el origen y la cantidad de latencia.

Stackdriver Trace almacena los datos de latencia entrante en sus backends de almacenamiento, y los pone a disponibilidad de los usuarios para visualizarlos y generar informes en tiempo real en la consola de GCP.

Terminología de trazas

Traza

Una traza realiza un seguimiento de una petición entrante a la aplicación y de los diversos eventos (normalmente, llamadas RPC o secciones instrumentadas de código) que tuvieron lugar para generar una respuesta a la petición, junto con tiempos precisos. Estos eventos se representan como tramos en la traza.

Intervalo

Un componente de traza que representa una llamada RPC que tuvo lugar como resultado de la petición inicial a la aplicación.

Anotación

Metadatos adjuntos en un intervalo particular. Entre los ejemplos comunes se incluyen la versión del servicio en el que se ejecuta el intervalo, los datos relacionados con el generador de una llamada RPC capturada (como el agente de usuario de un explorador web del intervalo raíz de una traza) o los datos personalizados que el desarrollador eligió incluir con un intervalo. Algunos de estos valores se pueden filtrar en la interfaz de usuario de Stackdriver Trace o mediante las herramientas de análisis.

Empezar

Abre la visión general de rastreo para el proyecto en la consola de GCP o consulta el apartado de inicio rápido para comenzar.