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

# Diagnose a Silent Outage

> Use the Presence signal to confirm whether a service has gone quiet because of a real problem or an expected change.

export const HnyIcon = ({alias, path, size = 16, iconColor}) => {
  const iconMap = {
    "home": "house.svg",
    "marker": "caretFilledDown.svg",
    "show-marker-options": "chatTextLeft.svg",
    "download": "arrowLineDown.svg",
    "trace-waterfall": "trace.svg",
    "show-query-details": "listDashes.svg",
    "table": "table.svg",
    "log-lines": "logLines.svg",
    "chart": "chartLine.svg",
    "show-settings": "gear.svg",
    "add": "plus.svg",
    "remove": "delete.svg",
    "persist": "caretDown.svg",
    "close": "close.svg",
    "copy": "copy.svg",
    "zoom-in": "magnifyingGlassPlus.svg",
    "zoom-out": "magnifyingGlassMinus.svg",
    "color-assignment": "drop.svg",
    "drag": "dots-six-vertical.svg",
    "drawer": "drawer.svg",
    "show-actions": "dotsThree.svg",
    "edit": "pencil.svg",
    "delete": "trash.svg",
    "move": "arrowsOutCardinal.svg",
    "show-legend": "circleInfo.svg",
    "usage-ok": "usageGood.svg",
    "usage-warning": "usageWarning.svg",
    "usage-danger": "usageDanger.svg",
    "open-query-builder": "query.svg",
    "home-menu": "house.svg",
    "query-menu": "query.svg",
    "boards-menu": "board.svg",
    "triggers-menu": "bell.svg",
    "slos-menu": "handshake.svg",
    "service-map-menu": "serviceMap.svg",
    "history-menu": "clockCounterClockwise.svg",
    "manage-data-menu": "cube.svg",
    "usage-menu": "usageGood.svg",
    "canvas-menu": "sparkle.svg",
    "anomalies-menu": "anomalies.svg",
    "show-details": "dotsThreeVertical.svg",
    "resize-handle": "board-panel-resize-handle.png",
    "standard-dataset": "cube.svg",
    "trace-dataset": "cubeChat.svg",
    "all-datasets": "linkedSquares.svg",
    "share": "arrowBentRight.svg",
    "run-in-query-builder": "arrowSquareUpRight.svg",
    "link": "link.svg",
    "text": "text.svg",
    "receive": "arrowLineDown.svg",
    "process": "lightning.svg",
    "sample": "drop.svg",
    "send": "arrowLineUp.svg",
    "submit": "arrowUp.svg",
    "canvas-menu": "sparkle.svg",
    "canvas": "sparkle.svg",
    "chat-about-this-page": "sparkle.svg",
    "private": "lockKey.svg",
    "shared": "people.svg",
    "expand": "caretDown.svg",
    "previous": "caretLeft.svg",
    "next": "caretRight.svg",
    "expand-chat": "caretLeft.svg",
    "minimize-chat": "caretRight.svg",
    "open-in-canvas": "arrowSquareUpRight.svg",
    "send-test": "EnvelopeSimple.svg"
  };
  const iconBasePath = "/_assets/icons/";
  const iconPath = path || (alias ? `${iconBasePath}${iconMap[alias]}` : undefined);
  return <span className="hny-icon" style={{
    display: "inline-block",
    width: `${size}px`,
    height: `${size}px`,
    maskImage: `url(${iconPath})`,
    maskSize: "contain",
    maskRepeat: "no-repeat",
    maskPosition: "center",
    WebkitMaskImage: `url(${iconPath})`,
    WebkitMaskSize: "contain",
    WebkitMaskRepeat: "no-repeat",
    WebkitMaskPosition: "center",
    backgroundColor: iconColor || "var(--hny-icon-color)",
    verticalAlign: "middle"
  }} />;
};

<Badge className="hny-badge-beta">Beta</Badge>

When a service stops sending data entirely, there is no error to point you toward a cause, since the service isn't emitting anything at all.
This workflow uses the Presence signal to confirm the outage, rule out expected causes, and hand off to the right team with evidence.

## Investigate the anomaly

<Steps titleSize="h3">
  <Step title="Open the anomaly">
    Open the anomaly and start an investigation:

    1. Select **Anomalies** (<HnyIcon alias="anomalies-menu" />) from the navigation menu.
    2. Find the service showing as **Anomalous**.
    3. Select **Investigate** (or **View Investigation** if a Canvas investigation is already underway).
  </Step>

  <Step title="Confirm the gap on the Presence chart">
    On the service's **Presence** view, locate the highlighted gap on the chart, which shows the service's event volume over time.
    Note when the data stream stopped and whether it has resumed.
  </Step>

  <Step title="Rule out an expected cause">
    Check whether the gap lines up with a planned deployment, a maintenance window, or a deliberate service shutdown.
    A gap that starts right after a deploy points toward the deploy as the likely cause.
  </Step>

  <Step title="Check the Canvas investigation">
    If auto-investigate is turned on for the service, review the Canvas investigation for related changes, such as a recent deploy or a dependency also showing anomalies.

    If auto-investigate isn't turned on, check the **Anomalies** list for related services that are also marked as **Anomalous** and may share the same cause.
  </Step>
</Steps>

## Make the call

With the gap confirmed and a likely cause identified, you have what you need to decide how to respond:

* If the gap doesn't match a planned change, or a dependent service is also affected, escalate to the configured recipients and treat it as a live incident.
* If the gap matches a planned deployment or maintenance window, you can close the investigation with confidence rather than escalating further.
