Effect CommunityEC
Effect Community5mo ago
33 replies
Maks

Troubleshooting OTLP Trace Export Issues to SignOz

Hey everyone, could someone please take a look at my implementation of Otlp?

I use SignOz as a docker locally, which works fine, however, traces aren't exported to SignOz from Effect. I see trace_id and span_id in a log... However, no traces when I want to actually see all traces.

My OTLP_URL is an HTTP endpoint for OTEL "http://localhost:4318".

import * as Otlp from '@effect/opentelemetry/Otlp';
import * as FetchHttpClient from '@effect/platform/FetchHttpClient';
import * as Effect from 'effect/Effect';
import * as Layer from 'effect/Layer';
import * as Logger from 'effect/Logger';
import { EnvVars } from './EnvVars';

export const ObservabilityLive = Layer.unwrapEffect(
  EnvVars.OTLP_URL.pipe(
    Effect.map((url) =>
      Otlp.layer({
        baseUrl: url.toString(),
        resource: {
          serviceName: 'backend-server',
          serviceVersion: '1.0.0',
        },
        tracerExportInterval: '10 seconds',
        loggerExportInterval: '10 seconds',
        maxBatchSize: 1,
        replaceLogger: Logger.logfmtLogger,
        loggerExcludeLogSpans: true,
      }),
    ),
    Effect.tap(() => Effect.logInfo('✅ Observability layer created')),
  ),
).pipe(Layer.provide(FetchHttpClient.layer));


Would greatly appreciate any ideas
Was this page helpful?