Inhalt: Entscheidungsmatrix · Felder & Sampling · Umsetzung · Abnahme · FAQ
Wenn mehrere Modellanbieter, Agent-Graphen und Embedding-Pipelines parallel laufen, scheitern Teams selten an fehlenden Metriken insgesamt — sondern an dünner Semantik, an Abrechnungsdimensionen, die nicht in Spans zurückfinden, und an Observability-Exporten, die auf dem Entwicklerrechner anders verhalten als in Quasi-Produktion. Die folgende Matrix ordnet typische Fragen, die Checkliste sichert Nacht-Langläufer, und die Feldliste ist direkt instrumentierbar. Für Checkpoint- und Sandbox-Themen siehe LangGraph: Checkpoints & Quota auf dem Mac; für lokale Inferenzbudgets die M4-Inferenz-Matrix (llama.cpp vs. Ollama). Den Gesamtüberblick liefert der Tech-Blog.
Typische Bruchstellen
Generische HTTP-Spans. Ohne GenAI-Operationstyp, Modell-ID und Tokenzahlen lassen sich weder Kosten noch Qualität pro Mandant segmentieren — Dashboards aggregieren ins Leere.
Abrechnung vs. Telemetrie. APIs rechnen in Tokens oder Abrechnungseinheiten; Traces ohne Ganzzahl-Felder und Tarifversion lassen sich nicht stichprobenartig mit Rechnungen abstimmen.
Observability als Last. Volle Trace-Flut kann Collector, Platte und CPU verdrängen; ohne Schichten bleibt nur das Abschalten — und damit Blindflug.
Lokale Verzerrung. Spotlight, Backups und Wechsel in den Ruhezustand verändern Export-Queues und p99-Latenzen; Langläufer-Abnahmen auf dem Laptop sind daher schlechte Proxies für Nachtjobs.
Entscheidungsmatrix
| Frage | Zuerst prüfen | Empfohlene Richtung |
|---|---|---|
| Vollständige Traces überall? | Speicherbudget der Observability-Plattform, Queue-Tiefe, Abfrage-Latenzen | Geschichtetes Sampling: Fehler und hochtokenisierte Aufrufe immer behalten, übrigen Traffic probabilistisch drosseln. |
| Rechnung mit Trace verknüpfen? | Input-/Output-Tokens, Abrechnungseinheit, Tarif-ID | Einheitliche Ganzzahl-Attribute plus stabile Request-/Order-Korrelation auf dem Wurzel-Span. |
| Übersteht der Langläufer die Nacht? | Span-Verlust, Collector-Retries, Plattenfüllstand, Uhren | Last auf dediziertem Remote-Mac wiederholen und die Abnahme-Checkliste dokumentieren. |
Instrumentierungsfelder und Sampling-Zonen
Die exakten Attributnamen richten sich nach eurer GenAI-Semantik-Version (OpenTelemetry); entscheidend sind stabile Typen, niedrige Kardinalität bei Labels und konsistente Mandanten-IDs.
# Ressource / Kontext
service.name deployment.environment cloud.region tenant.id
# GenAI-Span (Beispiel-Logiknamen — an eure Semantik-Version anbinden)
gen_ai.operation.name gen_ai.system gen_ai.request.model
gen_ai.usage.input_tokens gen_ai.usage.output_tokens gen_ai.usage.total_tokens
gen_ai.response.finish_reasons gen_ai.response.idempotency_key
llm.prompt_hash llm.completion_hash llm.cache_hit_bool billing.unit billing.rate_card_id
# Korrelation
trace.trace_id span.parent_span_id correlation.request_idEmpfohlene Sampling-Bereiche (Wahrscheinlichkeit, als Richtintervall):
- Lokale Entwicklung / Debug: 0,7–1,0 — kurze Export-Batches für schnelles Feedback; bei sehr großen Prompts dennoch Payload an der Quelle begrenzen.
- Staging oder kontrollierter Lasttest: 0,2–0,5 — teure und fehlerhafte Spans immer erzwingen (Tail-based oder Regeln am Collector).
- Produktion: 0,02–0,1; wenn das Backend knirscht, 0,01–0,05 und stärker auf Aggregationen und Logs mit Sampling-Hinweis setzen.
- Batch-Embeddings / Indexierung: 0,05–0,2 pro Batch-Span, ergänzt um dataset_id, batch_retry_count und Chunk-Statistiken.
Ergänzend sollten Export-Intervalle und maximale Batch-Bytes am Collector so gesetzt sein, dass unter Volllast noch CPU-Budget für Inferenz bleibt — typischerweise eher kleinere Batches mit leicht höherer Frequenz als monolithische Pakete, die Blockierungen erzeugen.
Collector, Kardinalität und Tail-Sampling. Hohe Kardinalität entsteht schnell, wenn freie Textfragmente oder volatile Session-IDs als Span-Attribute landen. Besser: stabile Modellfamilie statt vollständiger Modell-Revision in jedem Span, oder Revision als eigenes niedrigfrequentes Attribut am Deployment. Tail-basiertes Sampling (erst nach Abschluss entscheiden, ob ein Trace exportiert wird) hilft, teure Aufrufe ohne Vorabkenntnis der Kosten zu erhalten — setzt aber ausreichend Puffer am Collector voraus. Auf dem Remote-Mac lässt sich dieselbe Collector-Konfiguration wie in Staging fahren, ohne dass Messenger, Browser und IDE gleichzeitig CPU und I/O beanspruchen; so werden Verlust- und Retry-Kurven vergleichbar und Abnahmeprotokolle überzeugender für Stakeholder jenseits des Engineering-Teams.
Umsetzung in sechs Schritten (Remote-Mac)
1. Ressourcenattribute versionieren und pro Umgebung einfrieren. 2. Einen Korrelationsschlüssel durch Agent, Tools und Vektorjobs jagen. 3. Jeden Modellaufruf als GenAI-Span mit Token- und Finish-Metadaten ausstatten; Inhalte nur gehasht. 4. Kostenschätzung und Tarif-ID als optionale, aber konsistente Felder führen. 5. Sampling- und Export-Politik am Collector dokumentieren und per Feature-Flag versionieren. 6. Auf einem gemieteten Apple-Silicon-Remote-Knoten einen Nachtlauf fahren und die Checkliste abarbeiten — so nähern sich Latenz- und Verlustkurven dem Zielbetrieb, ohne den Entwickleralltag zu verfälschen.
Abnahme-Checkliste für Remote-Langläufer
- Span-Verlustrate steht im Einklang mit Collector-Retry-Metriken; keine stillen Drops ohne Logzeile.
- Stichprobe: Hochtokenisierte Aufrufe sind bis Mandant und Modell drilldown-fähig und passen stichprobenartig zur Abrechnung.
- Zeitzonen und NTP-Drift dokumentiert; Tagesgrenzen in Reports ohne Sprünge.
- Log-Rotation und Trace-Retention greifen deterministisch; ein Testalarm erzeugt einen nachvollziehbaren Eintrag.
- Jede Änderung der Sampling-Politik trägt Versions-ID und Zeitfenster für Vergleiche im Runbook.
Häufige Fragen (FAQ)
F: Semantik vs. Datenschutz? A: Rohdaten aus Prompt und Completion standardmäßig ausschließen; Längen, Hashes, Template- und Eval-Set-Versionen reichen meist. Falls Ausnahmen nötig sind, eng begrenzte Mandanten, kurze Aufbewahrung und Zugriffsreviews.
F: Welche Basis-Sampling-Rate in Produktion? A: Aus Speicher- und Abfrage-Latenzen ableiten; häufig ein bis zehn Prozent Basis, plus erzwungene Vollständigkeit für Fehler und teure Calls.
F: Warum nicht nur der Laptop? A: Ruhezustand, thermische Drossel und Desktop-Hintergrund verzerren Tail-Latenzen und Export-Stau. Ein dedizierter Remote-Mac liefert stabilere Uhren und Netzwerk — ideal für wiederholbare Observability-Soaks.
Öffentliche Seiten: Tarife und SKUs lassen sich ohne Login auf Preise vergleichen; Bestellung und Mietbeginn über Kauf-/Mietseite. Befehle und Grenzen nachlesen im Hilfezentrum — die meisten Inhalte sind öffentlich einsehbar.