我使用本地机器上的k6执行负载测试,并使用Datadog代理来可视化Datadog中的指标。
我想在Datadog中过滤k6指标,因为测试是不可区分的。
此时,$test_run_id只显示* (请参阅下面的屏幕快照):

我遵循了这是官方医生的建议,即在k6配置中将include_test_run_id标志设置为true,但没有成功。
下面是我目前使用的k6配置(用实际的Datadog键替换<YOUR_DATADOG_API_KEY>):
export const options = {
vus: 5,
duration: "10s",
noConnectionReuse: true,
ext: {
loadimpact: {
apm: [
{
provider: "datadog",
api_key: "<YOUR_DATADOG_API_KEY>",
include_test_run_id: true
}
]
}
}
};发布于 2021-01-18 08:05:03
您将DataDog配置用于商业k6云服务 (k6 cloud),而不是本地运行的k6测试(k6 run)。test_run_id是云服务中的一个概念,尽管作为区分测试运行的一种方式,在本地进行模拟也很容易。
对于本地测试,应该通过使用DataDog运行k6来启用k6 run --out datadog script.js输出。我假设您这样做了,否则您将看不到DataDog中的任何指标。
然后,您可以使用选项为特定k6运行生成的所有指标注入唯一的额外标记,以便在DataDog中区分它们。例如:
k6 run --out datadog --tag test_run_id=1 script.js
k6 run --out datadog --tag test_run_id=2 script.js
k6 run --out datadog --tag test_run_id=3 script.js
...当然,您可以选择任何key=value组合,您不限于test_run_id。
https://stackoverflow.com/questions/65766741
复制相似问题