elastic / elastic/apm-agent-nodejs

Broader support for custom instrumentation/metrics

Open
#2,560 4 comments 1 reaction 0 assignees View on GitHub
8.3-candidate agent-nodejs community kibana
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.