nestjs-auditlog
Version:
A powerful package for auditlog using opentelemetry in NestJS applications
38 lines • 2.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TraceExporter = void 0;
const resources_1 = require("@opentelemetry/resources");
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
const { getNodeAutoInstrumentations, } = require('@opentelemetry/auto-instrumentations-node');
const opentelemetry = require('@opentelemetry/sdk-node');
/**
* The abstract class of Trace exporter
*/
class TraceExporter {
constructor(serviceName, serviceNamespace, exporter, serviceEnvironmentName) {
this.serviceName = serviceName;
this.serviceNamespace = serviceNamespace;
this.exporter = exporter;
this.serviceEnvironmentName = serviceEnvironmentName;
}
async setup() {
const resource = new resources_1.Resource({
[semantic_conventions_1.SEMRESATTRS_SERVICE_NAME]: this.serviceName,
[semantic_conventions_1.SEMRESATTRS_SERVICE_NAMESPACE]: this.serviceNamespace,
[semantic_conventions_1.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT]: this.serviceEnvironmentName,
});
this.sdk = new opentelemetry.NodeSDK({
traceExporter: this.exporter,
instrumentations: [getNodeAutoInstrumentations()],
resource,
});
// initialize the SDK and register with the OpenTelemetry API
// this enables the API to record telemetry
this.sdk.start();
}
async shutdown() {
await this.sdk.shutdown();
}
}
exports.TraceExporter = TraceExporter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UuZXhwb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZHVsZXMvdHJhY2UvZXhwb3J0ZXJzL3RyYWNlLmV4cG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUFvRDtBQUNwRCw4RUFJNkM7QUFFN0MsTUFBTSxFQUNKLDJCQUEyQixHQUM1QixHQUFHLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0FBQ3pELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBR3hCLFlBQ1UsV0FBbUIsRUFDbkIsZ0JBQXdCLEVBQ3hCLFFBQW9DLEVBQ3BDLHNCQUErQjtRQUgvQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDeEIsYUFBUSxHQUFSLFFBQVEsQ0FBNEI7UUFDcEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFTO0lBQ3RDLENBQUM7SUFFSixLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQztZQUM1QixDQUFDLCtDQUF3QixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUMsQ0FBQyxvREFBNkIsQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdEQsQ0FBQyx5REFBa0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDbEUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQzVCLGdCQUFnQixFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUNqRCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsNkRBQTZEO1FBQzdELDJDQUEyQztRQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUEvQkQsc0NBK0JDIn0=