Я выполняю нагрузочное тестирование бэкэнда и добавляю пару проверок к ошибке в случае неудачи. Я могу собрать неудачную проверку и добавить ее в коллекцию ошибок, но я хотел бы знать, как определить, какая проверка не удалась, и добавить тег в коллекцию ошибок, соответствующую ошибке.
Я мог видеть, что функция Check() принимает необязательный третий аргумент tags
, но, похоже, нет примера того, как он используется.
Вот как выглядит мой текущий код:
export let errorRate = new Rate('errors');
export let checks = {
'Response Time': r => r.timings.duration < 2000, // Response time should be less than 2seconds
'status was 200': r => r.status == 200, // Response status should be 200
};
export default function() {
let res = http.get('https://url');
const result = check(res, checks);
errorRate.add(!result, { type: 'failure type' }); //I'd like to set the type as either response or code here
sleep(1);
}
Что-то вроде этого может работать, но это не масштабируемое значение, больше проверок = больше условий. Я ищу более упрощенное решение, которое может легко масштабироваться до количества проверок.
var result;
result = check(res, {'Response Time': r => r.timings.duration < 2000});
if (!result)
errorRate.add(1, {type: 'response'});
result = check(res, {'status was 200': r => r.status == 200});
if (!result)
errorRate.add(1, {type: 'status'});
Моя конечная цель — записывать сбои в базу данных притока и сохранять причину сбоя, чтобы я мог добавлять запросы в grafana для отображения разных осей для каждого сбоя.