@embrace-io/web-sdk
Version:
29 lines • 1.31 kB
TypeScript
import { ProxyTraceManager } from "../../manager/ProxyTraceManager/ProxyTraceManager.js";
import "../../manager/index.js";
import { Span, SpanOptions, TimeInput } from "@opentelemetry/api";
import { ReadableSpan } from "@opentelemetry/sdk-trace";
//#region src/api-traces/api/TraceAPI/types.d.ts
interface TraceAPIArgs {
proxyTraceManager: ProxyTraceManager;
}
type ExtendedSpanFailureCode = 'failure' | 'user_abandon';
type ExtendedSpanFailedOptions = {
code?: ExtendedSpanFailureCode;
endTime?: TimeInput;
};
/**
* Exposes the span's current attributes (readonly) without defining all properties of the ReadableSpan interface.
* Ideally, we create a new interface that merges OpenTelemetry's Span, ReadableSpan and the not-yet-implemented
* Writable Span described here:
* https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces
*/
interface ExtendedSpan extends Span, Pick<ReadableSpan, 'attributes'> {
removeAttribute: (key: string) => this;
fail: (options?: ExtendedSpanFailedOptions) => void;
}
type ExtendedSpanOptions = SpanOptions & {
parentSpan?: Span;
};
//#endregion
export { ExtendedSpan, ExtendedSpanFailedOptions, ExtendedSpanFailureCode, ExtendedSpanOptions, TraceAPIArgs };
//# sourceMappingURL=types.d.ts.map