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. Enable the Cloud Trace API.

    Enable the API

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

    Ve a APIs y Servicios

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

    • Si la columna etiquetada como Solicitudes no muestra información numérica, significa que no se están enviando 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, selecciona la pestaña Métricas y, luego, busca el gráfico etiquetado como Errores por método de API:

      • 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, después de actualizarla para usar OpenTelemetry, ya no ves los datos de Cloud Trace.

Debido a que algunas bibliotecas cliente de Google para Go están integradas con OpenCensus, debes usar un puente de 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 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 Explorador de seguimiento de la consola de Google Cloud, sigue los pasos que se indican en 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 intervalo 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 la variable de entorno OTEL_TRACES_SAMPLER sin definir para usar el muestreador predeterminado, 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 no existe un intervalo superior, se muestrea el 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. porque cada componente de una solicitud de extremo a extremo hace su propio decisión de muestra. Sin embargo, puedes influir en la decisión si agregas al encabezado de seguimiento una marca sampled, con esta marca establecida en true. Este parámetro de configuración es una sugerencia para los componentes secundarios para que tomen 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 "Missing span ID".

En los sistemas de seguimiento distribuido, se esperan seguimientos incompletos. Un seguimiento es incompleto cuando un intervalo muestreado 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 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 siempre ves el mensaje “Falta el ID del intervalo”, prueba con lo siguiente:

  • En el caso de los componentes que administras, asegúrate de que respeten y propagar la marca sampled del encabezado cuando esta 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 contexto.

    Por lo general, los servicios de Google Cloud respetan esta sugerencia. Sin embargo, también limitan la velocidad a la que escriben los 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.