Solución de problemas

En esta página, encontrarás información sobre la solución de problemas de Trace.

No hay datos en la interfaz de Trace

Si no puedes ver ningún seguimiento en tu proyecto de Google Cloud cuando esperas que haya datos de seguimiento, sigue estos pasos:

  1. En el panel de navegación de la consola de Google Cloud, selecciona APIs y servicios, haz clic en Habilitar APIs y servicios y, luego, habilita la API de Cloud Trace:

    Ir a la configuración de la API de Cloud Trace

  2. Si aparece API habilitada, la API ya está habilitada. De lo contrario, haz clic en el botón Habilitar.

  3. En la barra de herramientas, haz clic en Menú de navegación y selecciona APIs y servicios. Si en la fila de la API de Cloud Trace no se muestra ningún valor numérico para la columna Requests, la columna Errors o cualquier otra columna, no hay solicitudes de seguimiento que lleguen a tu proyecto de Google Cloud. Verifica las aplicaciones y los proxies para asegurarte de que estén configurados para enviar los seguimientos al proyecto correcto.

  4. Para ver detalles sobre el uso de la API, haz clic en API de Cloud Trace y, luego, selecciona la pestaña Métricas.

    Para limitar la fuente de los errores, usa los filtros Credenciales y Métodos y observa el efecto que tienen tus selecciones en el gráfico Errores por método de API.

    • Si todas las operaciones de escritura fallan, asegúrate de que tu cuenta de servicio tenga acceso a la función de agente de Cloud Trace. Esta función incluye el permiso cloudtrace.traces.patch. Para obtener más información, consulta las funciones de IAM de Cloud Trace.

    • Si las lecturas fallan, asegúrate de tener acceso a la función de usuario de Cloud Trace para este proyecto de Google Cloud. Para obtener una lista completa de los permisos de esta función, consulta Funciones de IAM de Cloud Trace.

No hay datos de seguimiento después de actualizar la app de Go para usar OpenTelemetry

Tu aplicación depende de la biblioteca cliente para capturar seguimientos y, después de actualizarla para usar OpenTelemetry, ya no verás datos de Cloud Trace.

Debido a que algunas bibliotecas cliente de Google para Go están integradas en OpenCensus, debes usar un puente de OpenCensus. Para obtener más información sobre el problema que resolvió el puente, consulta Puente de OpenCensus.

Para obtener información sobre la actualización de la biblioteca cliente de Google para Go, consulta el error #4237.

No hay datos de seguimiento para la app implementada

Implementaste tu aplicación y la instrumentaste para recopilar datos de seguimiento con OpenTelemetry, pero estos datos no se recopilan.

Para el servicio raíz, intenta actualizar las variables de entorno de modo que OpenTelemetry use el muestreador traceidratio con una tasa de muestreo de 0.5:

export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.5"

En todos los demás servicios, no configures la variable de entorno OTEL_TRACES_SAMPLER para usar la muestra predeterminada, que es parentbased_always_on. La configuración predeterminada significa que la decisión de muestreo para un intervalo se hereda de su intervalo superior, si ese intervalo existe. Si no existe un intervalo superior, se muestrea el intervalo.

A menos que tu aplicación siempre muestree cada intervalo, por lo general, no es posible hacer que se realice el seguimiento de una solicitud de extremo a extremo, ya que cada componente de una solicitud de extremo a extremo toma su propia decisión de muestreo. Sin embargo, puedes influir en la decisión si agregas una marca sampled al encabezado de seguimiento, con esta marca establecida en true. Esta configuración es una sugerencia para los componentes secundarios para que realicen una muestra de la solicitud. Para obtener más información sobre los encabezados de seguimiento, consulta Protocolos para la propagación de contexto.

Falta el mensaje de ID de intervalo en el seguimiento

El seguimiento contiene el mensaje "Falta el ID de intervalo".

En los sistemas de seguimiento distribuido, se esperan seguimientos incompletos. Un seguimiento está incompleto cuando un intervalo de muestra contiene una referencia a otro intervalo que no se recibió. La referencia sin resolver puede ocurrir por los siguientes motivos:

  • No se muestreó el intervalo al que se hace referencia.
  • Se realizó un muestreo del intervalo al que se hace referencia, pero Cloud Trace aún no lo recibió o se recibió, pero no se almacenó.

Cuando ves un seguimiento incompleto, Cloud Trace muestra el mensaje “Falta el ID de intervalo” en el panel de detalles de seguimiento.

Si ves constantemente el mensaje "Falta el ID de intervalo", prueba lo siguiente:

  • Para los componentes que administras, asegúrate de que respeten y propaguen la marca de la marca sampled del encabezado, cuando este campo esté presente. Esta configuración es una sugerencia para los componentes secundarios para que realicen muestras de la solicitud. Para obtener más información sobre los encabezados de seguimiento, consulta Protocolos para la propagación de contexto.

    Por lo general, los servicios de Google Cloud respetan esta sugerencia. Sin embargo, también limitan la velocidad a la que escriben datos de seguimiento.

  • Si usas Anthos Service Mesh, asegúrate de seguir las instrucciones para propagar el contexto de seguimiento de esas opciones de configuración. Para obtener orientación sobre Anthos Service Mesh, consulta Propagación del contexto de seguimiento.