Cadence使用Tally发出一堆指标。是否可以使用 Cadence SDK 发出我自己的指标?
Go SDKcadence.GetMetricsScope().Counter(counterName).Inc()
,但当我只是调用它时,它似乎不起作用。我是否缺少一些必需的配置?
您可以使用 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)
您可以按照 Go 和 Java 的计数文档中的示例创建myTallyScope
。