OpenTelemetry verbindet die Latenz lokaler KI mit Speicher- und Netzwerkvorgängen, indem jeder Vorgang als zeitlich erfasster Span mit gemeinsamem Kontext und einheitlichen semantischen Attributen dargestellt wird.
Eine vier Sekunden dauernde KI-Antwort zu Hause kann nur einen Teil dieser Zeit mit der Token-Generierung verbringen, während der Rest auf Vektorsuche, Dateisystem- oder Datenbanklesevorgänge, Warteschlangen, HTTP-Aufrufe und die Ausführung von Tools entfällt. OpenTelemetry macht diese Abhängigkeiten nicht von selbst schneller. Es stellt kompatible Telemetriedaten bereit, sodass eine Anfrage in die Ebenen aufgeteilt werden kann, die tatsächlich ihre gesamte verstrichene Zeit beansprucht haben.
Semantische Konventionen geben verschiedenen Diensten ein vergleichbares Vokabular
Tracing wird schwer abfragbar, wenn jeder Dienst eigene Span-Namen und Attributschlüssel erfindet, da gleichwertige Vorgänge in einem Modellserver, Datenbankclient und Tool-Gateway unzusammenhängend erscheinen können. Semantische Konventionen verringern diese Mehrdeutigkeit, indem sie gemeinsame Namen und Attribute für wiederkehrende Vorgangsklassen definieren.
Ein einheitliches Vokabular ermöglicht den Vergleich von Latenzen, ohne zunächst das private Schema jeder Bibliothek normalisieren zu müssen. Ein gemeinsames semantisches Vokabular erleichtert das Aggregieren und Interpretieren von Spans verschiedener Komponenten, ohne zuerst die privaten Feldnamen jeder Bibliothek übersetzen zu müssen.
Für einen lokalen KI-Stack besteht der entscheidende Vorteil in der Trennung statt in der Vereinheitlichung: Die Modellgenerierung bleibt Modellarbeit, eine Datenbankabfrage bleibt Speicherarbeit, und ein HTTP-Aufruf bleibt eine netzwerkabhängige Operation, selbst wenn alle drei in einem Trace erscheinen.
GenAI-Spans trennen Modellarbeit von Agenten- und Tool-Arbeit
Ein Modellaufruf, ein Agentenlauf und eine Tool-Ausführung können zur selben Anfrage beitragen, dabei aber ein unterschiedliches Latenz- und Ressourcenverhalten aufweisen. Wird die gesamte Kette als ein allgemeiner „KI“-Span behandelt, bleibt verborgen, wo die Zeit tatsächlich verbraucht wurde. Die spezifische GenAI-Instrumentierung stellt Felder auf Vorgangsebene bereit, die diese Phasen getrennt halten.
Die sich weiterentwickelnden Konventionen für GenAI-Vorgänge und Tool-Aktivitäten standardisieren Telemetriedaten für Modell- und Agenten-Workflows und erlauben Anwendungen weiterhin, eigene Integrations-Spans hinzuzufügen.
Diese Unterscheidung ist auf einem Heimserver wichtig, weil ein schnelles lokales Modell trotzdem hinter einer langsamen Abfrage oder entfernten Tool-Aufrufen liegen kann. Der Trace sollte die Modellzeit dem Modell und die Orchestrierungsverzögerung den Ebenen zuordnen, die sie verursacht haben.
Die Konventionen entwickeln sich in Teilen der GenAI-Oberfläche noch weiter. Eine Implementierung sollte daher ihre Schema-Version erfassen und nicht davon ausgehen, dass jede Bibliothek automatisch identische Attribute ausgibt.
Datenbank- und Speicher-Spans machen Such- und I/O-Wartezeiten sichtbar
Private RAG-Systeme und Heimautomatisierungen greifen häufig auf Vektorspeicher, SQL-Datenbanken, Metadatenkataloge oder dateisystembasierte Dienste zu, bevor das Modell antworten kann. Diese Vorgänge können die Latenz dominieren, selbst wenn die Inferenz schnell ist. Werden sie als separate Spans instrumentiert, verschwindet die Speicherzeit nicht mehr innerhalb eines umfassenden Agentenvorgangs.
Database-Tracing kann Vorgangsdauer, Zielsystem und bereinigte Abfragemetadaten sichtbar machen, ohne das vollständige private Dokument in die Telemetrie zu übernehmen. Wenn Datenbankaufrufe als Spans dargestellt werden, können SQL- und NoSQL-Vorgänge ihre eigene Dauer und begrenzte Vorgangsmetadaten tragen, anstatt in einem agentenweiten Timer zu verschwinden.
Für eine Wissensdatenbank zu Hause kann ein langer Such-Span auf Festplattenkonkurrenz, Indexarbeit, eine langsame entfernte NAS-Einbindung oder eine Warteschlange in der Datenbank hindeuten und nicht auf die Modellgenerierung. Diese Diagnose ist genauer, als nur die endgültige API-Antwort zu messen.
Client- und Server-Spans grenzen netzwerkabhängige Vorgänge ab
Netzwerkverzögerungen erscheinen meist als Teil eines Client-Server-Vorgangs und nicht als ein universeller Span für „Netzwerklatenz“. Der sinnvolle Vergleich besteht daher zwischen der Wartezeit des Aufrufers und dem Verarbeitungsintervall des Empfängers. Zusammengehörige Spans können zeigen, ob sich die Zeit angesammelt hat, bevor der Server die Anfrage erhielt, innerhalb des Servers oder nachdem die Antwort ihn verlassen hatte.
Leitfäden zum verteilten Tracing beschreiben Beziehungen zwischen Client- und Server-Spans als Teil des Anfragepfads, den Instrumentierung und Kontextweitergabe über Dienste hinweg rekonstruieren.
Das ist besonders für MCP- oder HTTP-Tools nützlich: Ein langer Client-Span bei einem deutlich kürzeren nachgelagerten Verarbeitungs-Span kann auf Transport, Proxying, Verbindungsaufbau oder Warteschlangen rund um den Dienst hindeuten. Ein langer Server-Span lenkt die Aufmerksamkeit dagegen auf die eigene Arbeit der Abhängigkeit.
Die Analyse von ZimaSpace zur MCP-Tool-Latenz beschreibt die möglichen Verzögerungsebenen. OpenTelemetry-Tracing liefert anfragespezifische Belege dafür, welche Ebene bei einer konkreten Ausführung dominierte.
Metriken können auf eine langsame Grundgesamtheit hinweisen, während Traces ein Beispiel erklären
Aggregierte Latenzmetriken beantworten, ob ein Dienst allgemein langsamer wird, während ein Trace erklärt, wie sich die Verzögerung einer einzelnen repräsentativen Anfrage zusammengesetzt hat. Die Verbindung beider Perspektiven ist nützlich, wenn ein p95-Anstieg einen konkreten Anfragepfad statt eines weiteren aggregierten Diagramms erfordert.
Exemplare und aus Traces abgeleitete Metriken können Verteilungen mit einzelnen Belegen zu Anfragen verknüpfen. Durch den Einsatz von Exemplaren lässt sich eine aggregierte Latenzverteilung mit repräsentativen Anfrage-Traces verbinden, ohne jedes Anfrageattribut in ein Metriklabel umzuwandeln.
Ein Heimserver kann daher bei steigender Latenz von Suchvorgängen oder Tool-Aufrufen alarmieren und anschließend einen repräsentativen Trace untersuchen, der die Modell-, Speicher- und Netzwerk-Spans derselben Anfrage enthält.
Nützliche Telemetrie endet, bevor private Inhalte zur Debugging-Nutzlast werden
Zusätzliche Attribute können die Diagnose verbessern, bis die Telemetrie selbst Dateinamen, Prompts, Dokumentauszüge, Identitäten von Haushaltsmitgliedern oder unbegrenzt viele Werte mit hoher Kardinalität enthält. Ein privater KI-Stack benötigt genügend Kontext, um den langsamen Vorgang zu identifizieren, ohne die sensiblen Inhalte zu kopieren, die dieser Vorgang verarbeitet hat.
KI-Observability erfordert eine bewusste Instrumentierungsgrenze, weil die Struktur der Telemetrie und die Bewertung der Modellqualität unterschiedliche Probleme lösen. Die Trennung von Telemetrie und Bewertung hilft zu verhindern, dass sensible Prompt-Inhalte zu gewöhnlichen Leistungsmetadaten werden.
Auch Sampling, Exportvolumen und Attributauswahl verursachen Aufwand. Das Ziel besteht daher nicht darin, jeden möglichen Span für immer aufzubewahren. Sinnvoll ist ein Trace, der detailliert genug ist, um Modell-, Such-, Speicher- und Netzwerkverzögerungen zu trennen, aber dennoch sicher auf dem Observability-Server zu Hause gespeichert werden kann.
Die Kardinalität ist eine weitere Grenze für die Aufbewahrung. Eine kleine Menge begrenzter Attribute kann Gruppierung und Filterung unterstützen. Eindeutiger Prompt-Text, vollständige Pfade, Dokumentinhalte oder pro Anfrage vergebene Kennungen in Metriklabels können den Observability-Speicher jedoch teuer und schwer abfragbar machen, selbst wenn die Werte nicht sensibel sind.
FAQ
Misst OpenTelemetry Festplatten- und Netzwerklatenzen automatisch?
Nicht allgemein. Bibliotheken und automatische Instrumentierung können viele Datenbank-, HTTP-, RPC- und Laufzeit-Spans erzeugen. Benutzerdefinierte Speicherpfade oder anwendungsspezifische Phasen erfordern jedoch möglicherweise weiterhin eine manuelle Instrumentierung.
Ist OpenTelemetry selbst das Tracing-Backend?
Nein. OpenTelemetry definiert APIs, SDKs, Instrumentierung, Protokolle und Collector-Komponenten. Ein separates Backend speichert und durchsucht die daraus entstehenden Traces normalerweise.
Sollten Prompts und Dokumenttexte in Trace-Attributen gespeichert werden?
Auf einem privaten Heimsystem normalerweise nicht standardmäßig. Erfasse Vorgangsnamen, Dauern, Modell- oder Sammlungskennungen, Ergebnisanzahlen und begrenzte Metadaten, es sei denn, sensible Inhalte werden für eine kontrollierte Debugging-Sitzung ausdrücklich benötigt.
Tech- & KI-Zentrum
Mehr zum Lesen

Laufzeitstatus vs. dauerhafter Status in Home Assistant: Was muss einen Neustart überstehen?
Home Assistant speichert nicht jeden aktuellen Wert dauerhaft; Konfiguration, Register, ausgewählte wiederhergestellte Zustände, Verlauf und Bereitstellungsdaten erfüllen beim Neustart unterschiedliche Aufgaben.

Wie authentifiziert Home Assistant lokale und entfernte Sitzungen?
Lokale und Remote-Home-Assistant-Sitzungen verwenden dasselbe serverseitige Identitätsmodell. Der Fernzugriff ändert die Route und die TLS-Grenze, nicht den grundlegenden Token-Ablauf.

Warum können Home-Assistant-Verlaufsabfragen langsamer werden, wenn die Recorder-Daten wachsen?
Das Wachstum des Recorders kann die Kosten von Verlaufsabfragen erhöhen, wenn der angeforderte Zeitraum mehr Zeilen umfasst, Cache-Fehlversuche zunehmen oder die Verarbeitung von Speicher...

