From e74637a2616bda669d856356c62b95783389c185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Mon, 5 Aug 2019 11:46:12 +0800 Subject: [PATCH] GC time metrics should be total time. (#3216) * GC time metrics should be total time. * Add it to change log. * FYI @hanamily you missed to change this in self observability. --- CHANGES.md | 1 + .../server-starter/src/main/resources/official_analysis.oal | 4 ++-- .../telemetry/prometheus/PrometheusTelemetryProvider.java | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 4af446693..77f0b1d20 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -52,6 +52,7 @@ Release Notes. * Totally remove `IDs can't be null` log, to avoid misleading. * Fix provider has been initialized repeatedly. * Adjust providers conflict log message. +* Fix using wrong gc time metrics in OAL. #### UI * Fix refresh is not working after endpoint and instance changed. diff --git a/oap-server/server-starter/src/main/resources/official_analysis.oal b/oap-server/server-starter/src/main/resources/official_analysis.oal index 8cb8b5a01..2df6849f9 100644 --- a/oap-server/server-starter/src/main/resources/official_analysis.oal +++ b/oap-server/server-starter/src/main/resources/official_analysis.oal @@ -77,8 +77,8 @@ instance_jvm_memory_heap = from(ServiceInstanceJVMMemory.used).filter(heapStatus instance_jvm_memory_noheap = from(ServiceInstanceJVMMemory.used).filter(heapStatus == false).longAvg(); instance_jvm_memory_heap_max = from(ServiceInstanceJVMMemory.max).filter(heapStatus == true).longAvg(); instance_jvm_memory_noheap_max = from(ServiceInstanceJVMMemory.max).filter(heapStatus == false).longAvg(); -instance_jvm_young_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == GCPhrase.NEW).longAvg(); -instance_jvm_old_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == GCPhrase.OLD).longAvg(); +instance_jvm_young_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == GCPhrase.NEW).sum(); +instance_jvm_old_gc_time = from(ServiceInstanceJVMGC.time).filter(phrase == GCPhrase.OLD).sum(); instance_jvm_young_gc_count = from(ServiceInstanceJVMGC.count).filter(phrase == GCPhrase.NEW).sum(); instance_jvm_old_gc_count = from(ServiceInstanceJVMGC.count).filter(phrase == GCPhrase.OLD).sum(); diff --git a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java index da9433818..56186563e 100644 --- a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java +++ b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java @@ -23,7 +23,9 @@ import io.prometheus.client.hotspot.*; import java.io.IOException; import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.telemetry.TelemetryModule; +import org.apache.skywalking.oap.server.telemetry.api.MetricsCollector; import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator; +import org.apache.skywalking.oap.server.telemetry.none.MetricsCollectorNoop; /** * Start the Prometheus @@ -51,6 +53,7 @@ public class PrometheusTelemetryProvider extends ModuleProvider { @Override public void prepare() throws ServiceNotProvidedException, ModuleStartException { this.registerServiceImplementation(MetricsCreator.class, new PrometheusMetricsCreator()); + this.registerServiceImplementation(MetricsCollector.class, new MetricsCollectorNoop()); try { new HTTPServer(config.getHost(), config.getPort()); } catch (IOException e) {