Suggestion based on a real use case:

We have observed that the APM application uses the datastream "metrics-apm.*" to display metrics with transaction names in the application. However, one of the strengths of Elastic is the ability to customize transaction names based on pipelines using conditions and data. By doing this, it adds significant value to the stack. For example, let's consider an API called "customerinfo" with an attribute called "customer type." Using pipelines, we can generate three transactions: "customerinfo-type1," "customerinfo-type2," and "customerinfo-type3." This enriches the application because we can identify which type of customer is affected by performance issues.

However, when using the datastream "metrics-apm.," it only displays the "customerinfo" transaction because the transformation is performed within the "apm-traces" datastream. My question is, why is the transaction name stored in multiple datastreams when it should be unique across all datastreams after customization? Is there a solution to address this? Would it be appropriate to add a new element in the "Settings" → "Indices" section to specify the index to use for displaying the transaction name in the APM application? For example, adding a new parameter called "transaction list index" with the following elements:

  • Element 1: datastream1
  • Element 2: datastream2
  • Element 3: datastream3

This would allow the APM application to retrieve the transaction names from the specified index and provide a more accurate representation of the customized transaction names across all datastreams.