fix(diagnostics-otel): update to @opentelemetry/resources v2.x API

The Resource class was removed in @opentelemetry/resources v2.x.
Use resourceFromAttributes() function instead of new Resource().

Fixes TypeError: _resources.Resource is not a constructor
This commit is contained in:
Andrew Diller 2026-01-26 23:32:06 -05:00
parent 552b2956d4
commit 8995e58cd9

View File

@ -3,7 +3,7 @@ import type { SeverityNumber } from "@opentelemetry/api-logs";
import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
import { Resource } from "@opentelemetry/resources";
import { resourceFromAttributes } from "@opentelemetry/resources";
import { BatchLogRecordProcessor, LoggerProvider } from "@opentelemetry/sdk-logs";
import { PeriodicExportingMetricReader } from "@opentelemetry/sdk-metrics";
import { NodeSDK } from "@opentelemetry/sdk-node";
@ -62,7 +62,7 @@ export function createDiagnosticsOtelService(): ClawdbotPluginService {
const logsEnabled = otel.logs === true;
if (!tracesEnabled && !metricsEnabled && !logsEnabled) return;
const resource = new Resource({
const resource = resourceFromAttributes({
[SemanticResourceAttributes.SERVICE_NAME]: serviceName,
});