Skip to content

Update mappings for OTEL jvm metrics #226

Open

Description

var javaRuntimeMetricsMappings = runtimeMetricMappingList{
"process.runtime.jvm.threads.count": {{mappedName: "jvm.thread_count"}},
"process.runtime.jvm.classes.current_loaded": {{mappedName: "jvm.loaded_classes"}},
"process.runtime.jvm.system.cpu.utilization": {{mappedName: "jvm.cpu_load.system"}},
"process.runtime.jvm.cpu.utilization": {{mappedName: "jvm.cpu_load.process"}},
"process.runtime.jvm.memory.usage": {{
mappedName: "jvm.heap_memory",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.non_heap_memory",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"non_heap"},
}},
}, {
mappedName: "jvm.gc.old_gen_size",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"G1 Old Gen", "Tenured Gen", "PS Old Gen"},
}, {
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.gc.eden_size",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"G1 Eden Space", "Eden Space", "Par Eden Space", "PS Eden Space"},
}, {
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.gc.survivor_size",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"G1 Survivor Space", "Survivor Space", "Par Survivor Space", "PS Survivor Space"},
}, {
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.gc.metaspace_size",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"Metaspace"},
}, {
key: "type",
values: []string{"non_heap"},
}},
}},
"process.runtime.jvm.memory.committed": {{
mappedName: "jvm.heap_memory_committed",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.non_heap_memory_committed",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"non_heap"},
}},
}},
"process.runtime.jvm.memory.init": {{
mappedName: "jvm.heap_memory_init",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.non_heap_memory_init",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"non_heap"},
}},
}},
"process.runtime.jvm.memory.limit": {{
mappedName: "jvm.heap_memory_max",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"heap"},
}},
}, {
mappedName: "jvm.non_heap_memory_max",
attributes: []runtimeMetricAttribute{{
key: "type",
values: []string{"non_heap"},
}},
}},
"process.runtime.jvm.buffer.usage": {{
mappedName: "jvm.buffer_pool.direct.used",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"direct"},
}},
}, {
mappedName: "jvm.buffer_pool.mapped.used",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"mapped"},
}},
}},
"process.runtime.jvm.buffer.count": {{
mappedName: "jvm.buffer_pool.direct.count",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"direct"},
}},
}, {
mappedName: "jvm.buffer_pool.mapped.count",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"mapped"},
}},
}},
"process.runtime.jvm.buffer.limit": {{
mappedName: "jvm.buffer_pool.direct.limit",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"direct"},
}},
}, {
mappedName: "jvm.buffer_pool.mapped.limit",
attributes: []runtimeMetricAttribute{{
key: "pool",
values: []string{"mapped"},
}},
}},
}

OTEL Semantic conventions have renamed a lot of JVM metrics and lot of them were made stable as well. DataDog's translator still seem to use the old conventions and applications on new version of OTEL Semconv are missing the built-in dashboards due to this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions