Metric collector for production
Project description
production-request
author: BARS Group
Описание
Позволяет логировать метрики запросов (клиенсткое время, серверное время, время SQL) в production-средах
Установка
Установка производится командой -e git+https://stash.bars-open.ru/scm/budg/production_request.git@master#egg=production_request. При этом необходимо, чтобы при запуске pip install в качестве альтернативного index-url был указан http://pypi.bars-open.ru/simple/
Настройка
Для подключения логирования необходимо:
- В качестве DATABASE_ENGINE указать production_request
- Добавить ProductionRequestLoggingMiddleware в перечень MIDDLEWARE
- Подключить к рабочему столу production_request_client.js и xhr_interceptor.js
- Зарегистрировать ProductionRequestPack в контроллере
- Выполнить в инициализации шаблона рабочего стола функцию startLogging. Данная функция принимает на вход URL action'а action_save_client_log из предыдущего пункта
- Если необходимо логировать celery-task, то в CELERY_IMPORTS нужно добавить 'production_request.celery_handlers'
История изменений
0.6.6
- Исправлена выдача данных для _client части логов в связи с добавлением поддержки asyncpg
0.6.5
- Добавлена поддержка asyncpg
0.6.4
- Интервалы визуализаций "Суммарное время выполнения запросов" и "Среднее время выполнения запросов" снижены с 2 часов до 5 минуты
0.6.3
- В класс перечисления Типов операций в sql добавлен атрибут списка типов пишущих sql-запросов. В класс данных потока production-request добавлен метод проверки наличия пишущих запросов.
0.6.2
- Для диапазонов с бесконечной границей убрано поле "to" со значением null, которое приводило к ошибке импорта визуализаций в Stack Management 7.8.0
0.6.1
- Указание кодировки для файлов, без которой может упасть при импорте пакета на Python 2
- Добавлен Avg-блок визуализации для запросов
0.6.0
- Добавлен экспорт dashboard'а для elk
0.5.7
- Наименование совпадающих параметров в client- и server-логах унифицированы
- Исправлен README
0.5.6
- Добавлен собственный prerun-сигнал для Celery как точка расширения
0.5.5
- Добавлена возможность указывать кастомные атрибуты для сохранения в логах
0.5.4
- Исправлена ошибка логирования фоновых процессов
0.5.3
- Добавлено сохранение оригинального пути запроса для случаев, когда при выполнении делается redirect
0.5.2
- Удален неиспользуемый атрибут c_started
0.5.1
- Добавлено логирование статуса выполнения запроса (успешно/с ошибкой)
- Добавлено логирование алиасов БД, к которым выполнялись запросы
- Доработано логирование фоновых процессов
- Доработано округление float-параметров
0.5.0
- Убрана зависимость от m3
- Исправлена ошибка, когда при использовании нескольких подключений к БД данные по запросам подсчитывались только для default
- Добавлен подсчет количества дублирующих SQL-запросов
0.4.2
- Исправлено логирование времени в разрезе типов SQL-операций
0.4.1
- Добавлена совместимость с middleware Django 2.*
0.4.0
- Добавлен декоратор production_request для работы с запросами, отличными от web
- Исправлен подсчет памяти при конвертации единиц измерения
- Добавлен подсчет времени SQL в разрезе операций
- Добавлены обработчики для логирования celery-задач
- Добавлено логирование длительности и количества транзакций
0.0.3.4
- Отключена транзакция на action сохранения результата клиенсткого лога
0.0.3.3
- Добавлена обработка отрицательных значений в c_total
0.0.3.2
- Добавлена обработка не HTTP-request'ов
- Добавлено логирование имени хоста, на котором производилась обработка запроса
0.0.3.1
- Исправлена ошибка с обработкой exception в middleware
0.0.3
- Убрана зависимость от BaseEnumerate
- Изменено пространство имен c Ext3 на Ext
- В типы операций SQL добавлены COMMIT и SAVEPOINT
- Изменен алгоритм генерации uuid для уменьшения размера лога
- Добавлен id пользователя в параметры логирования
- Добавлены метрики памяти процесса в параметры логирования (экспериментально)
- Добавлен pid процесса в параметры логирования
- Добавлено отдельное логирование моментов входа и выхода запроса с минимальным набором параметров
- Добавлен отдельный модуль для логирования метрки процессов (CPU и memory) по имени
- Добавлено сохранение логов в файлы в виде валидного JSON
- В типы операций SQL добавлены JOIN, DISTINCT и GROUP BY
0.0.2
- Добавлено логирование количества SQL-запросов в разрезе типов на клиенте
- Добавлен подсчет количества sql-запросов в разрезе типов (select, insert, update, delete)
- При отключенном логировании на стороне клиента - заголовки http больше не отправлюятся, чтобы сократить размер ответа
- В метрики добавлен подсчет количества SQL запросов
- В метрики добавлен подсчет времени работы приложения без учета sql запросов
- В подсчет времени sql добавлен учет времени commit
- Исправлена сборка статики при создании пакета
- Обновлена информация по пакете
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
production-request-0.6.6.tar.gz
(28.4 kB
view hashes)
Built Distribution
Close
Hashes for production_request-0.6.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d80e2ddda38e2c38771355b074ebdcbe51a4ab2dfb6bd1b2db9083e00088c790 |
|
MD5 | bf41c7f6c9c8a2cf4914a600918b6cb3 |
|
BLAKE2b-256 | cafc52bfdfc26241bde7c426ee8cc92793bf9e0694910054f121fac516df4610 |