UNPKG

@hotmeshio/hotmesh

Version:

Serverless Workflow

53 lines (52 loc) 2.53 kB
import { ActivityMetadata, ActivityType, Consumes } from '../../types/activity'; import { JobState } from '../../types/job'; import { StringAnyType, StringScalarType, StringStringType } from '../../types/serializer'; import { StreamData, StreamRole } from '../../types/stream'; import { Span, Context } from '../../types/telemetry'; declare class TelemetryService { span: Span; jobSpan: Span; config: ActivityType; traceId: string | null; spanId: string | null; appId: string; metadata: ActivityMetadata; context: JobState; leg: number; constructor(appId: string, config?: ActivityType, metadata?: ActivityMetadata, context?: JobState); /** * too chatty for production; only output traces, jobs, triggers and workers */ private shouldCreateSpan; private static createNoopSpan; getJobParentSpanId(): string | undefined; getActivityParentSpanId(leg: number): string | undefined; getTraceId(): string | undefined; startJobSpan(): TelemetryService; /** * Traces an activity. * @private */ static traceActivity(appId: string, attributes: StringScalarType, activityId: string, traceId: string, spanId: string, index?: number): Promise<boolean>; startActivitySpan(leg?: number): TelemetryService; startStreamSpan(data: StreamData, role: StreamRole): TelemetryService; startSpan(traceId: string, spanId: string, spanName: string, attributes: StringScalarType, bCreate?: boolean): Span; mapActivityAttributes(): void; setActivityAttributes(attributes: StringScalarType): void; setStreamAttributes(attributes: StringScalarType): void; setJobAttributes(attributes: StringScalarType): void; endJobSpan(): void; endActivitySpan(): void; endStreamSpan(): void; endSpan(span: Span): void; getParentSpanContext(): undefined | Context; getSpanAttrs(leg: number): StringAnyType; getStreamSpanAttrs(input: StreamData): StringAnyType; setTelemetryContext(span: Span, leg: number): void; setActivityError(message: string): void; setStreamError(message: string): void; static addTargetTelemetryPaths(consumes: Consumes, config: ActivityType, metadata: ActivityMetadata, leg: number): void; static bindJobTelemetryToState(state: StringStringType, config: ActivityType, context: JobState): void; static bindActivityTelemetryToState(state: StringAnyType, config: ActivityType, metadata: ActivityMetadata, context: JobState, leg: number): void; } export { TelemetryService };