Keine Daten auf der Trace-Oberfläche
Wenn Sie in Ihrem Google Cloud-Projekt keine Traces ansehen können, obwohl Sie einen Trace erwarten Daten vorhanden sein sollen, führen Sie die folgenden Schritte aus:
-
Enable the Cloud Trace API.
Rufen Sie in der Google Cloud Console die Seite APIs und Seite „Dienste“:
Nachdem Sie die Zeile Cloud Trace API gefunden haben, versuchen Sie Folgendes:
Wenn die Spalte Anfragen keine numerischen Informationen enthält, werden keine Trace-Daten an Ihr Google Cloud-Projekt gesendet.
Prüfen Sie Ihre Anwendungen und Proxys, um sicherzustellen, dass sie sind so konfiguriert, dass die Traces an das richtige Projekt gesendet werden.
Wählen Sie Cloud Trace API und dann den Tab Messwerte aus. das Diagramm Fehler nach API-Methode:
Wenn Schreibvorgänge fehlschlagen, gewähren Sie den Parameter Dienstkonto, das ist die Bereitstellung der Anmeldedaten für die Authentifizierung, Cloud Trace-Agent (
roles/cloudtrace.agent
). Diese Rolle enthält die Berechtigungcloudtrace.traces.patch
, die ermöglicht es Anwendungen, Span-Daten in ein Google Cloud-Projekt zu schreiben.Weitere Informationen finden Sie unter Cloud Trace-IAM-Rollen
Wenn Lesevorgänge fehlschlagen, prüfen Sie, ob Ihre IAM Rolle für das Google Cloud-Projekt enthält die Berechtigungen in der Rolle Cloud Trace-Nutzer (
roles/cloutrace.user
). Für eine Liste von Berechtigungen für diese Rolle Siehe Cloud Trace-IAM-Rollen.
Keine Trace-Daten nach der Aktualisierung der Go-App für die Verwendung von OpenTelemetry
Ihre Anwendung benötigt die Clientbibliothek, um Traces zu erfassen. Wenn Sie Ihre Anwendung auf OpenTelemetry aktualisieren, Cloud Trace-Daten.
Da einige Google-Clientbibliotheken für Go in OpenCensus verwenden möchten, müssen Sie eine OpenCensus Bridge verwenden. Weitere Informationen zu dem Problem, das durch die Brücke gelöst wurde, finden Sie unter OpenCensus Bridge
Informationen zur Aktualisierung der Google-Clientbibliothek für Go finden Sie unter Problem 4237
Keine Trace-Daten für bereitgestellte App
Sie haben mithilfe der Methode Cloud Trace API, aber Trace-Daten werden nicht erfasst.
Geben Sie Folgendes ein:
Falls Sie auf der Seite Trace Explorer der Google Cloud Console. Folgen Sie dann den Schritten im Abschnitt Keine Daten in der Trace-Oberfläche.
Wenn die Anwendung nicht in Google Cloud bereitgestellt ist oder ein Dienstkonto Anmeldedaten zur Authentifizierung bereitzustellen, und achten Sie darauf, Dem Dienstkonto wurde die Rolle gewährt: Cloud Trace-Agent (
roles/cloudtrace.agent
).Diese Rolle enthält die Berechtigung
cloudtrace.traces.patch
, die ermöglicht es Anwendungen, Span-Daten in ein Google Cloud-Projekt zu schreiben.Wenn die Anwendung OpenTelemetry verwendet, gehen Sie so vor:
Versuchen Sie, für den Root-Dienst die Umgebungsvariablen so zu aktualisieren, OpenTelemetry verwendet den Sampler
traceidratio
mit einem Stichprobenrate von0.5
:export OTEL_TRACES_SAMPLER="traceidratio" export OTEL_TRACES_SAMPLER_ARG="0.5"
Übernehmen Sie für alle anderen Dienste das Feld
OTEL_TRACES_SAMPLER
der Umgebungsvariable nicht mehr so festgelegt, dass der Standard-Samplerparentbased_always_on
verwendet wird. Die Standardeinstellung bedeutet, dass die Stichprobenentscheidung für einen Span von seinen übergeordneten Span, wenn ein solcher vorhanden ist. Ist kein übergeordneter Span vorhanden, für den Span verwendet wird.
Sofern Ihre Anwendung nicht immer jeden Span verwendet, Im Allgemeinen ist es nicht möglich, das Tracing einer Anfrage von Anfang bis Ende zu erzwingen. da jede Komponente in einer End-to-End-Anfrage ihren eigenen Entscheidung über die Stichprobenerhebung. Sie können jedoch beeinflussen, indem Sie dem Trace-Header ein
sampled
-Flag hinzufügen, wobei dieses Flag auftrue
gesetzt ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten. um die Anfrage zu stichproben. Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Weitergabe von Kontext.
Fehlende Span-ID-Nachricht in Trace
Ihr Trace enthält eine „Fehlende Span-ID“ .
In verteilten Tracing-Systemen sind unvollständige Traces zu erwarten. Ein Trace ist unvollständig, wenn ein Sample-Span einen Verweis auf einen anderen nicht empfangenen Spanne. Der nicht aufgelöste Verweis kann auftreten für die folgenden Gründen:
- Für den referenzierten Span wurde keine Stichprobe erstellt.
- Der referenzierte Span wurde als Stichproben verwendet, wurde aber noch nicht von Cloud Trace empfangen oder der Span wurde empfangen, aber nicht gespeichert.
Wenn Sie sich einen unvollständigen Trace ansehen, zeigt Cloud Trace Nachricht „Span-ID fehlt“ im Bereich mit den Trace-Details.
Wenn immer wieder die Meldung „Span-ID fehlt“ angezeigt wird, versuchen Sie es mit dem Folgendes:
Achten Sie bei Komponenten, die Sie verwalten, darauf, das Flag
sampled
des Headers übergeben, wenn dies vorhanden ist. Diese Einstellung ist ein Hinweis für untergeordnete Komponenten, um das Weitere Informationen zu Trace-Headern finden Sie unter Protokolle für die Weitergabe von Kontext.Google Cloud-Dienste berücksichtigen diesen Hinweis in der Regel. Allerdings und begrenzen die Geschwindigkeit, mit der sie Trace-Daten schreiben.
Wenn Sie Cloud Service Mesh verwenden, folgen Sie der Anleitung zur Weitergabe des Trace-Kontexts für diese Konfigurationen. Für Cloud Service Mesh Weitere Informationen finden Sie unter Weitergabe von Trace-Kontext.