如何将jmeter测试结果发送给数据狗?



我想问是否有人曾经将jmeter测试结果(采样器名称,持续时间,通过/失败(保存到Datadog?有点像流入/石墨的后端侦听器...但对于数据狗。Jmeter插件没有这样的插件。Datadog似乎提供了一种叫做"JMX集成"的东西,但我不确定这是否是我需要的。

我想出了如何使用datadog api https://docs.datadoghq.com/api/?lang=python#post-timeseries-points 来做到这一点。以下 python 脚本接收 jtl 文件(jmeter 结果(,并将事务名称、响应时间和状态(通过/失败(发布到 datadog。

#!/usr/bin/env python3
import sys
import pandas as pd
from datadog import initialize, api
options = {
'api_key': '<API_KEY>',
'app_key': '<APPLICATION_KEY>'
}
metrics = []
def get_current_metric(timestamp, label, elapsed, success):
metric = {}
metric.update({'metric': 'jmeter'})
metric.update({'points': [(timestamp, elapsed)]})
curtags = {}
curtags.update({'testcase': label})
curtags.update({'success': success})
metric.update({'tags': curtags})
return metric
initialize(**options)
jtl_file = sys.argv[1]
df = pd.read_csv(jtl_file)
for index, row in df.iterrows():
timestamp = row['timeStamp']/1000
label = row['label']
elapsed = row['elapsed']
success = str(row['success'])
metric = get_current_metric(timestamp, label, elapsed, success)
metrics.append(metric)
api.Metric.send(metrics)

最新更新