Star us on GitHub
Star
Menu

Native OpenTelemetry Error Monitoring

Learn how to export errors to highlight.io via one of the OpenTelemetry SDKs.
1
Export your errors to the highlight.io collector.

We host an OpenTelemetry collector endpoint at https://otel.highlight.io:4318/v1/traces and https://otel.highlight.io:4318/v1/logs. Configure your OpenTelemetry SDK to send errors via OTLP HTTPS to this endpoint. Your Highlight Project ID should be included as an attribute with the highlight.project_id key. This configuration will depend on which SDK you use in your app.

import { NodeSDK } from '@opentelemetry/sdk-node' import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'; import { Resource } from '@opentelemetry/resources' import type { Attributes } from '@opentelemetry/api' const attributes: Attributes = { 'highlight.project_id': '<YOUR_PROJECT_ID>' } const sdk = new NodeSDK({ resource: new Resource(attributes), traceExporter: new OTLPTraceExporter({ url: 'https://otel.highlight.io:4318/v1/traces' }) }); const tracer = trace.getTracer('my-service'); sdk.start(); const main = () => { const span = tracer.startSpan('main') span.setAttributes({ ['highlight.session_id']: 'abc123', ['highlight.trace_id']: 'def456', customer: 'vadim', customer_id: 1234 }) try { throw new Error('This is an example error'); } catch (error) { span.recordException(error) } finally { span.end() } }; main();
Copy
2
Verify your errors are being recorded.

Verify that the backend error handling works by triggering the code that reports the error to highlight and visiting the highlight errors portal.