in src/Utils/CreateAndRunUtils.ts [286:315]
function mergePassFailServerCriteria(loadTestConfig: LoadtestConfig ,existingData:ExistingParams) : {
[key: string]: PassFailServerMetric | null;
} {
let existingServerCriteria = existingData.passFailServerMetrics;
let existingServerCriteriaIds = Object.keys(existingServerCriteria);
let numberOfExistingServerCriteria = existingServerCriteriaIds.length;
let serverIndex = 0;
let passFailServerCriteriaMerged : { [key: string]: PassFailServerMetric | null } = {};
if (!isNullOrUndefined(loadTestConfig.serverFailureCriteria)) {
for(let serverCriteria of loadTestConfig.serverFailureCriteria) {
let criteriaId = serverIndex < numberOfExistingServerCriteria ? existingServerCriteriaIds[serverIndex++] : Util.getUniqueId();
passFailServerCriteriaMerged[criteriaId] = {
metricName: serverCriteria.metricName,
aggregation: serverCriteria.aggregation,
resourceId: serverCriteria.resourceId,
condition: ConditionEnumToSignMap[serverCriteria.condition as ValidConditionsEnumValuesList ?? ValidConditionsEnumValuesList.LessThan],
value: serverCriteria.value?.toString(),
metricNameSpace: serverCriteria.metricNameSpace ?? Util.getResourceTypeFromResourceId(serverCriteria.resourceId),
};
}
}
for (; serverIndex < numberOfExistingServerCriteria; serverIndex++) {
passFailServerCriteriaMerged[existingServerCriteriaIds[serverIndex]] = null;
}
return passFailServerCriteriaMerged;
}