如何从Cadence工作流程或活动中发出自定义指标?

时间:2020-04-20 03:10:29

标签: cadence-workflow

Cadence使用计数来发出一堆指标。使用Cadence SDK是否可以发布自己的指标?

Go SDK具有cadence.GetMetricsScope().Counter(counterName).Inc(),但仅调用它似乎无效。我是否缺少一些必需的配置?

1 个答案:

答案 0 :(得分:0)

您可以同时使用Go和Java SDK添加自己的指标。以下示例显示了如何使用Go SDK进行操作,而Java SDK与它没有太大不同。

在工作流程代码中:

cadence.GetMetricsScope().Counter(counterName).Inc(1)

活动代码中:

cadence.GetActivityMetricsScope().Counter(counterName).Inc(1)

但是,仅执行此操作不足以实际发出指标。原因是默认情况下tally使用tally.NoopScope,顾名思义,它什么也不做。因此,您还需要将MetricsScope设置为WorkerOptions的一部分,如以下示例所示:

workerOptions := cadence.WorkerOptions{
 MetricsScope: myTallyScope, 
}
worker := cadence.NewWorker(service, domain, taskList, workerOptions)

您可以按照理货文档中针对GoJava的示例创建myTallyScope