Golang SDK metrics

Experts,

My application has a subscriber, connected to AWS Kinesis, and based on some domain criterias the subscriber decides if some workflows should be started. My question is: i want to expose the Golang SDK metrics (for example the counter of started and finished workflows).

In my understanding, the started workflows counter is increased when i call the “startWorkflow” method in my client (subscriber), but i didn’t get where the finished workflow metric is increased… Is it in my workflow worker? I need to expose the metrics in both of my binaries?

You are correct. The workflow completion is emitted by the workflow worker. So you want to report metrics from both client and worker processes.

Also, the service itself emits a lot of metrics. Some of the application-level ones like a number of terminated or timed-out workflows are not possible to emit from SDK code.