[ 
https://issues.apache.org/jira/browse/IGNITE-22249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Puchkovskiy updated IGNITE-22249:
---------------------------------------
    Description: 
Currently, we have only one GC metric: jvm.gc.CollectionTime. It's a sume 
across all collectors.

More details can be exported about GC as metrics. The difficulty here is that a 
JVM might have more than one GCs (for example, Java 11 has G1 Young Gen and G1 
Old Gen collectors by default). We need to invent a way to present this 
information as metrics for all collectors.

A few approaches are possible (maybe there are more):
 # Ignite 2 has just one metric for a sum of CollectionTime
 # We might classify collectors as major/minor and output their metrics 
separately. This is something like 
[DataLog|https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/] does.
 # 
[OpenTelemetry|https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/]
 annotates each datapoint with collectorName. Our metrics system does not have 
annotations though.
 # Just use dynamic metrics where metric key would contain a (possibly 
transformed) collector name, like jvm.gc.<collector-name>.CollectionTime.

> Add more GC metrics
> -------------------
>
>                 Key: IGNITE-22249
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22249
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> Currently, we have only one GC metric: jvm.gc.CollectionTime. It's a sume 
> across all collectors.
> More details can be exported about GC as metrics. The difficulty here is that 
> a JVM might have more than one GCs (for example, Java 11 has G1 Young Gen and 
> G1 Old Gen collectors by default). We need to invent a way to present this 
> information as metrics for all collectors.
> A few approaches are possible (maybe there are more):
>  # Ignite 2 has just one metric for a sum of CollectionTime
>  # We might classify collectors as major/minor and output their metrics 
> separately. This is something like 
> [DataLog|https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/] 
> does.
>  # 
> [OpenTelemetry|https://opentelemetry.io/docs/specs/semconv/runtime/jvm-metrics/]
>  annotates each datapoint with collectorName. Our metrics system does not 
> have annotations though.
>  # Just use dynamic metrics where metric key would contain a (possibly 
> transformed) collector name, like jvm.gc.<collector-name>.CollectionTime.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to