@sonatel-os/juf-xpress-logger-edge
Version:
JUF XPress logger for Node Edge
41 lines (40 loc) • 1.32 kB
TypeScript
/**
* 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>;
}