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



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

最新更新