Метрики производительности приложений для Python - PullRequest
3 голосов
/ 08 сентября 2011

Мы пишем веб-приложение на Python, где нам хотелось бы узнать общие сведения о том, что делают наши пользователи.

В качестве примера у нас есть набор legacy-режимов для установки используемой локали; url-параметр, использующий разные куки в разных форматах, Accpet-Language -headers & c. Мы действительно хотели бы измерить это каким-то образом (но в журнале просто слишком много данных).

Я пытался искать библиотеки типа Metrics для Node.js , но я не могу найти что-нибудь для Python. Прямо сейчас я думаю, что мы можем обойтись с кучей UNIX-подобных нагрузок счетчиков. (Но чем больше, тем лучше, верно?)

Я где-то пропустил какую-то очевидную библиотеку или какую-то умную технику?

Ответы [ 5 ]

3 голосов
/ 20 апреля 2012

Только что нашел проект PyCounters , который выглядит так, как мне нужно было для начала.

1 голос
/ 21 апреля 2012

Проект Python с именем Graphite в сочетании с проектом Node.js с именем Statsd может выполнять именно то, что вам нужно. Часто люди используют эти проекты для оценки производительности программного обеспечения и бизнес-показателей.

Между прочим, существуют версии приложений, которые предоставляют множество функций, аналогичных Graphite и Statsd . Продукт моей компании, Instrumental , предоставит вам метрику хостинга метрик и генерацию графиков; в Python вы будете использовать клиент Python statsd совместно с нашим Statsd для инструментального прокси , чтобы сообщать о ваших показателях нашему сервису.

Поскольку принятым ответом было ведение журнала на основе файлов (по крайней мере, по умолчанию :)), я отмечу, что транспортный уровень интересен среди следующих вещей: сервер statsd (будь то официальный или наш прокси ) использует UDP для отправки вашей метрической информации на сервер. Вы также можете напрямую связаться с Graphite или Instrumental , используя линейный протокол TCP; другие коммерческие сервисы, такие как librato Metrics или Stathat принимают ваши метрики с помощью HTTP-сообщений. В зависимости от масштаба сообщений, которые вы отправляете, любой из этих инструментов может быть более или менее привлекательным для вас.

0 голосов
/ 06 августа 2015

Одна из новых альтернатив PyCounters - Scales: https://github.com/Cue/scales/

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

0 голосов
/ 23 августа 2014

Вы можете попробовать сервис метрик хостинга Metrics На .Вы можете регистрировать данные, которые вы хотите, чтобы метрика, например, url-параметр, Accpet-Language-заголовки ... и т. Д.Затем вы можете ввести регулярный экспресс в Metrics At.Metrics At автоматически извлекает данные и метрикует их для вас.

0 голосов
/ 08 сентября 2011

Просмотр нескольких журналов.

У нас есть много отдельных журналов (отдельные дескрипторы, отдельные форматы), и мы используем журналы Python для записи этих событий в отдельные журналы.

У нас много функцийс такими вещами.

def some_feature( ... ):
    customer_log.info( "Requested some_feature" )
    ...
    vendor_x_log.info( "Got foo" )
    ...
    vendor_y_log.info( "Got bar" )

Теперь у нас есть подробные журналы.Поскольку модуль журналирования может записывать в базу данных (или делать любые другие вещи, которые кажутся подходящими), у нас есть все детали через простой, легко конфигурируемый интерфейс.

...