> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Traces-Seite

> Untersuchen Sie einen Trace: seine Service-Map, Span-Timeline, Span-Details, Tags, verwandten Logs, Trigger und die anderen Traces derselben Action.

Wenn Sie in der Liste [„Performance > Traces"](https://appsignal.com/redirect-to/app?to=performance/traces) ein Trace-Sample zur Untersuchung auswählen und eine der neuesten Traces zu einem bestimmten Zeitpunkt öffnen, gelangen Sie auf die Detailseite des Performance-Traces, die dessen Service-Map, Timeline, Tags und verwandte Logs zeigt.
Die Trace-Seite zeigt einen gespeicherten Trace für eine Action: eine einzelne Anfrage, einen Background-Job oder eine andere Operation, die Ihre Anwendung ausgeführt hat. Ein Trace besteht aus **Spans**, den einzelnen Arbeitseinheiten darin, wie einer HTTP-Anfrage, einer Datenbankabfrage oder einer Background-Task.

Nutzen Sie die Seite, um zu sehen, wo die Operation Zeit verbracht hat, ihren Kontext und ihre Logs zu prüfen und zu entscheiden, was als Nächstes zu tun ist.

Der Header zeigt den Namen der Action und ihren [Namespace](/guides/namespaces), zum Beispiel `run/shop.send_waitlist_notification` in `celery/background`. Die Tabs unter dem Header wechseln zwischen Ansichten derselben Action: Summary, Traces und Charts.

<h2 id="service-map">
  Service-Map
</h2>

Die Service-Map zeigt den Trace aus der Perspektive der beteiligten Services: welche Services die Anfrage erreicht hat und wie lange jeder Aufruf zwischen ihnen gedauert hat. Sie erscheint nur, wenn ein Trace mehr als einen Service durchläuft, denn ein Trace, der innerhalb eines einzigen Services bleibt, hat nichts zum Abbilden.

* **Eine Box pro Service**, gruppiert nach `service_name`. Jede Box ist mit dem Servicenamen und der AppSignal-Anwendung beschriftet, an die er berichtet. Darin befindet sich eine Zeile pro Aufruf, den der Service verarbeitet hat, sodass ein Service, der zweimal im selben Trace aufgerufen wird, zwei Zeilen zeigt. Wählen Sie eine Zeile aus, um die eigene Sicht dieses Services auf den Trace zu öffnen.
* **Kanten sind die Aufrufe zwischen Services**, beschriftet mit ihrer Dauer, und enden auf der Action-Zeile, die sie aufgerufen haben. Dies umfasst synchrone Aufrufe, wie eine HTTP-Anfrage, und asynchrone, wie eine Web-App, die einen Background-Job einreiht.
* **Die Kantenfarbe bewertet jeden Aufruf** gegenüber der eigenen Baseline des Traces als schnell, langsam oder kritisch, sodass die langsamsten Hops auffallen, ohne dass Sie jede Dauer lesen müssen. Eine gestrichelte Kante kennzeichnet einen verknüpften Trace, und eine gestrichelte Box kennzeichnet einen Service aus einem anderen Trace.
* **Fehler markieren den Service, in dem sie aufgetreten sind**, nicht den Service, der ihn aufgerufen hat.

Die Legende erklärt jede Farbe und jeden Rahmen, und Sie können sie einklappen, um mehr von der Map zu sehen.

<Frame caption="Die Trace-Service-Map, die die Services in einem Trace und die Aufrufe zwischen ihnen zeigt">
  <img src="https://mintcdn.com/appsignal-715f5a51/c83ekv4V7F6m4xy5/assets/images/screenshots/performance/trace-service-map.png?fit=max&auto=format&n=c83ekv4V7F6m4xy5&q=85&s=f98eed52b3b3bfefea7a4bed9d373410" alt="Service-Map eines einzelnen Traces über einen Bot-, Web-, Payments- und Sidekiq-Service hinweg, wobei jeder Aufruf mit Dauer beschriftet und nach Geschwindigkeit eingefärbt ist" width="2922" height="1810" data-path="assets/images/screenshots/performance/trace-service-map.png" />
</Frame>

<h2 id="trace-timeline">
  Trace-Timeline
</h2>

Wenn Sie ein Trace-Sample zu einem bestimmten Zeitpunkt auswählen, ordnet die Timeline die Spans des Traces zeitlich an, vom Beginn des Traces bis zu seinem Ende. Die Position jedes Balkens zeigt, wann ein Span begonnen hat, seine Breite zeigt, wie lange der Span lief, und seine Farbe zeigt die Span-Gruppe, zu der er gehört. AppSignal markiert auch hier Probleme, etwa ein N+1-Event: dieselbe Query, die in einer Operation viele Male wiederholt wird.

Die Timeline folgt der Operation über Services hinweg. In einem Stroopwafel-Shop kann eine Django-Anfrage einen Celery-Task einreihen, der Task sendet eine E-Mail, und ein Audit-Service protokolliert das Ergebnis. Jeder Service ist in der Timeline beschriftet, sodass Sie sehen können, wo ein Service die Arbeit an den nächsten übergibt.

Wählen Sie **All spans**, um die Vollbild-Timeline zu öffnen. Dort können Sie:

* Spans nach Name, Attribut oder Event suchen.
* Nach Event-Typ filtern: Errors, Queries oder Events.
* Nach Issue filtern, etwa N+1-Queries.
* Nach Span-Gruppe filtern, etwa Webserver, Datenbank und ORM, HTTP oder Sonstiges.
* Nach Service filtern oder die Timeline auf einen Teil der Trace-Dauer eingrenzen.
* Verschachtelte Spans auf- und zuklappen. Ein Badge zeigt, wie viele untergeordnete Spans ein Span hat, und ein Wiederholungs-Badge wie `x6` zeigt, wie oft derselbe Span ausgeführt wurde.
* Einen Span auswählen, um seine Details zu öffnen.

<Frame caption="Die Vollbild-Trace-Timeline mit den Details des ausgewählten Spans">
  <img src="https://mintcdn.com/appsignal-715f5a51/c83ekv4V7F6m4xy5/assets/images/screenshots/performance/trace-timeline.png?fit=max&auto=format&n=c83ekv4V7F6m4xy5&q=85&s=236174ca0fe90493dd971b877160fa09" alt="Trace-Timeline, die die Spans einer Anfrage im Zeitverlauf, die Event- und Span-Gruppen-Filter sowie die Attribute des ausgewählten Spans zeigt" width="3040" height="1760" data-path="assets/images/screenshots/performance/trace-timeline.png" />
</Frame>

<h3 id="span-details">
  Span-Details
</h3>

Das Detailpanel benennt den Span und zeigt seine Art, wie `consumer`, seinen Status, seine Startzeit und seine Dauer. Drei Tabs liefern den Rest:

* **Attributes**: die Span-Attribute, wie `celery.task_name` und `messaging.destination`, sowie die Ressourcen-Attribute, wie `host.name` und `service.name`. Wählen Sie **Show internal attributes**, um zusätzlich die von AppSignal hinzugefügten Attribute aufzulisten. Die Trace-ID und die Span-ID sind **nur** sichtbar, während **Show internal attributes** ausgewählt ist.
* **Exceptions** oder **Events**: die auf dem Span erfassten Fehler und anderen Events. Ein Span, der eine Exception ausgelöst hat, zeigt oben im Panel auch eine Zusammenfassung mit einer Aktion, um die Exception anzuzeigen.
* **Related logs**: die mit dem Span verknüpften Log-Zeilen. Wählen Sie **View in logs**, um im [Log-Explorer](/logging) fortzufahren.

Der Tab **Related logs** öffnet sich mit dem Umfang **This span**, sodass er nur nach den Log-Zeilen des ausgewählten Spans sucht. Setzen Sie den Umfang auf **Entire trace**, um die Suche auf alle Log-Zeilen auszuweiten, die mit dem Trace verknüpft sind, über alle seine Spans und Services hinweg.

<h3 id="trace-breakdown">
  Trace-Aufschlüsselung
</h3>

Die Trace-Aufschlüsselung fasst den gesamten Trace in zwei gestapelten Balken zusammen. In beiden ist jedes Segment eine der Bibliotheken, die die Arbeit erledigt haben, wie `active_record`, `http_rb` oder `sidekiq`, und die Legende listet jede Bibliothek mit ihrer eigenen Gesamtsumme auf, die größte zuerst.

* **Durations**: wie viel von der Zeit des Traces auf jede Bibliothek entfällt.
* **Allocations**: wie viele Objekte jede Bibliothek allokiert hat, mit der Gesamtsumme des Traces in der Überschrift.

<h2 id="tags">
  Tags
</h2>

Tags sind die mit dem Trace erfassten Schlüssel-Wert-Paare, wie `hostname`, `queue`, `message_id` und `revision`.

Jeder Tag hat zwei Aktionen:

* **Filter** grenzt die Traces-Liste auf die Traces dieser Action ein, die denselben Wert tragen. Der Wert bleibt oberhalb der Liste sichtbar, und **Reset** setzt ihn zurück.
* **Search** öffnet eine Übersicht über alles, was AppSignal mit diesem Wert erfasst hat. Sie können die Übersicht nach App, Namespace, Zeitraum und Typ eingrenzen, sodass Sie nur die Fehler oder nur die Performance-Traces sehen, die ihn teilen. Wählen Sie **Go to trace** bei einem Ergebnis, um es zu öffnen.

Um einen Tag-Wert in einen Link zu Ihrer eigenen Anwendung umzuwandeln, verwenden Sie [Link-Templates](/application/link-templates). Um mehr Tags aus Ihrer App zu senden, siehe [Tagging](/application/tagging).

<h2 id="related-logs">
  Verwandte Logs
</h2>

Die mit diesem Trace verknüpften Log-Zeilen, mit ihrer Zeit, ihrem Schweregrad und ihrer Nachricht. Im Stroopwafel-Beispiel zeigen sie den Start des Waitlist-Tasks, das Fehlschlagen des E-Mail-Versands und den darauffolgenden Wiederholungsversuch. Wählen Sie **Open in the log view**, um im [Log-Explorer](/logging) fortzufahren.

Das Panel meldet, wenn es keine verwandten Log-Zeilen findet. AppSignal verknüpft eine Log-Zeile mit einem Trace über eine gemeinsame `request_id` oder `trace_id`, sodass das Panel leer bleibt, wenn die Operation nichts protokolliert hat, wenn Ihre Anwendung noch keine Logs an AppSignal sendet oder wenn die Kennung in einem der beiden fehlt. Siehe [Logging konfigurieren](/logging/configuration), um Logs zu senden, und [Traces mit Logs verknüpfen](/guides/linking-traces-with-logs) für die Kennungen.

<h2 id="request-details">
  Request-Details
</h2>

Bei Web-Anfragen zeigt die Seite auch die von AppSignal empfangenen Rohdaten, in drei Panels:

* **Request-Header**: die mit der Anfrage gesendeten HTTP-Header. Verwenden Sie [Header-Filterung](/application/header-filtering), um zu wählen, welche Header Ihre Anwendung sendet.
* **Request-Payload**: der Anfrage-Body, wie eine GraphQL-Query und ihre Variablen. Verwenden Sie [Parameterfilterung](/application/parameter-filtering), um sensible Werte fernzuhalten.
* **Session-Daten der Anfrage**: die Session-Werte für die Anfrage. Verwenden Sie [Session-Datenfilterung](/application/session-data-filtering), um sensible Werte fernzuhalten.

<h2 id="performance-trends">
  Performance-Trends
</h2>

Ein Diagramm der Performance der Action über die letzten 24 Stunden oder 30 Tage.

<h2 id="triggers">
  Trigger
</h2>

Trigger benachrichtigen Sie, wenn diese Action langsam wird. Das Panel listet die für die Action bereits bestehenden Trigger auf, wie `Mean > 200 ms`.

Wählen Sie **Add new**, um das Trigger-Formular mit ausgefülltem Namespace und Action-Namen zu öffnen. Im Formular:

* Wählen Sie den Wert, auf den alarmiert werden soll, wie den Mittelwert, und den Schwellenwert, oberhalb dessen AppSignal alarmiert, wie 200 ms.
* Legen Sie ein Alert-Warm-up und ein Alert-Cooldown in Minuten fest.
* Fügen Sie eine Beschreibung für die Personen hinzu, die den Alert erhalten.
* Wählen Sie die Notifier aus, die ihn erhalten, wie E-Mail, Slack, PagerDuty oder OpsGenie.

Wie Alerts geöffnet, geschlossen und wiederholt werden, erfahren Sie unter [Anomaly detection](/anomaly-detection) und [Warm-up und Cooldown](/anomaly-detection#warm-up-and-cooldown).

<h2 id="actions">
  Actions
</h2>

* **Time Detective**: die Daten Ihrer Anwendung so betrachten, wie sie zum Zeitpunkt des Traces waren.
* **Send to your issue tracker**: ein Issue aus dem Trace erstellen. Diese Aktion erscheint, wenn ein Tracker verbunden ist, und ihre Beschriftung entspricht diesem Tracker, wie GitHub, GitLab, Jira oder Linear. Siehe [Integrationen](/application/integrations).

<h2 id="traces">
  Traces
</h2>

Das Traces-Panel listet die anderen gespeicherten Traces für diese Action auf, jeweils mit Zeitstempel und Dauer. Wählen Sie einen davon aus, um diesen Trace zu öffnen.

Um einen bestimmten Trace zu finden:

* Geben Sie einen Wert in das Tag-Filterfeld ein, oder verwenden Sie die Aktion **Filter** bei einem Tag, um nur die Traces zu behalten, die diesen Wert tragen.
* Öffnen Sie die Datumssteuerung, um ein Datum und eine Uhrzeit zu wählen, oder wählen Sie **Today**, **Yesterday**, **Last week** oder **Latest**. Wählen Sie **Jump to latest**, um zu den neuesten Traces zurückzukehren.
* Wählen Sie **Load newer traces** oder **Load older traces**, um sich durch die Liste zu bewegen.
* Wählen Sie **Reset**, um die Filter zu leeren und wieder jeden gespeicherten Trace zu sehen.

Ein [Deploy-Marker](/application/markers) zwischen zwei Traces zeigt, wo eine neue Version übernommen hat, was Ihnen hilft, Traces von vor und nach einem Deploy zu vergleichen.

<Note>
  AppSignal speichert nicht für jede Anfrage einen Trace. Stattdessen wird ein repräsentativer Satz gespeichert, sodass die Liste eine Stichprobe des Traffics der Action zeigt.
</Note>
