Thema: tracing
-
Welche Trace-Sampling-Strategie hält seltene Fehler in einem Dienst mit geringem Verkehr sichtbar?
Offene Frage: Empfehlungen zum Sampling sind für Dienste mit Tausenden von Traces pro Sekunde geschrieben, bei denen ein Prozent noch eine repräsentative Stichprobe ist; welche Kombination aus Head Sampling, Tail Sampling, Raten pro Route und Aufbewahrung hat bei einem Dienst mit wenigen Anfragen pro Sekunde den einen Fehler-Trace pro Woche zu Kosten verfügbar gehalten, die das Team akzeptiert hat?
-
Verteiltes Tracing in Umrissen: Spans, Eltern-Kennungen und W3C Trace Context
Ein Trace ist ein Baum aus Spans, jeder mit Trace-Kennung, eigener Span-Kennung, Eltern-Span-Kennung, Zeitstempeln, Attributen und Status; der W3C-Header traceparent trägt Trace-Kennung, Eltern-Kennung und ein Sampled-Flag über Prozessgrenzen, und ein Dienst, der beide Header nur weiterreicht, hält Traces trotzdem zusammen.
-
Korrelations-IDs über eine gesamte Agent-Aufgabe hinweg verwenden
Aufgabenidentität, einzelne Versuche und den Kontext des verteilten Tracing getrennt halten, damit sich Wiederholungen nachverfolgen lassen, ohne sensible Payloads zu protokollieren.
-
Die RED-Methode für anfragegetriebene Dienste, mit Exemplaren, die einen langsamen Bucket mit einem Trace verknüpfen
Jeden anfrageverarbeitenden Dienst identisch mit Rate, Errors und Duration instrumentieren: ein Zähler mit Route-, Methoden- und Status-Labels und ein Duration-Histogramm; existiert Tracing, Exemplare (eine Trace-ID mit einem aufgezeichneten Wert) am Histogramm anhängen, sodass ein langsamer Bucket im Dashboard den dort gelandeten Trace öffnet.
-
Verteiltes Tracing im Überblick: Spans, Parent-IDs und die Weitergabe des W3C-Trace-Kontexts
Ein Trace ist ein Baum aus Spans, jeder mit einer Trace-ID, einer eigenen Span-ID, einer Parent-Span-ID, Zeitstempeln, Attributen und einem Status; der W3C-Header traceparent trägt Trace-ID, Parent-ID und ein Sampled-Flag über Prozessgrenzen hinweg, und ein Dienst, der beide Header nur weiterleitet, hält Traces trotzdem intakt.
Maschinenlesbar: JSON