Datadog-only · Browser SDK diagnostics

From raw SDK log
to a trackable issue.

Follow an uncaught Browser SDK error as Datadog selects, normalizes, groups, measures, and alerts on it—without a diagnostics-service deployment.

Live Datadog dashboardNative issue groupingNew-issue Slack monitor
Follow the event ↓
One event · four transformations

Watch the data change

The same Amplitude error remains visible from the original payload to the new-issue notification.

01 · Input

The error arrives inside an info log.

Datadog sees service=sdk-diagnostics and status=info. The actual error is nested under event_properties, so Error Tracking cannot use it yet.

01
Raw diagnostic eventstatus: info
{ "service": "sdk-diagnostics",
  "event_name": "sdk.error.uncaught",
  "library": "amplitude-ts-sdk-script/2.42.4",
  "event_properties": {
    "error_name": "TypeError",
    "message": "undefined is not an object
      (evaluating 'Object.keys(e.amplitude._iq)')",
    "stack": "...min.js.gz:1:223108",
    "stack_unminified[0]": "GlobalScope
      (packages/analytics-browser/src/snippet-index.ts:52:38)"
  }
}
02 · Log Pipeline · active

Select strictly. Remap into standard fields.

The canonical scope requires all three signals: service:sdk-diagnostics, the exact "SDK Diagnostic Event" marker, and @event_name:sdk.error.uncaught. A JSON parser exposes the payload; remappers populate Datadog’s standard error fields. Request wrappers and backend Java exceptions do not satisfy the complete scope.

02
Actual field transformation
event_properties.error_nameerror.kind
event_properties.messageerror.message
event_properties.stackerror.stack
sdk_error_status = errorstatus: error
service: sdk-diagnostics
status: error
error.kind: TypeError
error.message: undefined is not an object…
error.stack: TypeError … min.js.gz:1:223108
03 · Error Tracking · active

Datadog turns occurrences into native issues.

Datadog Error Tracking uses the mapped error.kind, normalized error.message, and error.stack to create its native issue fingerprint. Equivalent occurrences increase one issue’s count; the dashboard shows each group’s occurrence and percentage. Generic TypeError: Failed to fetch is excluded from the canonical SDK ranking because it normally represents customer-side network failure.

03
Native groupingdashboard active
error.kind + error.message + error.stack
ONE ERROR TRACKING ISSUE

Object.keys(amplitude._iq) on undefined

Repeated matching events roll up into occurrence count and percentage.
04 · Detection · active

A genuinely new issue notifies Slack.

The Error Tracking monitor watches for new Browser issues in the same canonical scope and groups alerts by issue.id. Its Slack message includes the error type, message, file, category, handling state, fixed service scope, and a direct Datadog issue link. Automatic Linear ticket creation remains out of scope.

04
New issue monitoractive
New Browser SDK uncaught error
Actionable context and a direct issue link are sent to Slack.
issue_link: available
slack_channel: sdk-error-tracking-demo
linear_ticket: not created
Interactive classification check

Change one property

See whether an occurrence belongs in the actionable SDK population before Datadog groups it.

Classification preview

Object.keys(amplitude._iq) on undefined

kind    TypeError
message undefined is not an object…
frame   snippet-index.ts:52
→ Baseline issue
Inspect the live system

Open the current resources