Solución de problemas

En esta página, se incluye 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. Habilita la API necesaria.

    Habilita la API

  2. En la consola de Google Cloud, ve a la página APIs y servicios:

    Ir a APIs y servicios

    Después de encontrar la fila etiquetada API de Cloud Trace, intenta lo siguiente:

    • Si la columna etiquetada Solicitudes no muestra ninguna información numérica, no se envían datos de seguimiento a tu proyecto de Google Cloud.

      A fin de resolver este caso, verifica tus aplicaciones y proxies para asegurarte de que estén configurados para enviar los seguimientos al proyecto correcto.

    • Selecciona API de Cloud Trace, selecciona la pestaña Métricas y, luego, busca el gráfico Errores por método de API:

      • Si fallan las operaciones de escritura, otorga a la cuenta de servicio que proporciona las credenciales de autenticación la función de agente de Cloud Trace (roles/cloudtrace.agent). Esta función incluye el permiso cloudtrace.traces.patch, que permite a las aplicaciones escribir datos de intervalos en un proyecto de Google Cloud.

        Para obtener más información, consulta Roles de IAM de Cloud Trace.

      • Si fallan las operaciones de lectura, asegúrate de que tu función de IAM en el proyecto de Google Cloud incluya los permisos del rol Usuario de Cloud Trace (roles/cloutrace.user). Si deseas obtener una lista de permisos para este rol, consulta Roles 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 una app que envía datos a tu proyecto de Google Cloud con la API de Cloud Trace, pero no se recopilan datos de seguimiento.

Pruebe lo siguiente:

  • Si no ves ningún dato en la página del Explorador de seguimiento de la consola de Google Cloud, sigue los pasos de la sección No hay datos en la interfaz de Trace.

  • Si la app no está implementada en Google Cloud o si usa una cuenta de servicio para proporcionar credenciales de autenticación, asegúrate de que se le haya otorgado la función de agente de Cloud Trace (roles/cloudtrace.agent).

    Esta función incluye el permiso cloudtrace.traces.patch, que permite a las aplicaciones escribir datos de intervalos en un proyecto de Google Cloud.

  • Si la app se basa en OpenTelemetry, haz lo siguiente:

    • 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.