Effect CommunityEC
Effect Community5mo ago
3 replies
Sly

Effect.fn does not inherently create OpenTelemetry spans. The behavior you're observing is likely...

Is effect.fn(... creating open telemetry spans even if not given a name and somehow just doesn't send them?

Within
const router = HttpRouter.empty.pipe(
    HttpRouter.all(
        '/',
        Effect.gen(function* () {


if doing
                const currentOpentelemetrySpan = trace.getActiveSpan();
                    if (currentOpentelemetrySpan) {
                        currentOpentelemetrySpan.updateName(
                            `Some Name`,
                        );
                    }


It changes the span name from e.g. http.server POST to Some Name.

Moving the very same to
export const modifyCurrentOpentelemetrySpanName = Effect.fn(
    function* (forwardedUrl: URL, request: HttpServerRequest.HttpServerRequest) {
        const currentOpentelemetrySpan = trace.getActiveSpan();
        if (currentOpentelemetrySpan) {
            currentOpentelemetrySpan.updateName(
                `Some Name`,
            );
        }
        return yield* Effect.void;
    },
);

And yielding it doesn't change the respective name anymore.
Was this page helpful?