Add service node name
See original GitHub issueWhenever a service
is composed of multiple instances, there may be a need to distinguish between them for filtering and aggregation purposes.
The context for this issue is https://github.com/elastic/kibana/issues/43765 - a service (eg a web application) may be composed from multiple instances. In APM, we recently introduced dedicated UI for showing JVM specific metrics. Currently, in order to drill down to see specific JVMs, you would need to use the query bar with other fields, that do not always guarantee uniqueness of JVMs (ie service instances). We now want to further enhance the Metrics feature and provide better options for drilling down to individual JVMs. For this purpose, we want to store a unique service instance name.
We are already using the agent
fields and in terms of data-correctness we could use agent.id
, but it doesn’t really reflect the meaning of that field, which is naming the service instance, and not the agent, so we are not keen on using that. Besides, service instance fields may be valid for agent-less scenarios as well.
Would adding service.instance.name
be proper? If so, I assume it would make sense to add service.instance.id
as well, but we currently only need the name (we are going to require uniqueness, but it should be a human readable name, therefore - a name rather than an ID).
Issue Analytics
- State:
- Created 4 years ago
- Comments:16 (16 by maintainers)
Top GitHub Comments
OK, let’s start with
service.node.name
then? Maybe we can have a separate discussion on the elasticsearch node situation. I’d rather not addservice.node.id
now unless we’re going to make the change to the Elasticsearch module to make use of it imminently.From the description of
service.name
:To me this reads contradicting. On the one hand the
service.name
is supposed to be unique for multiple processes on one machine, on the other hand it should be the same so services over multiple hosts can be matched.When adding
service.node.name
I suggest to change the description forservice.name
to remove this first paragraph from it, as this is exactly whatservice.node.name
is introduced for.