一个用于轻松测量Python运行情况的库。
项目描述
一个用于轻松测量Python运行情况的库。
Metrology 允许您向Python代码添加仪表,并将其连接到外部报告工具,如Graphite,以更好地了解正在运行的Python程序中的情况。
安装
要安装
pip install metrology
API
仪表
仪表是对一个值进行瞬时测量的工具
class JobGauge(metrology.instruments.Gauge):
def value(self):
return len(queue)
gauge = Metrology.gauge('pending-jobs', JobGauge())
计数器
计数器类似于仪表,但您可以增加或减少其值
counter = Metrology.counter('pending-jobs')
counter.increment()
counter.decrement()
counter.count
计量器
计量器测量事件随时间的变化率(例如,“每秒请求数”)。除了平均速率外,您还可以跟踪1、5和15分钟移动平均值
meter = Metrology.meter('requests')
meter.mark()
meter.count
或作为装饰器
@Metrology.meter('requests')
def do_this_again():
# do something
或使用上下文管理器
with Metrology.meter('requests'):
# do something
计时器
计时器测量特定代码块被调用的速率及其持续时间分布
timer = Metrology.timer('responses')
with timer:
do_something()
或作为装饰器
@Metrology.timer('responses')
def response():
# do_something
利用率计时器
一个专门的计时器,用于计算消耗的CPU时间的百分比
utimer = Metrology.utilization_timer('responses')
with utimer:
do_something()
标记指标
如果报告器支持(目前:Graphite、Librato、Logger。StatsD报告器支持Datadog标记格式,因为没有项目制定官方标记标准),所有指标都可以进行标记。标记可以是任意键值对。只需将字典分配为指标名称。需要一个'name'条目。
counter = Metrology.counter({
'name': 'pending-jobs',
'host': 'backend',
'priority': 'high'
})
counter.increment()
counter.decrement()
counter.count
所有指标类型都支持标记。
报告器
日志报告器
将指标写入日志的日志报告器
reporter = LoggerReporter(level=logging.INFO, interval=10)
reporter.start()
Graphite报告器
将指标发送到Graphite的Graphite报告器
reporter = GraphiteReporter('graphite.local', 2003)
reporter.start()
Librato报告器
将指标发送到Librato API的Librato指标报告器
reporter = LibratoReporter("<email>", "<token>")
reporter.start()
Ganglia报告器
将指标发送到gmond的Ganglia报告器
reporter = GangliaReporter("Group Name", "localhost", 8649, "udp", interval=60)
reporter.start()
StatsD报告器
将指标发送到statsd守护进程的StatsD报告器
reporter = StatsDReporter('localhost', 3333, conn_type='tcp')
reporter.start()
或使用默认UDP设置
reporter = StatsDReporter('localhost', 3333)
reporter.start()
确认
本库深受metrics库的启发。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
metrology-1.3.0.tar.gz (32.4 kB 查看哈希值)
构建分发
metrology-1.3.0-py2.py3-none-any.whl (24.7 kB 查看哈希值)
关闭
metrology-1.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4136c2d20851445ebfe39be56357a96135c1ef704191ebfb5616d88b25a040c9 |
|
MD5 | 61d32b611b7a0eccefe9a180056bbe05 |
|
BLAKE2b-256 | 12550b5f0452e98461d12bc2fb92164eec1c64cbdf9f81fc8b8cbce186ef8058 |
关闭
metrology-1.3.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2254a2e31439ca692fe13f418848f5ca0d061cbe0ef654b25ebb04469b4ac8ae |
|
MD5 | 4304197d5e7adc071d4f4b300aa76410 |
|
BLAKE2b-256 | ac618ea1c52b78bdc9c69b8cd3ae3d5367a9dc97e9845b8cda9d187568e229f9 |