UNPKG

@sonatel-os/juf-xpress-logger-edge

Version:

JUF XPress logger for Node Edge

41 lines (40 loc) 1.32 kB
/** * Custom APM Client for Edge Runtime * @description This client uses the fetch API to send APM data directly to the Elastic APM server. */ export class ElasticApmClient { constructor({ serviceName, serverUrl, secretToken, environment, logLevel }: { serviceName: any; serverUrl: any; secretToken: any; environment?: string | undefined; logLevel?: string | undefined; }); serviceName: any; serverUrl: any; secretToken: any; environment: string; logLevel: string; apiEndpoint: string; /** * Send a payload to the Elastic APM server with retries * @param {Object} payload - The payload to send. * @param {number} retries - Number of retries in case of failure. */ sendPayload(payload: Object, retries?: number): any; /** * Report a transaction to Elastic APM * @param {Object} transaction - The transaction object to report. */ reportTransaction(transaction: Object): Promise<void>; /** * Report an error to Elastic APM * @param {Object} error - The error object to report. */ reportError(error: Object): Promise<void>; /** * Report a span to Elastic APM * @param {Object} span - The span object to report. */ reportSpan(span: Object): Promise<void>; }