From 577eba85ea4aaa61a62a0e89d6cd385230ab56ed Mon Sep 17 00:00:00 2001 From: Sergii Kabashniuk Date: Tue, 26 Feb 2019 14:47:41 +0200 Subject: [PATCH] Add ProcessMemoryMetrics ProcessThreadMetrics (#12749) * Add ProcessMemoryMetrics ProcessThreadMetrics Signed-off-by: Sergii Kabashniuk --- core/che-core-metrics-core/pom.xml | 4 + .../che/core/metrics/MetricsModule.java | 4 + .../openshift/templates/che-monitoring.yaml | 118 +++++++++++++++++- 3 files changed, 120 insertions(+), 6 deletions(-) diff --git a/core/che-core-metrics-core/pom.xml b/core/che-core-metrics-core/pom.xml index a3eaca9f65..e576c10583 100644 --- a/core/che-core-metrics-core/pom.xml +++ b/core/che-core-metrics-core/pom.xml @@ -34,6 +34,10 @@ com.google.inject.extensions guice-servlet + + io.github.mweirauch + micrometer-jvm-extras + io.micrometer micrometer-core diff --git a/core/che-core-metrics-core/src/main/java/org/eclipse/che/core/metrics/MetricsModule.java b/core/che-core-metrics-core/src/main/java/org/eclipse/che/core/metrics/MetricsModule.java index f07b6286e9..fd8af67583 100644 --- a/core/che-core-metrics-core/src/main/java/org/eclipse/che/core/metrics/MetricsModule.java +++ b/core/che-core-metrics-core/src/main/java/org/eclipse/che/core/metrics/MetricsModule.java @@ -14,6 +14,8 @@ package org.eclipse.che.core.metrics; import com.google.common.annotations.Beta; import com.google.inject.AbstractModule; import com.google.inject.multibindings.Multibinder; +import io.github.mweirauch.micrometer.jvm.extras.ProcessMemoryMetrics; +import io.github.mweirauch.micrometer.jvm.extras.ProcessThreadMetrics; import io.micrometer.core.instrument.binder.MeterBinder; import io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics; import io.micrometer.core.instrument.binder.jvm.JvmGcMetrics; @@ -49,5 +51,7 @@ public class MetricsModule extends AbstractModule { meterMultibinder.addBinding().to(UptimeMetrics.class); meterMultibinder.addBinding().to(FileStoresMeterBinder.class); meterMultibinder.addBinding().to(ApiResponseCounter.class); + meterMultibinder.addBinding().to(ProcessMemoryMetrics.class); + meterMultibinder.addBinding().to(ProcessThreadMetrics.class); } } diff --git a/deploy/openshift/templates/che-monitoring.yaml b/deploy/openshift/templates/che-monitoring.yaml index 7a2051c7e9..3ea3d166e7 100644 --- a/deploy/openshift/templates/che-monitoring.yaml +++ b/deploy/openshift/templates/che-monitoring.yaml @@ -196,7 +196,7 @@ objects: "editable": true, "gnetId": 4701, "graphTooltip": 1, - "iteration": 1550504993993, + "iteration": 1550958562834, "links": [], "panels": [ { @@ -995,6 +995,112 @@ objects: "alignLevel": null } }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Che", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 5 + }, + "id": 86, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 3, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "(process_memory_pss_bytes{application=\"$application\", instance=\"$instance\"} + process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"} - on(application,instance) sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\"}) by(application,instance)) >= 0", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "native", + "metric": "", + "refId": "A", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Native Memory", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": [ + "mbytes", + "short" + ], + "yaxes": [ + { + "format": "bytes", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, { "collapsed": false, "gridPos": { @@ -1929,7 +2035,7 @@ objects: "points": false, "renderer": "flot", "repeat": null, - "repeatIteration": 1550504993993, + "repeatIteration": 1550958562834, "repeatPanelId": 3, "scopedVars": { "jvm_memory_pool_heap": { @@ -2070,7 +2176,7 @@ objects: "points": false, "renderer": "flot", "repeat": null, - "repeatIteration": 1550504993993, + "repeatIteration": 1550958562834, "repeatPanelId": 3, "scopedVars": { "jvm_memory_pool_heap": { @@ -2364,7 +2470,7 @@ objects: "points": false, "renderer": "flot", "repeat": null, - "repeatIteration": 1550504993993, + "repeatIteration": 1550958562834, "repeatPanelId": 78, "scopedVars": { "jvm_memory_pool_nonheap": { @@ -2505,7 +2611,7 @@ objects: "points": false, "renderer": "flot", "repeat": null, - "repeatIteration": 1550504993993, + "repeatIteration": 1550958562834, "repeatPanelId": 78, "scopedVars": { "jvm_memory_pool_nonheap": { @@ -3683,7 +3789,7 @@ objects: ] }, "time": { - "from": "now-5m", + "from": "now-30m", "to": "now" }, "timepicker": {