Solución de problemas

Esta página contiene información sobre la solución de problemas de Ras-Trear.

No hay datos en la interfaz de Trace

Si no puedes ver ningún seguimiento en tu proyecto de Google Cloud cuando esperas el seguimiento datos estén presentes, luego prueba los siguientes pasos:

  1. Habilita la API de Cloud Trace.

    Habilita la API

  2. En la consola de Google Cloud, dirígete a APIs & Servicios:

    Ve a APIs y Servicios

    Una vez que encuentres la fila etiquetada como API de Cloud Trace, intenta lo siguiente:

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

      Para resolver este caso, comprueba tus aplicaciones y proxies para asegurarte de que están configurados para enviar los registros al proyecto correcto.

    • Selecciona API de Cloud Trace, elige la pestaña Métricas y, luego, busca el gráfico etiquetado como Errors by API method:

      • Si las operaciones de escritura fallan, otorga el cuenta de servicio que es proporcionar las credenciales de autenticación Agente de Cloud Trace (roles/cloudtrace.agent). Este rol incluye el permiso cloudtrace.traces.patch, que permite que las aplicaciones escriban datos de intervalos en un proyecto de Google Cloud.

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

      • Si las IAM de lectura fallan, asegúrate de que tu en el proyecto de Google Cloud incluye los permisos en el rol Usuario de Cloud Trace (roles/cloutrace.user). Para ver 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, luego, actualizando tu aplicación 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 OpenCensus. Para obtener más información sobre el problema resuelto por el puente, consulta Puente de OpenCensus.

Para obtener información sobre la actualización de la biblioteca cliente de Google para Go, consulta 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 API de Cloud Trace, pero no se recopilan datos de seguimiento.

Pruebe lo siguiente:

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

  • Si la app no se implementa en Google Cloud o si usa un cuenta de servicio para proporcionar credenciales de autenticación, asegúrate de que la a la cuenta de servicio se le otorgó el rol de Agente de Cloud Trace (roles/cloudtrace.agent).

    Este rol incluye el permiso cloudtrace.traces.patch, que permite que las aplicaciones escriban datos de intervalos en un proyecto de Google Cloud.

  • Si la app depende de OpenTelemetry, haz lo siguiente:

    • Para el servicio raíz, intenta actualizar las variables de entorno a fin de que OpenTelemetry usa el sampler traceidratio con un tasa de muestreo de 0.5:

      export OTEL_TRACES_SAMPLER="traceidratio"
      export OTEL_TRACES_SAMPLER_ARG="0.5"
      
    • Para todos los demás servicios, deja OTEL_TRACES_SAMPLER La variable de entorno no está configurada para usar la muestra predeterminada, que es parentbased_always_on. El parámetro de configuración predeterminado significa que la decisión de muestreo para un intervalo se hereda de su intervalo superior, si dicho intervalo existe. Si un intervalo superior no existe, se hace el muestreo del intervalo.

    A menos que tu aplicación siempre haga un muestreo de cada intervalo, por lo general, no es posible forzar el seguimiento de una solicitud de extremo a extremo. ya que cada componente de una solicitud de extremo a extremo tiene su propio decisión de muestra. Sin embargo, puedes influir en el agregando una marca sampled al encabezado de seguimiento. con esta marca establecida en true. Este parámetro de configuración es una sugerencia para los componentes secundarios para muestrear la solicitud. Para obtener más información sobre los encabezados de seguimiento, consulta Protocolos para la propagación de contextos.

Falta el mensaje de ID de intervalo en el seguimiento

El seguimiento contiene un "ID de intervalo faltante" mensaje.

En los sistemas de seguimiento distribuido, se esperan seguimientos incompletos. Un seguimiento es incompleto cuando un intervalo muestreado contiene una referencia a otro que no se ha recibido. La referencia sin resolver puede ocurrir para el siguientes motivos:

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

Cuando observas un seguimiento incompleto, Cloud Trace muestra el mensaje "Falta el ID de intervalo" en el panel de detalles del seguimiento.

Si ves el mensaje “Falta el ID del intervalo”, prueba con la lo siguiente:

  • En el caso de los componentes que administras, asegúrate de que respeten y propagar la marca sampled del encabezado cuando este está presente. Este parámetro de configuración es una sugerencia para que los componentes secundarios tomen muestras de la para cada solicitud. Para obtener más información sobre los encabezados de seguimiento, consulta Protocolos para la propagación de contextos.

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

  • Si usas Cloud Service Mesh, asegúrate de seguir las instrucciones para propagar el contexto de seguimiento de esas configuraciones. Para Cloud Service Mesh consulta Propagación del contexto de seguimiento.