Diese Seite bietet eine Übersicht über die Trace-Erfassung mit OpenTelemetry. Wenn Sie Spanner-Anfragen überwachen und beheben möchten, können Sie in den Spanner-Clientbibliotheken Protokolle aktivieren. Mit clientseitigem und End-to-End-Tracing können Sie die Leistung überwachen und Probleme beheben.
Traces enthalten relevante Informationen zu jeder Anfrage von einem Client, z. B.:
Zeiträume mit Zeitstempeln, zu denen der Client eine RPC-Anfrage gesendet und die RPC-Antwort empfangen hat, einschließlich der Latenz, die durch das Netzwerk und das Clientsystem verursacht wird.
Attribute (Schlüssel/Wert-Paare), die Informationen zum Client und seiner Konfiguration enthalten.
Anmerkungen zu wichtigen Ereignissen in den Spannen.
Weitere Informationen zu Spans und Attributen finden Sie in der OpenTelemetry-Dokumentation unter Spans und Attribute.
End-to-End-Analyse
Zusätzlich zum clientseitigen Tracing können Sie auch das End-to-End-Tracing (Vorabversion) aktivieren. Mit End-to-End-Tracing können Sie Latenzprobleme, die für Spanner spezifisch sind, besser nachvollziehen und beheben. Beispiele:
Prüfen Sie, ob die Latenz auf die Netzwerklatenz zwischen Ihrer Anwendung und Spanner zurückzuführen ist oder ob sie innerhalb von Spanner auftritt.
Ermitteln Sie die Google Cloud -Regionen, über die Ihre Anwendungsanfragen weitergeleitet werden, und ob es sich um eine regionsübergreifende Anfrage handelt. Eine regionenübergreifende Anfrage führt in der Regel zu höheren Latenzen zwischen Ihrer Anwendung und Spanner.
OpenTelemetry
Spanner-Clientbibliotheken unterstützen die Trace-Erfassung mit OpenTelemetry APIs. OpenTelemetry ist ein Open-Source-Observability-Framework. OpenTelemetry bietet eine breite Palette von Konfigurationen wie Exporter für bestimmte Back-Ends, Stichprobenraten und Zeitspannelimits.
Traces mit Exporteuren und Collectorn exportieren
Im Rahmen Ihrer Konfigurationen können Sie Ihre Traces in ein Observability-Backend exportieren. Die meisten Anbieter von Observability-Diensten stellen Exporter zur Verfügung, z. B. den Trace-Exporter.
Zusätzlich zu einem Exporter empfiehlt OpenTelemetry die Einrichtung eines Collectors. Mit einem Collector kann Ihr Dienst Daten schnell auslagern und der Collector übernimmt zusätzliche Vorgänge wie Wiederholungen, Batchverarbeitung und Verschlüsselung. 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-Bereiche sind nur für die Java- und Go-Clientbibliotheken verfügbar.
- End-to-End-Traces können nur nach Cloud Trace exportiert werden.
Abrechnung
Zusätzlich zur Nutzung von Spanner können für das Tracing Kosten über Ihr Observability-Backend anfallen.
Die Aufnahme von Trace-Spans in Ihr Observability-Backend ist abrechenbar. Wenn Sie beispielsweise Cloud Trace als Backend verwenden, erfolgt die Abrechnung gemäß den Cloud Trace-Preisen.
Um die Abrechnung besser nachvollziehen zu können, beginnen Sie mit einem kleinen Stichprobenverhältnis für die 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.