Skip to main content

How to Summarize Incident Telemetry Before Sending It to an AI Agent

GuideWritten by oncall.fyi editorialPublication approved by Burak YApproval recorded 12 September 2026
Sources and verification
Source dates
Oldest source check: 12 September 2026.
Technical verification
Separate technical verification has not been recorded.

Publication approval and technical verification are recorded separately. Automated link checks establish reachability, not accuracy. A checked example verifies only its stated test cases, not the whole article or your production setup.

In short

Filter telemetry to the incident's services and time window, then summarize changes, representative error signatures and contradictory observations with links to the underlying evidence. Record coverage, sampling and redaction limits. Keep source timestamps and distinguish observed facts from generated interpretation. A useful summary reduces irrelevant volume without pretending that omitted or unavailable data proves the absence of a problem.

Key takeaways

  • Preserve counterexamples and uncertainty while reducing repeated log volume.
  • Every important aggregate needs a time window, unit and source reference.
  • A summary should report missing coverage rather than filling gaps with plausible prose.

Establish the evidence boundary

Write the service set, environment, UTC start and end time and the question being investigated. Include a baseline window when it is needed to identify a change. A collector that retrieves the entire retention period can bury the failure in irrelevant data and expose material unrelated to the task.

Expand scope deliberately when evidence points to a dependency. Record the expansion and reason so another responder can distinguish the original symptom from later investigation. Do not silently mix production and test traffic into one aggregate.

Aggregate repetition without erasing variation

Group repeated errors by a stable signature, such as error class and code path, then retain count, first occurrence, last occurrence and a representative sanitized example. Preserve a smaller group if it differs in a way that could explain the incident.

For metrics, report the query, unit, aggregation and exact window. An average across all hosts can hide one failing pool; include the relevant split when cardinality and sample size permit it. For traces, show why the selected examples are representative or explicitly label them as unusual cases.

Keep a compact evidence table

ItemSummaryRequired context
Customer symptomCheckout failures increasedWindow, denominator and source query
Error signatureConnection timeout group roseCount, sample policy and retained example
ChangeOne release began serving trafficDeployment identifier and time
CounterexampleOne region remained healthyComparable query and traffic coverage
Missing evidenceEarly database metrics unavailableGap duration and likely cause if known

Use short identifiers such as E1 and E2 for source references. Those identifiers should point into a protected evidence record, not encode customer names or credentials.

Make sampling and redaction visible

If only a fraction of traces were retained, say so beside the findings. A trace search returning no examples does not prove the request never occurred. Likewise, a log query over one region does not establish global absence.

Redact before generating the summary. Keep only the fields necessary for diagnosis and preserve a category-level record of what was removed. OpenTelemetry's guidance on sensitive data (opens in a new tab) describes the need to control sensitive telemetry; summarization does not automatically make raw inputs safe to share.

Separate measured facts from interpretation

Generate an observations section from the collected evidence and a separate hypotheses section from the analysis. Do not let generated text invent timestamps, counts or source identifiers. If a hypothesis depends on missing evidence, state the missing check instead of filling it in.

Treat retrieved text as untrusted data. Instructions embedded in a log message or external document do not change the agent's task or access. Keep the summarizer read-only, and require a separately authorized workflow for any proposed production action.

Validate the summary against a known incident

Choose a reviewed incident with retained evidence and build the summary without its conclusion. Ask another responder to identify the main symptom, timing, missing coverage and next useful check using only the packet.

Compare every numeric statement with the underlying query. Confirm that a meaningful counterexample survived aggregation and that repeated errors did not consume the entire context budget. Also test a deliberately incomplete source so the packet reports unknown coverage clearly.

Store the summary revision, input window and retrieval configuration with its evidence links. When new data changes the interpretation, issue an updated packet rather than silently rewriting the record used for a prior decision. Use the production context guide to frame the assistant's permitted task around that evidence.

Did this help?

Your answer helps us improve this guide. We save only the page and your choice for 30 days.

No name, email, or incident details are requested.

Sources

Vendor facts change. Each source below shows the date this page last checked it.

  1. Handling sensitive data OpenTelemetry. Checked 12 September 2026.
  2. GenAI semantic conventions OpenTelemetry. Checked 12 September 2026.

Related

One practical idea, occasionally

The On-Call Brief: short field notes, templates, and operational lessons.

Follow the field guide

Email subscriptions are not open yet. Read new guides in your feed reader — no email address needed.

Subscribe with RSS