Cadence使用计数来发出一堆指标。使用Cadence SDK是否可以发布自己的指标?
Go SDK具有cadence.GetMetricsScope().Counter(counterName).Inc()
,但仅调用它似乎无效。我是否缺少一些必需的配置?
答案 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)