Любой способ отслеживать пользовательскую статистику в саранче

Locust - отличный и простой инструмент для нагрузочного тестирования. По умолчанию он отслеживает только время отклика и длину контента, из которого он может вывести количество запросов в секунду и т. Д. Есть ли способ также отслеживать пользовательскую статистику по саранче?

В моем случае сайт, который я тестирую, возвращает несколько статистических данных через заголовки. Например, количество SQL-запросов в запросе. Было бы очень полезно отслеживать некоторые из этих статистических данных вместе с отслеживанием стандартного времени ответа.

Однако я не вижу способа сделать это с саранчой. Есть ли простой способ сделать это?

Единственная настройка, которую я мог видеть, - это установка имен URL в запросе в документации.

Вручную сохранить некоторую статистику не так просто, так как саранча распространяется, поэтому хотелось бы избежать чего-либо нестандартного.

редактировать

Существует пример того, как пользовательская статистика может быть переданным, однако это не отображается в пользовательском интерфейсе и требует настраиваемого экспорта. Есть ли способ добавить дополнительные данные в locust, которые будут регистрироваться как в пользовательском интерфейсе, так и в экспорте данных?

Может быть что-то вроде:

class MyTaskSet(TaskSet):
    @task
    def my_task(self):
        response = self.client.get("/foo")
        self.record(foo=response.headers.get('x-foo'))

person miki725    schedule 01.10.2018    source источник


Ответы (1)


Насколько я знаю, не существует простого способа визуализации пользовательских данных в Locust. Однако, посмотрев на https://github.com/locustio/locust/blob/master/locust/main.py#L370, вы можете легко заменить основную функцию запуска саранчи и ввести некоторую пользовательскую логику в https://github.com/locustio/locust/blob/master/locust/web.py. Похоже, что разработчики Locust плохо справляются с задачей сделать эту часть кода более настраиваемой из коробки, поэтому я предлагаю открыть проблему в их GitHub.

person mrbox    schedule 01.10.2018