@sap/opentelemetry-exporter-for-sap-cloud-logging
Version:
A set of auto-configured OpenTelemetry exporters for SAP Cloud Logging
34 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ServiceBindingsProvider = void 0;
const api_1 = require("@opentelemetry/api");
const serviceBinding_1 = require("./serviceBinding");
class ServiceBindingsProvider {
constructor() {
this.diagLogger = api_1.diag.createComponentLogger({
namespace: "ServiceBindingsProvider"
});
this.bindings = [];
let rawData = process.env[ServiceBindingsProvider.ENV_VCAP_SERVICES];
if (rawData) {
try {
let services = JSON.parse(rawData);
for (let serviceName in services) {
services[serviceName].forEach((rawBinding) => {
this.bindings.push(new serviceBinding_1.ServiceBinding(serviceName, rawBinding));
});
}
}
catch (e) {
e.message;
this.diagLogger.error(`Failed to parse JSON data from ${ServiceBindingsProvider.ENV_VCAP_SERVICES}. ${e.message}`);
}
}
}
get() {
return this.bindings;
}
}
exports.ServiceBindingsProvider = ServiceBindingsProvider;
ServiceBindingsProvider.ENV_VCAP_SERVICES = "VCAP_SERVICES";
//# sourceMappingURL=serviceBindingsProvider.js.map