Metadata fields to include in transaction metric documents #548
Replies: 4 comments 4 replies
-
I am 100% supportive as this would be helpful in several areas:
|
Beta Was this translation helpful? Give feedback.
-
FYI AIOps faces a very similar problem for Transaction Correlations which requires to have access to many fields, including manually defined labels. |
Beta Was this translation helpful? Give feedback.
-
I think that by default, all metadata fields that are available for traces that don't significantly increase the cardinality should be available on metrics, too. A good check for that is whether the cardinality would be higher than a unique ephemeral ID that re-generates when an application restarts. While there can be exceptions, such as
I think labels, with the exception of global labels, don't lend themselves well to be added to the dimensions of metrics. Falling back to sampled transaction documents and interpolating throughput based on the |
Beta Was this translation helpful? Give feedback.
-
Does that imply still using an allow list rather than exception list? I would be in favor of that, IMHO it would be too easy for users to add a custom field that blows up the cardinality of transaction metrics. |
Beta Was this translation helpful? Give feedback.
-
With the APM UI increasingly relying on metrics for data retrieval and visualization, we need to consider scenarios with transaction sampling rates of zero. In these cases, only information available about transactions are the transaction metrics. However, as of today there is a big gap between metadata fields available on transaction documents and the fields available on metric documents.
This thread is about starting a discussion on additional fields to be mirrored on transaction metrics documents.
Below is a first summary of the metadata fields and their availability on metric documents:
Fields already available with transaction metrics
cloud.provider
cloud.region
agent.name
agent.version
service.name
service.node.name
service.environment
host.hostname
host.name
container.id
kubernetes.pod.name
Additional field candidates to include
cloud.account.id
cloud.account.name
cloud.instance.id
cloud.instance.name
cloud.machine.type
cloud.project.id
cloud.project.name
cloud.service.name
network.connection.type
service.framework.name
service.framework.version
process.title
service.language.name
service.language.version
service.runtime.name
service.runtime.version
host.architecture
host.os.platform
kubernetes.namespace
kubernetes.node.name
faas.coldstart
faas.trigger.type
Fields not to include
process.argv
process.pid
process.ppid
service.id
kubernetes.pod.uid
Beta Was this translation helpful? Give feedback.
All reactions