Übersicht über die Trace-Erfassung

Diese Seite bietet einen Überblick über die Erfassung von Traces mit OpenTelemetry. Wenn Sie Spanner-Anfragen überwachen und Fehler beheben möchten, können Sie Traces in den Spanner-Clientbibliotheken aktivieren. Mit clientseitigem und End-to-End-Tracing können Sie die Leistung im Blick behalten und Fehler beheben.

Traces enthalten relevante Informationen für jede Anfrage eines Clients, z. B.:

  • Spans mit Zeitstempeln, wann der Client eine RPC-Anfrage gesendet und wann der Client die RPC-Antwort empfangen hat, einschließlich der durch das Netzwerk und das Clientsystem verursachten Latenz.

  • Attribute (Schlüssel/Wert-Paare), die Informationen zum Client und seiner Konfiguration enthalten.

  • Anmerkungen mit wichtigen Ereignissen in den Zeiträumen.

Weitere Informationen zu Spans und Attributen finden Sie in der OpenTelemetry-Dokumentation unter Spans und Attributes.

End-to-End-Tracing

Zusätzlich zum clientseitigen Tracing können Sie auch das End-to-End-Tracing aktivieren. Mit End-to-End-Tracing können Sie Latenzprobleme, die spezifisch für Spanner sind, nachvollziehen und beheben. Dazu gehören:

  • Ermitteln Sie, ob die Latenz auf die Netzwerklatenz zwischen Ihrer Anwendung und Spanner zurückzuführen ist oder ob sie in Spanner auftritt.

  • Ermitteln Sie die Google Cloud Regionen, durch die die Anfragen Ihrer Anwendung weitergeleitet werden, und ob es eine regionsübergreifende Anfrage gibt. Eine regionsübergreifende Anfrage führt in der Regel zu höheren Latenzen zwischen Ihrer Anwendung und Spanner.

Um eine Überlastung von Cloud Trace zu vermeiden und die Kosten effektiv zu verwalten, gibt es für das End-to-End-Tracing eine Beschränkung für die Anzahl der Trace-Spans, die Sie exportieren können. Die Verwendung von End-to-End-Tracing zur Fehlerbehebung wird durch dieses Limit nicht beeinträchtigt.

OpenTelemetry

Spanner-Clientbibliotheken unterstützen die Erfassung von Traces mithilfe von OpenTelemetry-APIs. OpenTelemetry ist ein Open-Source-Framework für die Beobachtbarkeit. OpenTelemetry bietet eine Vielzahl von Konfigurationen, z. B. Exporter für bestimmte Back-Ends, Sampling-Ratios und Spannenlimits.

Traces mit Exportern und Collectors exportieren

Im Rahmen Ihrer Konfigurationen können Sie Ihre Traces in ein Observability-Backend exportieren. Die meisten Anbieter von Observability-Diensten bieten Exporter an, die Sie verwenden können, z. B. den Trace-Exporter.

Zusätzlich zu einem Exporteur empfiehlt OpenTelemetry, einen Collector einzurichten. Mit einem Collector kann Ihr Dienst Daten schnell auslagern und der Collector kann sich um die zusätzliche Verarbeitung wie Wiederholungsversuche, Batching und Verschlüsselung kümmern. Ein Collector wird parallel zu Ihrer Anwendung ausgeführt. Der Collector empfängt OLTP-Nachrichten, verarbeitet sie und exportiert sie in Ihr Observability-Backend.

Beschränkungen

Für Spanner-Traces gelten die folgenden Einschränkungen:

  • Trace-Spans sind nur für die Java-, Go-, Node- und Python-Clientbibliotheken verfügbar.
  • End-to-End-Traces können nur nach Cloud Trace exportiert werden.

Preise

Zusätzlich zur Spanner-Nutzung können durch das Tracing Gebühren über Ihr Observability-Backend anfallen.

Die Aufnahme von Trace-Spans in Ihr Observability-Backend ist kostenpflichtig. Wenn Sie beispielsweise Cloud Trace als Backend verwenden, erfolgt die Abrechnung gemäß den Cloud Trace-Preisen.

Um die Abrechnung besser zu verstehen, beginnen Sie mit einem kleinen Stichprobenverhältnis für Traces, das auf Ihrem Traffic basiert.

Nächste Schritte

Informationen zum Einrichten von clientseitigem und End-to-End-Tracing finden Sie unter Trace-Erfassung mit OpenTelemetry einrichten.