UNPKG

@graphql-mesh/plugin-opentelemetry

Version:
128 lines (122 loc) 4.73 kB
import { Context, TracerProvider, ContextManager, TextMapPropagator } from '@opentelemetry/api'; import { Resource } from '@opentelemetry/resources'; import { BufferConfig, SpanProcessor, Span, SpanLimits, SpanExporter, Sampler, GeneralLimits } from '@opentelemetry/sdk-trace-base'; export { g as SEMATTRS_GATEWAY_OPERATION_SUBGRAPH_NAMES, f as SEMATTRS_GATEWAY_UPSTREAM_SUBGRAPH_NAME, S as SEMATTRS_GRAPHQL_DOCUMENT, e as SEMATTRS_GRAPHQL_ERROR_CODES, d as SEMATTRS_GRAPHQL_ERROR_COUNT, c as SEMATTRS_GRAPHQL_OPERATION_HASH, b as SEMATTRS_GRAPHQL_OPERATION_NAME, a as SEMATTRS_GRAPHQL_OPERATION_TYPE } from './attributes-DzVkDRug.js'; import { LogWriter, LogLevel, Attributes } from '@graphql-hive/logger'; import { Logger, SeverityNumber } from '@opentelemetry/api-logs'; import { LoggerProvider, LogRecordLimits, LogRecordProcessor, LogRecordExporter } from '@opentelemetry/sdk-logs'; export { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, SEMATTRS_HTTP_CLIENT_IP, SEMATTRS_HTTP_HOST, SEMATTRS_HTTP_METHOD, SEMATTRS_HTTP_ROUTE, SEMATTRS_HTTP_SCHEME, SEMATTRS_HTTP_SERVER_NAME, SEMATTRS_HTTP_STATUS_CODE, SEMATTRS_HTTP_URL, SEMATTRS_HTTP_USER_AGENT, SEMATTRS_NET_HOST_NAME } from '@opentelemetry/semantic-conventions'; declare const getEnvVar: <T>(name: string, defaultValue: T) => string | T; type ProcessorOptions = { forceFlushTimeoutMillis?: number; logRecordLimits?: LogRecordLimits; resource?: Resource; console?: boolean; }; type OpenTelemetryLogWriterSetupOptions = { logger: Logger; } | { provider: LoggerProvider; } | (ProcessorOptions & ({ processors: LogRecordProcessor[]; exporter?: never; } | { exporter: LogRecordExporter; batching?: boolean | BufferConfig; processors?: never; } | { console: boolean; processors?: never; exporter?: never; })); type OpenTelemetryLogWriterOptions = OpenTelemetryLogWriterSetupOptions & { useContextManager?: boolean; }; declare class OpenTelemetryLogWriter implements LogWriter { private logger; private useContextManager; constructor(options: OpenTelemetryLogWriterOptions); flush(): void | Promise<void>; write(level: LogLevel, attrs: Attributes | null | undefined, msg: string | null | undefined): void | Promise<void>; } declare const HIVE_LOG_LEVEL_NUMBERS: { trace: SeverityNumber; debug: SeverityNumber; info: SeverityNumber; warn: SeverityNumber; error: SeverityNumber; }; declare function getContextForRequest(attributes?: { requestId?: string; }): Context; type HiveTracingSpanProcessorOptions = { target: string; accessToken: string; endpoint: string; batching?: BufferConfig; processor?: never; } | { processor: SpanProcessor; }; declare class HiveTracingSpanProcessor implements SpanProcessor { private traceStateById; private processor; constructor(config: HiveTracingSpanProcessorOptions); onStart(span: Span, parentContext: Context): void; onEnd(span: Span): void; forceFlush(): Promise<void>; shutdown(): Promise<void>; } type TracingOptions = { traces?: { tracerProvider: TracerProvider; } | (TracerOptions & ({ processors: SpanProcessor[]; tracerProvider?: never; exporter?: never; } | { exporter: SpanExporter; batching?: BatchingConfig | boolean; tracerProvider?: never; processors?: never; } | { tracerProvider?: never; processors?: never; exporter?: never; })); }; type TracerOptions = { console?: boolean; spanLimits?: SpanLimits; }; type SamplingOptions = { sampler: Sampler; samplingRate?: never; } | { sampler?: never; samplingRate?: number; }; type OpentelemetrySetupOptions = TracingOptions & SamplingOptions & { resource?: Resource | { serviceName: string; serviceVersion: string; }; contextManager: ContextManager | null; propagators?: TextMapPropagator[]; generalLimits?: GeneralLimits; }; declare function openTelemetrySetup(options: OpentelemetrySetupOptions): void; type HiveTracingOptions = { target?: string; } & ({ accessToken?: string; batching?: BufferConfig; processor?: never; } | { processor: SpanProcessor; }); declare function hiveTracingSetup(config: HiveTracingOptions & { contextManager: ContextManager | null; }): void; type BatchingConfig = boolean | BufferConfig; export { type BatchingConfig, HIVE_LOG_LEVEL_NUMBERS, type HiveTracingOptions, HiveTracingSpanProcessor, type HiveTracingSpanProcessorOptions, OpenTelemetryLogWriter, type OpenTelemetryLogWriterOptions, type OpenTelemetryLogWriterSetupOptions, getContextForRequest, getEnvVar, hiveTracingSetup, openTelemetrySetup };