import { Effect, Schedule, pipe } from "effect";
import { NodeSdk } from "@effect/opentelemetry";
import {
ConsoleSpanExporter,
SimpleSpanProcessor,
} from "@opentelemetry/sdk-trace-base";
const program = pipe(
Effect.log("Hello"),
Effect.repeat({ times: 10, schedule: Schedule.spaced("500 millis") }),
Effect.withSpan("myspan"),
);
const NodeSdkLive = NodeSdk.layer(() => ({
resource: { serviceName: "example" },
spanProcessor: new SimpleSpanProcessor(new ConsoleSpanExporter()),
}));
Effect.runPromise(program.pipe(Effect.provide(NodeSdkLive)));
import { Effect, Schedule, pipe } from "effect";
import { NodeSdk } from "@effect/opentelemetry";
import {
ConsoleSpanExporter,
SimpleSpanProcessor,
} from "@opentelemetry/sdk-trace-base";
const program = pipe(
Effect.log("Hello"),
Effect.repeat({ times: 10, schedule: Schedule.spaced("500 millis") }),
Effect.withSpan("myspan"),
);
const NodeSdkLive = NodeSdk.layer(() => ({
resource: { serviceName: "example" },
spanProcessor: new SimpleSpanProcessor(new ConsoleSpanExporter()),
}));
Effect.runPromise(program.pipe(Effect.provide(NodeSdkLive)));