UNPKG

newrelic

Version:
38 lines (32 loc) 977 B
/* * Copyright 2020 New Relic Corporation. All rights reserved. * SPDX-License-Identifier: Apache-2.0 */ 'use strict' var logger = require('../logger').child({component: 'utilization'}) var VENDOR_METHODS = { aws: require('./aws-info'), pcf: require('./pcf-info'), azure: require('./azure-info'), gcp: require('./gcp-info'), docker: require('./docker-info').getVendorInfo, kubernetes: require('./kubernetes-info') } var VENDOR_NAMES = Object.keys(VENDOR_METHODS) module.exports.getVendors = getVendors function getVendors(agent, callback) { var done = 0 var vendors = null VENDOR_NAMES.forEach(function getVendorInfo(vendor) { VENDOR_METHODS[vendor](agent, function getInfo(err, result) { logger.trace('Vendor %s finished.', vendor) if (result) { vendors = vendors || Object.create(null) vendors[vendor] = result } if (++done === VENDOR_NAMES.length) { callback(null, vendors) } }) }) }