Cloud Trace, un sistema de seguimiento distribuido para Google Cloud, te ayuda a comprender cuánto tiempo le lleva a tu aplicación manejar las solicitudes entrantes de usuarios o de otras aplicaciones y cuánto tiempo lleva completar las operaciones como las llamadas RPC realizadas cuando se manejan las solicitudes. Trace también puede ayudarte cuando desarrollas un servicio o solucionas problemas de una falla. Por ejemplo, puede ayudarte a entender cómo se procesan las solicitudes en una arquitectura de microservicios complicada y podría ayudarte a identificar qué registros examinar.
Debido a que Trace recibe datos de latencia de algunos Google Cloud servicios, como App Engine, y de aplicaciones instrumentadas con la API de Cloud Trace, puede ayudarte a responder las siguientes preguntas:
- ¿Cuánto tiempo tardará mi aplicación en manejar una solicitud determinada?
- ¿Por qué mi aplicación tarda mucho tiempo en manejar una solicitud?
- ¿Por qué algunas de mis solicitudes tardan más tiempo que otras?
- ¿Cuál es la latencia general de las solicitudes de mi aplicación?
- ¿Aumentó o disminuyó la latencia de mi aplicación en el tiempo?
- ¿Qué puedo hacer para reducir la latencia de mi aplicación?
- ¿Cuáles son las dependencias de mi aplicación?
Si tienes curiosidad sobre cómo puedes usar Trace para ayudarte a administrar tus aplicaciones, lee la entrada de blog Solución de problemas de aplicaciones distribuidas: usa seguimientos y registros en conjunto para el análisis de la causa raíz.
Para obtener información sobre cómo crear perfiles de tu aplicación, consulta Cloud Profiler.
Compatibilidad con el entorno
Trace se ejecuta en Linux en los siguientes entornos:
- Compute Engine
- Google Kubernetes Engine (GKE)
- Apigee (versión preliminar pública)
- Entorno flexible de App Engine
- Entorno estándar de App Engine
- Cloud Run
- Cloud Service Mesh
- Estadísticas de consulta en SQL SQL
- Entornos que no son de Google CloudGoogle Cloud
Trace proporciona bibliotecas cliente para instrumentar tu aplicación a fin de capturar información de seguimiento. Para obtener instrucciones de configuración por lenguaje, consulta Instrumenta para Trace.
Configuraciones con seguimiento automático
Algunas configuraciones dan como resultado la captura automática de datos de seguimiento:
Entorno estándar de App Engine
Las aplicaciones de Java 8, Python 2 y PHP 5 no necesitan usar las bibliotecas cliente de Trace. Estos entornos de ejecución envían automáticamente datos de latencia a Trace para solicitudes a los URI de aplicaciones. Las solicitudes incluyen datos de latencia para llamadas RPC de ida y vuelta a servicios de App Engine. Trace funciona con todas las APIs de administrador de App Engine, con la excepción de Cloud SQL.
Cloud Run Functions y Cloud Run
Para las solicitudes HTTP entrantes y salientes, los datos de latencia se envían automáticamente a Trace.
APIs que incorporan datos de seguimiento
Puedes enviar datos de seguimiento a tu proyecto con la API de Telemetry o la API de Cloud Trace. Recomendamos la API de Telemetry por el siguiente motivo:
La API proporciona compatibilidad con el ecosistema de código abierto de OpenTelemetry y sus límites suelen ser más generosos que los de la API de Cloud Trace, que es una API patentada Google Cloud .
Tus datos de seguimiento se almacenan en un formato que suele ser coherente con los archivos proto definidos por el protocolo OTLP de OpenTelemetry. Algunos campos pueden convertirse de un tipo de datos específico de OpenTelemetry a un tipo de datos JSON antes del almacenamiento. Para obtener más información sobre el formato de almacenamiento, consulta Esquema para datos de seguimiento.
Para la exportación basada en recopiladores de datos de seguimiento, tu instrumentación no depende de un Google Cloud-exportador específico.
Algunas funciones, como Application Monitoring, dependen de la información que solo está disponible cuando envías datos de seguimiento a la API de Telemetry.
Si deseas evitar que tu Google Cloud proyecto almacene datos de seguimiento, inhabilita la API de Cloud Trace. Si inhabilitas la API de Cloud Trace, se produce lo siguiente:
- Google Cloud Los servicios no envían datos de seguimiento a tu proyecto.
- Google Cloud responde a las solicitudes enviadas a un extremo de API de Cloud Trace con un código de error.
- Google Cloud Observability descarta los datos de seguimiento enviados al extremo de API de Telemetry específico del seguimiento. No inhabilite la API de Telemetry, ya que esa API puede recibir datos de registro, métricas y seguimiento.
Idiomas admitidos
En la siguiente tabla, se resume la disponibilidad de las bibliotecas cliente de Trace y de las bibliotecas de OpenTelemetry para las que hay un exportador a Trace.
| Idioma | Biblioteca cliente disponible |
Biblioteca/exportador de OpenTelemetry disponible |
|---|---|---|
| C++ | Sí | Sí |
| C# ASP.NET Core | Sí | No |
| C# ASP.NET | Sí | No |
| Go | Sí | Sí |
| Java | Sí | Sí |
| Node.js | Sí | Sí |
| PHP | Sí | No |
| Python | Sí | Sí |
| Ruby | Sí | Sí |
OpenTelemetry OpenTelemetry son más fáciles de usar que las bibliotecas cliente de Trace porque ocultan parte de la complejidad de la API de Trace correspondiente. Para obtener recomendaciones de instrumentación, consulta Elige un enfoque de instrumentación.
Componentes
Trace consta de un cliente de seguimiento, que recopila seguimientos y los envía a tu Google Cloud proyecto. Luego, puedes usar la Google Cloud consola para ver y analizar los datos que recopila el agente. Para obtener información sobre el modelo de datos, consulta Seguimientos e intervalos.
Seguimiento del cliente
Si hay una biblioteca de OpenTelemetry disponible para tu lenguaje de programación, puedes simplificar el proceso de creación y envío de datos de seguimiento con OpenTelemetry. Además de ser más fácil de usar, OpenTelemetry implementa el procesamiento por lotes, lo que podría mejorar el rendimiento.
Si no existe una biblioteca de OpenTelemetry, instrumenta tu código con la importación de la biblioteca del SDK de Trace y la API de Cloud Trace. La API de Cloud Trace envía datos de seguimiento a tu Google Cloud proyecto.
Interfaz de seguimiento
Puedes ver y analizar tus datos de seguimiento casi en tiempo real en la interfaz de Trace.
Para ver y analizar los datos de intervalo, puedes usar las páginas Explorador de seguimiento y Estadísticas de observabilidad en la Google Cloud consola:
Explorador de seguimiento: Muestra información agregada sobre tus datos de seguimiento y te permite examinar seguimientos individuales en detalle. Los datos de latencia agregados se muestran en un mapa de calor, que puedes explorar con el puntero. Para restringir los datos que se muestran, puedes agregar filtros. Esta página también te permite ver y explorar intervalos y seguimientos individuales:
- Para obtener información sobre cómo ver los datos de seguimiento almacenados en varios proyectos, consulta Crea y administra el alcance del seguimiento.
- Para obtener información sobre cómo filtrar y ver tus datos de seguimiento, consulta Busca y explora seguimientos.
Estadísticas de observabilidad: Esta página te permite ejecutar consultas que realizan un análisis agregado de tus intervalos con SQL. Tus consultas en SQL también pueden unir tus datos de seguimiento y registro. Puedes ver los resultados de tu consulta en formato tabular o con gráficos. Si creas un conjunto de datos vinculado, puedes usar BigQuery para analizar tus intervalos. Para obtener más información, consulta Consulta y analiza seguimientos.
Compatibilidad con los Controles del servicio de VPC
Trace es un servicio compatible con los Controles del servicio de VPC. El nombre del servicio de Trace es cloudtrace.googleapis.com. Cualquier restricción de los Controles del servicio de VPC que crees para el servicio de Trace se aplica solo a ese servicio. Esas restricciones
no se aplican a ningún otro servicio, incluidos aquellos como el
telemetry.googleapis.com servicio,
que también puede incorporar datos de seguimiento.
Para obtener más información, consulta lo siguiente:
Cloud Trace y residencia de datos
Si usas Assured Workloads porque tienes requisitos de residencia de datos o nivel de impacto 4 (IL4), no uses la API de Cloud Trace para enviar intervalos de seguimiento.
Si deseas evitar que tu Google Cloud proyecto almacene datos de seguimiento, inhabilita la API de Cloud Trace. Si inhabilitas la API de Cloud Trace, se produce lo siguiente:
- Google Cloud Los servicios no envían datos de seguimiento a tu proyecto.
- Google Cloud responde a las solicitudes enviadas a un extremo de API de Cloud Trace con un código de error.
- Google Cloud Observability descarta los datos de seguimiento enviados al extremo de API de Telemetry específico del seguimiento. No inhabilite la API de Telemetry, ya que esa API puede recibir datos de registro, métricas y seguimiento.
Precios
Para obtener información sobre los precios de Cloud Trace, consulta la página de precios de Google Cloud Observability.
¿Qué sigue?
Prueba la guía de inicio rápido.
Para obtener información sobre las cuotas y los límites, consulta Cuotas y límites.
Lee nuestros recursos sobre DevOps y explora el DevOps Research and Assessment programa de investigación.