UNPKG

pinpoint-node-agent

Version:

Pinpoint APM agent for Node.js — distributed tracing, error analysis, and URI statistics

61 lines (50 loc) 1.61 kB
/** * Pinpoint Node.js Agent * Copyright 2020-present NAVER Corp. * Apache License v2.0 */ import { Config } from './config-builder'; import type { Logging } from './utils/log/types'; import type { DataSender } from './types'; import AgentInfo = require('./data/dto/agent-info'); interface TraceObject { [key: string]: any; } interface TraceContext { newTraceObject(): TraceObject; currentTraceObject(): TraceObject | null; completeTraceObject(trace: TraceObject): void; } interface AgentService { shutdown(): void; } type ServiceHandler = (dataSender: DataSender) => void | AgentService; interface Agent { agentInfo: AgentInfo; config: Config; dataSender: DataSender; traceContext: TraceContext; services: Array<ServiceHandler>; start(): void; createTraceObject(): TraceObject; currentTraceObject(): TraceObject | null; completeTraceObject(trace: TraceObject): void; getAgentInfo(): AgentInfo; getTraceContext(): TraceContext; shutdown(): void; } declare class AgentBuilder { constructor(agentInfo: AgentInfo); setConfig(config: Config): AgentBuilder; setDataSender(dataSender: DataSender): AgentBuilder; setLogger(logger: Logging): AgentBuilder; addService(service: ServiceHandler): AgentBuilder; addEnricher(enricher: any): AgentBuilder; setSpanRecorderFactory(spanRecorderFactory: any): AgentBuilder; setParsingResultFactory(parsingResultFactory: any): AgentBuilder; disableStatsScheduler(): AgentBuilder; disablePingScheduler(): AgentBuilder; disableServiceCommand(): AgentBuilder; build(): Agent; } export { Agent, AgentBuilder };