opik
Version:
Opik TypeScript and JavaScript SDK
43 lines (40 loc) • 1.3 kB
TypeScript
import { AttributeValue, Tracer } from '@opentelemetry/api';
import { NodeSDKConfiguration } from '@opentelemetry/sdk-node';
import { O as OpikClient, S as Span, T as Trace } from '../Client-CgkZJ_1L.js';
import 'stream';
type SpanExporter = NodeSDKConfiguration["traceExporter"];
type ExportFunction = SpanExporter["export"];
type ReadableSpan = Parameters<ExportFunction>[0][0];
type TelemetrySettings = {
isEnabled?: boolean;
recordInputs?: boolean;
recordOutputs?: boolean;
functionId?: string;
metadata?: Record<string, AttributeValue>;
tracer?: Tracer;
};
type OpikExporterSettings = TelemetrySettings & {
name?: string;
};
declare class OpikExporter implements SpanExporter {
private traces;
private spans;
private client;
constructor({ client }?: {
client?: OpikClient;
});
private getSpanInput;
private getSpanOutput;
private getSpanMetadata;
private getSpanUsage;
processSpan: ({ otelSpan, parentSpan, trace, }: {
otelSpan: ReadableSpan;
parentSpan?: Span;
trace: Trace;
}) => Span;
shutdown: () => Promise<void>;
forceFlush: () => Promise<void>;
export: ExportFunction;
static getSettings(settings: OpikExporterSettings): TelemetrySettings;
}
export { OpikExporter };