From 9ab568faf240713e8c8ce07787ddbad922d08d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=9F=20Wu=20Sheng?= Date: Tue, 9 Apr 2019 18:18:13 +0800 Subject: [PATCH] Support shutdown the trace analysis. (#2463) --- .../receiver/trace/provider/TraceModuleProvider.java | 12 ++++++++---- .../trace/provider/TraceServiceModuleConfig.java | 8 ++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java index e346503a9..a47ec32ea 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java @@ -63,15 +63,19 @@ public class TraceModuleProvider extends ModuleProvider { moduleConfig.setDbLatencyThresholds(new DBLatencyThresholds(moduleConfig.getSlowDBAccessThreshold())); SegmentParserListenerManager listenerManager = new SegmentParserListenerManager(); - listenerManager.add(new MultiScopesSpanListener.Factory()); - listenerManager.add(new ServiceMappingSpanListener.Factory()); + if (moduleConfig.isTraceAnalysis()) { + listenerManager.add(new MultiScopesSpanListener.Factory()); + listenerManager.add(new ServiceMappingSpanListener.Factory()); + } listenerManager.add(new SegmentSpanListener.Factory(moduleConfig.getSampleRate())); segmentProducer = new SegmentParse.Producer(getManager(), listenerManager, moduleConfig); listenerManager = new SegmentParserListenerManager(); - listenerManager.add(new MultiScopesSpanListener.Factory()); - listenerManager.add(new ServiceMappingSpanListener.Factory()); + if (moduleConfig.isTraceAnalysis()) { + listenerManager.add(new MultiScopesSpanListener.Factory()); + listenerManager.add(new ServiceMappingSpanListener.Factory()); + } listenerManager.add(new SegmentSpanListener.Factory(moduleConfig.getSampleRate())); segmentProducerV2 = new SegmentParseV2.Producer(getManager(), listenerManager, moduleConfig); diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceServiceModuleConfig.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceServiceModuleConfig.java index 8ebeec613..fce1ca7ea 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceServiceModuleConfig.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceServiceModuleConfig.java @@ -39,4 +39,12 @@ public class TraceServiceModuleConfig extends ModuleConfig { */ @Setter @Getter private String slowDBAccessThreshold = "default:200"; @Setter @Getter private DBLatencyThresholds dbLatencyThresholds; + /** + * Analysis trace status. + * + * 1. Default(YES) means analysis all metric from trace. + * + * 2. NO means, only save trace, but metrics come other places, such as service mesh. + */ + @Setter @Getter private boolean traceAnalysis = true; }