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.DatabaseWrapper
- Добавить 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.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.5.5.tar.gz
(13.0 kB
view hashes)