static parseAppComponentsAndServerMetricsConfig()

in lib/Utils/LoadtestConfigUtil.js [229:266]


    static parseAppComponentsAndServerMetricsConfig(loadtestConfig, appComponents) {
        var _a, _b, _c, _d, _e, _f, _g, _h;
        for (let value of appComponents) {
            let resourceId = value.resourceId.toLowerCase();
            loadtestConfig.appComponents[resourceId] = {
                resourceName: (value.resourceName || Util.getResourceNameFromResourceId(resourceId)),
                kind: (_a = value.kind) !== null && _a !== void 0 ? _a : null,
                resourceType: (_b = Util.getResourceTypeFromResourceId(resourceId)) !== null && _b !== void 0 ? _b : '',
                resourceId: resourceId,
                subscriptionId: (_c = Util.getSubscriptionIdFromResourceId(resourceId)) !== null && _c !== void 0 ? _c : '',
                resourceGroup: (_d = Util.getResourceGroupFromResourceId(resourceId)) !== null && _d !== void 0 ? _d : ''
            };
            let metrics = ((_e = value.metrics) !== null && _e !== void 0 ? _e : []);
            if (loadtestConfig.addDefaultsForAppComponents[resourceId] == undefined) {
                loadtestConfig.addDefaultsForAppComponents[resourceId] = metrics.length == 0;
            }
            else {
                // when the same resource has metrics at one place, but not at other, we dont need defaults anymore.
                loadtestConfig.addDefaultsForAppComponents[resourceId] = loadtestConfig.addDefaultsForAppComponents[resourceId] && metrics.length == 0;
            }
            for (let serverComponent of metrics) {
                let key = (resourceId + '/' + ((_f = serverComponent.namespace) !== null && _f !== void 0 ? _f : Util.getResourceTypeFromResourceId(resourceId)) + '/' + serverComponent.name).toLowerCase();
                if (!loadtestConfig.serverMetricsConfig.hasOwnProperty(key) || (0, util_1.isNullOrUndefined)(loadtestConfig.serverMetricsConfig[key])) {
                    loadtestConfig.serverMetricsConfig[key] = {
                        name: serverComponent.name,
                        aggregation: serverComponent.aggregation,
                        metricNamespace: (_g = serverComponent.namespace) !== null && _g !== void 0 ? _g : Util.getResourceTypeFromResourceId(resourceId),
                        resourceId: resourceId,
                        resourceType: (_h = Util.getResourceTypeFromResourceId(resourceId)) !== null && _h !== void 0 ? _h : '',
                        id: key
                    };
                }
                else {
                    loadtestConfig.serverMetricsConfig[key].aggregation = loadtestConfig.serverMetricsConfig[key].aggregation + "," + serverComponent.aggregation;
                }
            }
        }
    }