【问题标题】:How to send jmeter test results to datadog?如何将 jmeter 测试结果发送到 datadog?
【发布时间】:2018-08-22 21:58:14
【问题描述】:

我想问是否有人将 jmeter 测试结果(采样器名称、持续时间、通过/失败)保存到 Datadog?有点像 influx/graphite 的后端监听器......但对于 Datadog。 Jmeter-plugins 没有这样的插件。 Datadog 似乎提供了一种叫做“JMX 集成”的东西,但我不确定这是否是我需要的。

【问题讨论】:

标签: jmeter jmeter-plugins datadog


【解决方案1】:

我想出了如何使用 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    相关资源
    最近更新 更多