© 2026 Hedgehog Software, LLC
@effect/opentelemetry
TelemetryLayer
[14:41:06.317] ERROR (#1): Error: (Missing data at OTEL_SERVICE_NAME: "Expected OTEL_SERVICE_NAME to exist in the process context")
import * as OtlpTracer from "@effect/opentelemetry/OtlpTracer"; import * as OtlpMetrics from "@effect/opentelemetry/OtlpMetrics"; import * as OtlpLogging from "@effect/opentelemetry/OtlpLogger"; import * as Resource from "@effect/opentelemetry/Resource"; import { FetchHttpClient } from "@effect/platform"; import { Layer } from "effect"; const telemetryConfig = { environment: "development", serviceName: "notification-api", serviceVersion: "1.0.0", }; const resourceLayer = Resource.layer({ attributes: { environment: telemetryConfig.environment, }, serviceName: telemetryConfig.serviceName, serviceVersion: telemetryConfig.serviceVersion, }); export const TracingLayer = OtlpTracer.layer({ url: "http://localhost:4318/v1/traces", }); const MetricsLayer = OtlpMetrics.layer({ url: "http://localhost:4318/v1/metrics", }); const LoggingLayer = OtlpLogging.layer({ url: "http://localhost:4318/v1/logs", }); export const TelemetryService = Layer.mergeAll(TracingLayer, MetricsLayer, LoggingLayer).pipe( Layer.provide(resourceLayer), Layer.provide(FetchHttpClient.layer), );