elastic / elastic/apm-agent-nodejs
Broader support for custom instrumentation/metrics
- Dominant language
- JavaScript
- Stars
- 594
- Forks
- 244
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 16
Description
We have https://github.com/elastic/kibana/pull/123241 open from @chrisronline which proposes adding some new machinery to kibana to collect per-plugin metrics (to then be collected by metricbeat and viewed in stack monitoring).
I think we could publish similar metrics using [`apm.registerMetric`](https://www.elastic.co/guide/en/apm/agent/nodejs/master/agent-api.html#apm-register-custom-metrics) which would avoid the need to modify metricbeat and elasticsearch mappings every time instrumentation changes.
One downside though is that the current implementation only really handles gauge values. It'd be good if it handled at least counters, similar to the micrometer integration in the java agent (cc @felixbarny ), or the prometheus integration in the golang agent.
There's probably a wider discussion to be had here between teams, but leveraging apm agent as a cross-runtime metric delivery mechanism was a great move for our internal cloud services (java, golang, python).
I think we could do the same for kibana if the node agent had similar support.
Contributor guide
Assessment
This issue has not been assessed yet.