@aegisai/opik
Version:
Opik TypeScript and JavaScript SDK
48 lines (45 loc) • 1.51 kB
text/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-C3O8H4SX.cjs';
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;
};
type OpikExporterOptions = {
client?: OpikClient;
tags?: string[];
metadata?: Record<string, AttributeValue>;
};
declare class OpikExporter implements SpanExporter {
private readonly traces;
private readonly spans;
private readonly client;
private readonly tags;
private readonly metadata;
constructor({ client, tags, metadata, }?: OpikExporterOptions);
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 };