UNPKG

@comprehend/telemetry-browser

Version:

Integration of comprehend.dev with OpenTelemetry in browser environments.

70 lines (69 loc) 1.82 kB
import { HrTime } from "@opentelemetry/api"; export type ObservationInputMessage = InitMessage | NewObservedEntityMessage | NewObservedInteractionMessage | ObservationMessage; export type ObservationOutputMessage = InitAck | ObservedAck | ObservationsAck; export interface InitMessage { event: "init"; protocolVersion: 1; token: string; } export interface NewObservedEntityMessage { event: "new-entity"; type: string; hash: string; } export interface NewObservedServiceMessage extends NewObservedEntityMessage { type: "service"; name: string; namespace?: string; environment?: string; } export interface NewObservedHttpServiceMessage extends NewObservedEntityMessage { type: "http-service"; protocol: string; host: string; port: number; } export interface NewObservedInteractionMessage { event: "new-interaction"; type: string; hash: string; from: string; to: string; } export interface NewObservedHttpRequestMessage extends NewObservedInteractionMessage { type: "http-request"; } export interface ObservationMessage { event: "observations"; seq: number; observations: Array<Observation>; } export interface Observation { type: string; subject: string; timestamp: HrTime; errorMessage?: string; errorType?: string; stack?: string; } export interface HttpClientObservation extends Observation { type: "http-client"; path: string; method: string; duration: HrTime; status?: number; httpVersion?: string; requestBytes?: number; responseBytes?: number; } export interface InitAck { type: "ack-authorized"; } export interface ObservedAck { type: "ack-observed"; hash: string; } export interface ObservationsAck { type: "ack-observations"; seq: number; }