Closed
Description
Component(s)
processor/transform
Is your feature request related to a problem? Please describe.
The metricstransform already provides this but there is no way to do it in the transform processor.
e.g.
- include: process.runtime.jvm.memory.usage
action: insert
new_name: jvm_memory_bytes_used
operations:
- action: aggregate_labels
label_set: [ type ]
aggregation_type: sum
With this we can go from
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="CodeHeap 'non-nmethods'",type="non_heap"} 1.382272e+06
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="CodeHeap 'non-profiled nmethods'",type="non_heap"} 9.991936e+06
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="CodeHeap 'profiled nmethods'",type="non_heap"} 2.968128e+07
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="Compressed Class Space",type="non_heap"} 2.2830672e+07
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="Eden Space",type="heap"} 1.5339216e+07
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="Metaspace",type="non_heap"} 1.40415936e+08
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="Survivor Space",type="heap"} 330760
process_runtime_jvm_memory_usage{job="unknown_service:java",pool="Tenured Gen",type="heap"} 6.3913088e+07
to this
jvm_memory_bytes_used{type="heap",job="unknown_service:java"} 7.9583064e+07
jvm_memory_bytes_used{type="non_heap",job="unknown_service:java"} 2.04302096e+08
Describe the solution you'd like
A function to aggregate metric values grouping by a set of attributes
- aggregate([attributes["type"]],sum) where metric.name == "process_runtime_jvm_memory_usage"
In the example I'm also renaming the metric but that could be done with a different function in a next step using set(metric.name,"jvm_memory_bytes_used")
(Providing this just as an example, I don't know which could be the best syntax for this)
Describe alternatives you've considered
No response
Additional context
No response