@vtex/diagnostics-nodejs
Version:
Diagnostics library for Node.js applications
58 lines • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateTracesExporterConfig = CreateTracesExporterConfig;
exports.CreateLogsExporterConfig = CreateLogsExporterConfig;
exports.CreateMetricsExporterConfig = CreateMetricsExporterConfig;
const exporters_1 = require("../types/exporters");
function CreateTracesExporterConfig(options = {}) {
return {
telemetryType: exporters_1.TelemetryType.TRACES,
options: {
endpoint: options.endpoint || 'localhost:4317',
interval: options.interval || 10,
timeoutSeconds: options.timeoutSeconds || 10,
compression: options.compression || 'gzip',
insecure: options.insecure !== undefined ? options.insecure : true,
},
validate: function () {
if (!this.options.endpoint) {
throw new Error('Endpoint is required for traces exporter');
}
}
};
}
function CreateLogsExporterConfig(options = {}) {
return {
telemetryType: exporters_1.TelemetryType.LOGS,
options: {
endpoint: options.endpoint || 'localhost:4317',
interval: options.interval || 10,
timeoutSeconds: options.timeoutSeconds || 10,
compression: options.compression || 'gzip',
insecure: options.insecure !== undefined ? options.insecure : true,
},
validate: function () {
if (!this.options.endpoint) {
throw new Error('Endpoint is required for logs exporter');
}
}
};
}
function CreateMetricsExporterConfig(options = {}) {
return {
telemetryType: exporters_1.TelemetryType.METRICS,
options: {
endpoint: options.endpoint || 'localhost:4317',
interval: options.interval || 10,
timeoutSeconds: options.timeoutSeconds || 10,
compression: options.compression || 'gzip',
insecure: options.insecure !== undefined ? options.insecure : true,
},
validate: function () {
if (!this.options.endpoint) {
throw new Error('Endpoint is required for metrics exporter');
}
}
};
}
//# sourceMappingURL=interface.js.map