From f3e85ef6e3d208d282684f2d90f7cc6a17f431a1 Mon Sep 17 00:00:00 2001
From: peng-yongsheng <8082209@qq.com>
Date: Fri, 17 Nov 2017 13:57:20 +0800
Subject: [PATCH] Change apm-collector-stream from collector module to common
codes. Make agent gRPC to be a collector module. Make agent jetty to be a
collector module. Make agent stream to be a collector module.
---
.../collector-agent-grpc-define}/pom.xml | 6 +-
.../agent/grpc/AgentGRPCModule.java} | 6 +-
...kywalking.apm.collector.core.module.Module | 2 +-
.../collector-agent-grpc-provider/pom.xml | 60 +++++++
.../agent/grpc/AgentModuleGRPCProvider.java | 16 +-
.../grpc/AgentModuleGRPCRegistration.java | 0
.../ApplicationRegisterServiceHandler.java | 7 +-
.../InstanceDiscoveryServiceHandler.java | 7 +-
.../handler/JVMMetricsServiceHandler.java | 101 ++++++++++++
.../ServiceNameDiscoveryServiceHandler.java | 7 +-
.../handler/TraceSegmentServiceHandler.java | 10 +-
.../naming/AgentGRPCNamingHandler.java | 3 +-
.../naming/AgentGRPCNamingListener.java | 4 +-
...g.apm.collector.core.module.ModuleProvider | 0
...icationRegisterServiceHandlerTestCase.java | 0
.../pom.xml | 19 ++-
.../collector-agent-jetty-define}/pom.xml | 5 +-
.../agent/jetty/AgentJettyModule.java} | 6 +-
...kywalking.apm.collector.core.module.Module | 2 +-
.../collector-agent-jetty-provider/pom.xml | 18 ++-
.../agent/jetty/AgentModuleJettyProvider.java | 11 +-
.../jetty/AgentModuleJettyRegistration.java | 0
.../ApplicationRegisterServletHandler.java | 7 +-
.../InstanceDiscoveryServletHandler.java | 9 +-
.../ServiceNameDiscoveryServiceHandler.java | 9 +-
.../handler/TraceSegmentServletHandler.java | 10 +-
.../naming/AgentJettyNamingHandler.java | 0
.../naming/AgentJettyNamingListener.java | 4 +-
.../reader/KeyWithStringValueJsonReader.java | 0
.../jetty/handler/reader/LogJsonReader.java | 0
.../handler/reader/ReferenceJsonReader.java | 0
.../handler/reader/SegmentJsonReader.java | 0
.../jetty/handler/reader/SpanJsonReader.java | 0
.../handler/reader/StreamJsonReader.java | 0
.../jetty/handler/reader/TraceSegment.java | 0
.../reader/TraceSegmentJsonReader.java | 0
.../handler/reader/UniqueIdJsonReader.java | 0
...g.apm.collector.core.module.ModuleProvider | 0
.../handler/ApplicationRegisterPost.java | 0
.../agent/jetty/handler/HttpClientTools.java | 0
.../jetty/handler/InstanceRegisterPost.java | 0
.../agent/jetty/handler/JsonFileReader.java | 0
.../agent/jetty/handler/SegmentPost.java | 0
.../handler/ServiceNameRegisterPost.java | 0
.../json/application-register-consumer.json | 0
.../json/application-register-provider.json | 0
.../test/resources/json/dubbox-consumer.json | 0
.../test/resources/json/dubbox-provider.json | 0
.../json/instance-register-consumer.json | 0
.../json/instance-register-provider.json | 0
.../json/servicename-register-consumer.json | 0
.../json/servicename-register-provider.json | 0
.../apm-collector-agent-jetty/pom.xml | 44 ++++++
.../collector-agent-stream-define}/pom.xml | 8 +-
.../agent/stream/AgentStreamModule.java | 68 ++++++++
.../stream/service/jvm/ICpuMetricService.java | 28 ++++
.../stream/service/jvm/IGCMetricService.java | 28 ++++
.../jvm/IInstanceHeartBeatService.java | 28 ++++
.../service/jvm/IMemoryMetricService.java | 28 ++++
.../service/jvm/IMemoryPoolMetricService.java | 28 ++++
.../register/IApplicationIDService.java | 28 ++++
.../service/register/IInstanceIDService.java | 30 ++++
.../service/register/IServiceNameService.java | 28 ++++
.../service/trace/ITraceSegmentService.java | 29 ++++
...ywalking.apm.collector.core.module.Module} | 2 +-
.../collector-agent-stream-provider}/pom.xml | 17 +-
.../agent/stream/AgentStreamBootStartup.java} | 17 +-
.../stream/AgentStreamModuleProvider.java | 89 +++++++++++
.../agent/stream/IdAutoIncrement.java | 0
.../agent/stream/buffer/BufferFileConfig.java | 79 ++++++++++
.../collector/agent/stream/buffer/Offset.java | 0
.../agent/stream/buffer/OffsetManager.java | 2 +-
.../stream/buffer/SegmentBufferConfig.java | 0
.../stream/buffer/SegmentBufferManager.java | 0
.../stream/buffer/SegmentBufferReader.java | 0
.../stream/graph/JvmMetricStreamGraph.java | 0
.../stream/graph/RegisterStreamGraph.java | 0
.../agent/stream/graph/TraceStreamGraph.java | 0
.../stream/parser/EntrySpanListener.java | 0
.../agent/stream/parser/ExitSpanListener.java | 0
.../stream/parser/FirstSpanListener.java | 0
.../stream/parser/GlobalTraceIdsListener.java | 0
.../stream/parser/LocalSpanListener.java | 0
.../agent/stream/parser/RefsListener.java | 0
.../agent/stream/parser/SegmentParse.java | 0
.../agent/stream/parser/SpanListener.java | 0
.../parser/standardization/IdExchanger.java | 0
.../standardization/ReferenceDecorator.java | 0
.../standardization/ReferenceIdExchanger.java | 0
.../standardization/SegmentDecorator.java | 0
.../SegmentStandardization.java | 0
.../SegmentStandardizationWorker.java | 0
.../parser/standardization/SpanDecorator.java | 0
.../standardization/SpanIdExchanger.java | 0
.../standardization/StandardBuilder.java | 0
.../agent/stream/util/FileUtils.java | 0
.../jvm/CpuMetricPersistenceWorker.java | 0
.../stream/worker/jvm/CpuMetricService.java | 52 ++++++
.../worker/jvm/GCMetricPersistenceWorker.java | 0
.../stream/worker/jvm/GCMetricService.java | 54 +++++++
.../jvm/InstHeartBeatPersistenceWorker.java | 0
.../worker/jvm/InstanceHeartBeatService.java | 51 ++++++
.../jvm/MemoryMetricPersistenceWorker.java | 0
.../worker/jvm/MemoryMetricService.java | 57 +++++++
.../MemoryPoolMetricPersistenceWorker.java | 0
.../worker/jvm/MemoryPoolMetricService.java | 57 +++++++
.../worker/register/ApplicationIDService.java | 3 +-
.../ApplicationRegisterRemoteWorker.java | 0
.../ApplicationRegisterSerialWorker.java | 0
.../worker/register/InstanceIDService.java | 7 +-
.../InstanceRegisterRemoteWorker.java | 0
.../InstanceRegisterSerialWorker.java | 0
.../ServiceNameRegisterRemoteWorker.java | 0
.../ServiceNameRegisterSerialWorker.java | 0
.../worker/register/ServiceNameService.java | 3 +-
.../worker/trace/TraceSegmentService.java | 41 +++++
.../global/GlobalTracePersistenceWorker.java | 0
.../trace/global/GlobalTraceSpanListener.java | 0
.../InstPerformancePersistenceWorker.java | 0
.../instance/InstPerformanceSpanListener.java | 0
.../node/NodeComponentAggregationWorker.java | 0
.../node/NodeComponentPersistenceWorker.java | 0
.../trace/node/NodeComponentRemoteWorker.java | 0
.../trace/node/NodeComponentSpanListener.java | 0
.../node/NodeMappingAggregationWorker.java | 0
.../node/NodeMappingPersistenceWorker.java | 0
.../trace/node/NodeMappingRemoteWorker.java | 0
.../trace/node/NodeMappingSpanListener.java | 0
.../NodeReferenceAggregationWorker.java | 0
.../NodeReferencePersistenceWorker.java | 0
.../noderef/NodeReferenceRemoteWorker.java | 0
.../noderef/NodeReferenceSpanListener.java | 0
.../segment/SegmentCostPersistenceWorker.java | 0
.../segment/SegmentCostSpanListener.java | 0
.../segment/SegmentPersistenceWorker.java | 0
.../ServiceEntryAggregationWorker.java | 0
.../ServiceEntryPersistenceWorker.java | 0
.../service/ServiceEntryRemoteWorker.java | 0
.../service/ServiceEntrySpanListener.java | 0
.../ServiceReferenceAggregationWorker.java | 0
.../ServiceReferencePersistenceWorker.java | 0
.../ServiceReferenceRemoteWorker.java | 0
.../ServiceReferenceSpanListener.java | 0
...g.apm.collector.core.module.ModuleProvider | 19 +++
.../apm-collector-agent-stream/pom.xml | 44 ++++++
.../handler/JVMMetricsServiceHandler.java | 148 ------------------
.../agent/stream/buffer/BufferFileConfig.java | 27 ----
apm-collector/apm-collector-agent/pom.xml | 38 -----
apm-collector/apm-collector-boot/pom.xml | 20 +--
.../src/main/resources/application.yml | 6 +-
.../core/config/SystemConfigParser.java | 36 +++++
.../main/resources/application-default.yml | 2 -
.../stream/StreamModuleProvider.java | 52 ------
apm-collector/apm-collector-stream/pom.xml | 6 +-
.../stream/timer/PersistenceTimer.java | 0
.../worker/base/AbstractLocalAsyncWorker.java | 0
.../AbstractLocalAsyncWorkerProvider.java | 0
.../worker/base/AbstractRemoteWorker.java | 0
.../base/AbstractRemoteWorkerProvider.java | 0
.../stream/worker/base/AbstractWorker.java | 0
.../worker/base/AbstractWorkerProvider.java | 0
.../worker/base/LocalAsyncWorkerRef.java | 0
.../stream/worker/base/Provider.java | 0
.../base/ProviderNotFoundException.java | 0
.../stream/worker/base/RemoteWorkerRef.java | 0
.../worker/base/UsedRoleNameException.java | 0
.../worker/base/WorkerCreateListener.java | 0
.../stream/worker/base/WorkerException.java | 0
.../worker/base/WorkerInvokeException.java | 0
.../worker/base/WorkerNotFoundException.java | 0
.../stream/worker/base/WorkerRef.java | 0
.../stream/worker/impl/AggregationWorker.java | 0
.../stream/worker/impl/FlushAndSwitch.java | 0
.../stream/worker/impl/PersistenceWorker.java | 0
.../stream/worker/impl/data/DataCache.java | 0
.../worker/impl/data/DataCollection.java | 0
.../stream/worker/impl/data/Window.java | 0
apm-collector/pom.xml | 4 +-
178 files changed, 1241 insertions(+), 396 deletions(-)
rename apm-collector/{apm-collector-agent/collector-agent-define => apm-collector-agent-grpc/collector-agent-grpc-define}/pom.xml (90%)
rename apm-collector/{apm-collector-agent/collector-agent-define/src/main/java/org/skywalking/apm/collector/agent/AgentModule.java => apm-collector-agent-grpc/collector-agent-grpc-define/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentGRPCModule.java} (86%)
rename apm-collector/{apm-collector-agent/collector-agent-define => apm-collector-agent-grpc/collector-agent-grpc-define}/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module (92%)
create mode 100644 apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/pom.xml
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java (85%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCRegistration.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java (88%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java (91%)
create mode 100644 apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java (89%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java (84%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java (96%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java (88%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-grpc}/collector-agent-grpc-provider/src/test/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandlerTestCase.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-grpc}/pom.xml (76%)
rename apm-collector/{apm-collector-stream/collector-stream-define => apm-collector-agent-jetty/collector-agent-jetty-define}/pom.xml (90%)
rename apm-collector/{apm-collector-stream/collector-stream-define/src/main/java/org/skywalking/apm/collector/stream/StreamModule.java => apm-collector-agent-jetty/collector-agent-jetty-define/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentJettyModule.java} (86%)
rename apm-collector/{apm-collector-stream/collector-stream-define => apm-collector-agent-jetty/collector-agent-jetty-define}/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module (92%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/pom.xml (74%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java (90%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyRegistration.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java (89%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java (88%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java (88%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java (86%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingHandler.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java (87%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/KeyWithStringValueJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/LogJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/ReferenceJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SegmentJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SpanJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/StreamJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegment.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegmentJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/UniqueIdJsonReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/SegmentPost.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameRegisterPost.java (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/application-register-consumer.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/application-register-provider.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/dubbox-consumer.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/dubbox-provider.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/instance-register-consumer.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/instance-register-provider.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/servicename-register-consumer.json (100%)
rename apm-collector/{apm-collector-agent => apm-collector-agent-jetty}/collector-agent-jetty-provider/src/test/resources/json/servicename-register-provider.json (100%)
create mode 100644 apm-collector/apm-collector-agent-jetty/pom.xml
rename apm-collector/{apm-collector-stream/collector-stream-provider => apm-collector-agent-stream/collector-agent-stream-define}/pom.xml (88%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModule.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IApplicationIDService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IInstanceIDService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IServiceNameService.java
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/trace/ITraceSegmentService.java
rename apm-collector/{apm-collector-stream/collector-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider => apm-collector-agent-stream/collector-agent-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module} (92%)
rename apm-collector/{apm-collector-agent/collector-agent-grpc-provider => apm-collector-agent-stream/collector-agent-stream-provider}/pom.xml (75%)
rename apm-collector/{apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java => apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamBootStartup.java} (85%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModuleProvider.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/IdAutoIncrement.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/Offset.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java (99%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferConfig.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferManager.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferReader.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/graph/JvmMetricStreamGraph.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/graph/TraceStreamGraph.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/EntrySpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/ExitSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/FirstSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/GlobalTraceIdsListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/LocalSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/RefsListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/IdExchanger.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceDecorator.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentDecorator.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardization.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanDecorator.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/StandardBuilder.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/util/FileUtils.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java (93%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java (92%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java (93%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/TraceSegmentService.java
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTraceSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformanceSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java (100%)
rename apm-collector/{apm-collector-agent/collector-agent-stream => apm-collector-agent-stream/collector-agent-stream-provider}/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceSpanListener.java (100%)
create mode 100644 apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
create mode 100644 apm-collector/apm-collector-agent-stream/pom.xml
delete mode 100644 apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
delete mode 100644 apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
delete mode 100644 apm-collector/apm-collector-agent/pom.xml
create mode 100644 apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/config/SystemConfigParser.java
delete mode 100644 apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/timer/PersistenceTimer.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/LocalAsyncWorkerRef.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/Provider.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/ProviderNotFoundException.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/RemoteWorkerRef.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/UsedRoleNameException.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerCreateListener.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerException.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerInvokeException.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerNotFoundException.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerRef.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/FlushAndSwitch.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java (100%)
rename apm-collector/apm-collector-stream/{collector-stream-provider => }/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java (100%)
diff --git a/apm-collector/apm-collector-agent/collector-agent-define/pom.xml b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/pom.xml
similarity index 90%
rename from apm-collector/apm-collector-agent/collector-agent-define/pom.xml
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/pom.xml
index 1bc2c4eee..adb8e7523 100644
--- a/apm-collector/apm-collector-agent/collector-agent-define/pom.xml
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/pom.xml
@@ -21,13 +21,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-agent
+ apm-collector-agent-grpc
org.skywalking
3.2.5-2017
4.0.0
- collector-agent-define
+ collector-agent-grpc-define
jar
-
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent/collector-agent-define/src/main/java/org/skywalking/apm/collector/agent/AgentModule.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentGRPCModule.java
similarity index 86%
rename from apm-collector/apm-collector-agent/collector-agent-define/src/main/java/org/skywalking/apm/collector/agent/AgentModule.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentGRPCModule.java
index 202a5554b..7e574016a 100644
--- a/apm-collector/apm-collector-agent/collector-agent-define/src/main/java/org/skywalking/apm/collector/agent/AgentModule.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentGRPCModule.java
@@ -16,16 +16,16 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.agent;
+package org.skywalking.apm.collector.agent.grpc;
import org.skywalking.apm.collector.core.module.Module;
/**
* @author peng-yongsheng
*/
-public class AgentModule extends Module {
+public class AgentGRPCModule extends Module {
- public static final String NAME = "agent";
+ public static final String NAME = "agent_gRPC";
@Override public String name() {
return NAME;
diff --git a/apm-collector/apm-collector-agent/collector-agent-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
similarity index 92%
rename from apm-collector/apm-collector-agent/collector-agent-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
index 53a054ae3..d6fe0707c 100644
--- a/apm-collector/apm-collector-agent/collector-agent-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
@@ -16,4 +16,4 @@
# Project repository: https://github.com/OpenSkywalking/skywalking
#
-org.skywalking.apm.collector.agent.AgentModule
\ No newline at end of file
+org.skywalking.apm.collector.agent.grpc.AgentGRPCModule
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/pom.xml b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/pom.xml
new file mode 100644
index 000000000..7c4c4f54b
--- /dev/null
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/pom.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+ apm-collector-agent-grpc
+ org.skywalking
+ 3.2.5-2017
+
+ 4.0.0
+
+ collector-agent-grpc-provider
+ jar
+
+
+
+ org.skywalking
+ collector-agent-grpc-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-grpc-manager-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-cluster-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-naming-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-agent-stream-define
+ ${project.version}
+
+
+
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java
similarity index 85%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java
index 863016d12..d45d38228 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCProvider.java
@@ -19,7 +19,6 @@
package org.skywalking.apm.collector.agent.grpc;
import java.util.Properties;
-import org.skywalking.apm.collector.agent.AgentModule;
import org.skywalking.apm.collector.agent.grpc.handler.ApplicationRegisterServiceHandler;
import org.skywalking.apm.collector.agent.grpc.handler.InstanceDiscoveryServiceHandler;
import org.skywalking.apm.collector.agent.grpc.handler.JVMMetricsServiceHandler;
@@ -27,8 +26,7 @@ import org.skywalking.apm.collector.agent.grpc.handler.ServiceNameDiscoveryServi
import org.skywalking.apm.collector.agent.grpc.handler.TraceSegmentServiceHandler;
import org.skywalking.apm.collector.agent.grpc.handler.naming.AgentGRPCNamingHandler;
import org.skywalking.apm.collector.agent.grpc.handler.naming.AgentGRPCNamingListener;
-import org.skywalking.apm.collector.agent.stream.AgentStreamSingleton;
-import org.skywalking.apm.collector.cache.CacheModule;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
@@ -39,10 +37,7 @@ import org.skywalking.apm.collector.grpc.manager.GRPCManagerModule;
import org.skywalking.apm.collector.grpc.manager.service.GRPCManagerService;
import org.skywalking.apm.collector.naming.NamingModule;
import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
-import org.skywalking.apm.collector.remote.RemoteModule;
import org.skywalking.apm.collector.server.Server;
-import org.skywalking.apm.collector.storage.StorageModule;
-import org.skywalking.apm.collector.stream.StreamModule;
/**
* @author peng-yongsheng
@@ -58,7 +53,7 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
}
@Override public Class extends Module> module() {
- return AgentModule.class;
+ return AgentGRPCModule.class;
}
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
@@ -70,7 +65,7 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
Integer port = (Integer)config.get(PORT);
ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class);
- moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleGRPCRegistration(host, port));
+ moduleRegisterService.register(AgentGRPCModule.NAME, this.name(), new AgentModuleGRPCRegistration(host, port));
AgentGRPCNamingListener namingListener = new AgentGRPCNamingListener();
ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class);
@@ -82,7 +77,6 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
GRPCManagerService managerService = getManager().find(GRPCManagerModule.NAME).getService(GRPCManagerService.class);
Server gRPCServer = managerService.createIfAbsent(host, port);
- AgentStreamSingleton.createInstanceIfAbsent(getManager());
addHandlers(gRPCServer);
}
@@ -91,14 +85,14 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
}
@Override public String[] requiredModules() {
- return new String[] {ClusterModule.NAME, NamingModule.NAME, StorageModule.NAME, GRPCManagerModule.NAME, CacheModule.NAME, RemoteModule.NAME, StreamModule.NAME};
+ return new String[] {ClusterModule.NAME, NamingModule.NAME, GRPCManagerModule.NAME, AgentStreamModule.NAME};
}
private void addHandlers(Server gRPCServer) {
gRPCServer.addHandler(new ApplicationRegisterServiceHandler(getManager()));
gRPCServer.addHandler(new InstanceDiscoveryServiceHandler(getManager()));
gRPCServer.addHandler(new ServiceNameDiscoveryServiceHandler(getManager()));
- gRPCServer.addHandler(new JVMMetricsServiceHandler());
+ gRPCServer.addHandler(new JVMMetricsServiceHandler(getManager()));
gRPCServer.addHandler(new TraceSegmentServiceHandler(getManager()));
}
}
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCRegistration.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCRegistration.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCRegistration.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/AgentModuleGRPCRegistration.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java
similarity index 88%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java
index 1008f22c8..d3dcbff20 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandler.java
@@ -20,7 +20,8 @@ package org.skywalking.apm.collector.agent.grpc.handler;
import com.google.protobuf.ProtocolStringList;
import io.grpc.stub.StreamObserver;
-import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationIDService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IApplicationIDService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.grpc.GRPCHandler;
import org.skywalking.apm.network.proto.Application;
@@ -37,10 +38,10 @@ public class ApplicationRegisterServiceHandler extends ApplicationRegisterServic
private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterServiceHandler.class);
- private final ApplicationIDService applicationIDService;
+ private final IApplicationIDService applicationIDService;
public ApplicationRegisterServiceHandler(ModuleManager moduleManager) {
- applicationIDService = new ApplicationIDService(moduleManager);
+ applicationIDService = moduleManager.find(AgentStreamModule.NAME).getService(IApplicationIDService.class);
}
@Override public void register(Application request, StreamObserver responseObserver) {
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java
similarity index 91%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java
index 456c1cd26..0f5197a3c 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/InstanceDiscoveryServiceHandler.java
@@ -21,7 +21,8 @@ package org.skywalking.apm.collector.agent.grpc.handler;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import io.grpc.stub.StreamObserver;
-import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IInstanceIDService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.core.util.TimeBucketUtils;
import org.skywalking.apm.collector.server.grpc.GRPCHandler;
@@ -41,10 +42,10 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp
private final Logger logger = LoggerFactory.getLogger(InstanceDiscoveryServiceHandler.class);
- private final InstanceIDService instanceIDService;
+ private final IInstanceIDService instanceIDService;
public InstanceDiscoveryServiceHandler(ModuleManager moduleManager) {
- this.instanceIDService = new InstanceIDService(moduleManager);
+ this.instanceIDService = moduleManager.find(AgentStreamModule.NAME).getService(IInstanceIDService.class);
}
@Override
diff --git a/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
new file mode 100644
index 000000000..b3f16f2c6
--- /dev/null
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.grpc.handler;
+
+import io.grpc.stub.StreamObserver;
+import java.util.List;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.jvm.ICpuMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IGCMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IInstanceHeartBeatService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryPoolMetricService;
+import org.skywalking.apm.collector.core.module.ModuleManager;
+import org.skywalking.apm.collector.core.util.TimeBucketUtils;
+import org.skywalking.apm.collector.server.grpc.GRPCHandler;
+import org.skywalking.apm.network.proto.CPU;
+import org.skywalking.apm.network.proto.Downstream;
+import org.skywalking.apm.network.proto.GC;
+import org.skywalking.apm.network.proto.JVMMetrics;
+import org.skywalking.apm.network.proto.JVMMetricsServiceGrpc;
+import org.skywalking.apm.network.proto.Memory;
+import org.skywalking.apm.network.proto.MemoryPool;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsServiceImplBase implements GRPCHandler {
+
+ private final Logger logger = LoggerFactory.getLogger(JVMMetricsServiceHandler.class);
+
+ private final ICpuMetricService cpuMetricService;
+ private final IGCMetricService gcMetricService;
+ private final IMemoryMetricService memoryMetricService;
+ private final IMemoryPoolMetricService memoryPoolMetricService;
+ private final IInstanceHeartBeatService instanceHeartBeatService;
+
+ public JVMMetricsServiceHandler(ModuleManager moduleManager) {
+ this.cpuMetricService = moduleManager.find(AgentStreamModule.NAME).getService(ICpuMetricService.class);
+ this.gcMetricService = moduleManager.find(AgentStreamModule.NAME).getService(IGCMetricService.class);
+ this.memoryMetricService = moduleManager.find(AgentStreamModule.NAME).getService(IMemoryMetricService.class);
+ this.memoryPoolMetricService = moduleManager.find(AgentStreamModule.NAME).getService(IMemoryPoolMetricService.class);
+ this.instanceHeartBeatService = moduleManager.find(AgentStreamModule.NAME).getService(IInstanceHeartBeatService.class);
+ }
+
+ @Override public void collect(JVMMetrics request, StreamObserver responseObserver) {
+ int instanceId = request.getApplicationInstanceId();
+ logger.debug("receive the jvm metric from application instance, id: {}", instanceId);
+
+ request.getMetricsList().forEach(metric -> {
+ long time = TimeBucketUtils.INSTANCE.getSecondTimeBucket(metric.getTime());
+ sendToInstanceHeartBeatService(instanceId, metric.getTime());
+ sendToCpuMetricService(instanceId, time, metric.getCpu());
+ sendToMemoryMetricService(instanceId, time, metric.getMemoryList());
+ sendToMemoryPoolMetricService(instanceId, time, metric.getMemoryPoolList());
+ sendToGCMetricService(instanceId, time, metric.getGcList());
+ });
+
+ responseObserver.onNext(Downstream.newBuilder().build());
+ responseObserver.onCompleted();
+ }
+
+ private void sendToInstanceHeartBeatService(int instanceId, long heartBeatTime) {
+ instanceHeartBeatService.send(instanceId, heartBeatTime);
+ }
+
+ private void sendToMemoryMetricService(int instanceId, long timeBucket, List memories) {
+ memories.forEach(memory -> memoryMetricService.send(instanceId, timeBucket, memory.getIsHeap(), memory.getInit(), memory.getMax(), memory.getUsed(), memory.getCommitted()));
+ }
+
+ private void sendToMemoryPoolMetricService(int instanceId, long timeBucket,
+ List memoryPools) {
+
+ memoryPools.forEach(memoryPool -> memoryPoolMetricService.send(instanceId, timeBucket, memoryPool.getType().getNumber(), memoryPool.getInit(), memoryPool.getMax(), memoryPool.getUsed(), memoryPool.getCommited()));
+ }
+
+ private void sendToCpuMetricService(int instanceId, long timeBucket, CPU cpu) {
+ cpuMetricService.send(instanceId, timeBucket, cpu.getUsagePercent());
+ }
+
+ private void sendToGCMetricService(int instanceId, long timeBucket, List gcs) {
+ gcs.forEach(gc -> gcMetricService.send(instanceId, timeBucket, gc.getPhraseValue(), gc.getCount(), gc.getTime()));
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java
similarity index 89%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java
index 4b84db6c3..2fe84ea73 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/ServiceNameDiscoveryServiceHandler.java
@@ -20,7 +20,8 @@ package org.skywalking.apm.collector.agent.grpc.handler;
import io.grpc.stub.StreamObserver;
import java.util.List;
-import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IServiceNameService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.grpc.GRPCHandler;
import org.skywalking.apm.network.proto.ServiceNameCollection;
@@ -38,10 +39,10 @@ public class ServiceNameDiscoveryServiceHandler extends ServiceNameDiscoveryServ
private final Logger logger = LoggerFactory.getLogger(ServiceNameDiscoveryServiceHandler.class);
- private final ServiceNameService serviceNameService;
+ private final IServiceNameService serviceNameService;
public ServiceNameDiscoveryServiceHandler(ModuleManager moduleManager) {
- this.serviceNameService = new ServiceNameService(moduleManager);
+ this.serviceNameService = moduleManager.find(AgentStreamModule.NAME).getService(IServiceNameService.class);
}
@Override public void discovery(ServiceNameCollection request,
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java
similarity index 84%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java
index 4c6b80a6b..0dbcfd5e4 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/TraceSegmentServiceHandler.java
@@ -19,7 +19,8 @@
package org.skywalking.apm.collector.agent.grpc.handler;
import io.grpc.stub.StreamObserver;
-import org.skywalking.apm.collector.agent.stream.parser.SegmentParse;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.trace.ITraceSegmentService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.grpc.GRPCHandler;
import org.skywalking.apm.network.proto.Downstream;
@@ -35,18 +36,17 @@ public class TraceSegmentServiceHandler extends TraceSegmentServiceGrpc.TraceSeg
private final Logger logger = LoggerFactory.getLogger(TraceSegmentServiceHandler.class);
- private final ModuleManager moduleManager;
+ private final ITraceSegmentService traceSegmentService;
public TraceSegmentServiceHandler(ModuleManager moduleManager) {
- this.moduleManager = moduleManager;
+ this.traceSegmentService = moduleManager.find(AgentStreamModule.NAME).getService(ITraceSegmentService.class);
}
@Override public StreamObserver collect(StreamObserver responseObserver) {
return new StreamObserver() {
@Override public void onNext(UpstreamSegment segment) {
logger.debug("receive segment");
- SegmentParse segmentParse = new SegmentParse(moduleManager);
- segmentParse.parse(segment, SegmentParse.Source.Agent);
+ traceSegmentService.send(segment);
}
@Override public void onError(Throwable throwable) {
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java
similarity index 96%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java
index dda852e44..e729074ee 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingHandler.java
@@ -37,8 +37,7 @@ public class AgentGRPCNamingHandler extends JettyHandler {
}
@Override public String pathSpec() {
-// return "/agent/gRPC";
- return "/agentstream/grpc";
+ return "/agent/gRPC";
}
@Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException {
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java
similarity index 88%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java
index b75a32d33..0d0d190c6 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java
+++ b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/naming/AgentGRPCNamingListener.java
@@ -18,7 +18,7 @@
package org.skywalking.apm.collector.agent.grpc.handler.naming;
-import org.skywalking.apm.collector.agent.AgentModule;
+import org.skywalking.apm.collector.agent.grpc.AgentGRPCModule;
import org.skywalking.apm.collector.agent.grpc.AgentModuleGRPCProvider;
import org.skywalking.apm.collector.cluster.ClusterModuleListener;
@@ -27,7 +27,7 @@ import org.skywalking.apm.collector.cluster.ClusterModuleListener;
*/
public class AgentGRPCNamingListener extends ClusterModuleListener {
- public static final String PATH = "/" + AgentModule.NAME + "/" + AgentModuleGRPCProvider.NAME;
+ public static final String PATH = "/" + AgentGRPCModule.NAME + "/" + AgentModuleGRPCProvider.NAME;
@Override public String path() {
return PATH;
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/test/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandlerTestCase.java b/apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/test/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandlerTestCase.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/test/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandlerTestCase.java
rename to apm-collector/apm-collector-agent-grpc/collector-agent-grpc-provider/src/test/java/org/skywalking/apm/collector/agent/grpc/handler/ApplicationRegisterServiceHandlerTestCase.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/pom.xml b/apm-collector/apm-collector-agent-grpc/pom.xml
similarity index 76%
rename from apm-collector/apm-collector-agent/collector-agent-stream/pom.xml
rename to apm-collector/apm-collector-agent-grpc/pom.xml
index da8ed0465..68dae9343 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/pom.xml
+++ b/apm-collector/apm-collector-agent-grpc/pom.xml
@@ -21,25 +21,24 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-agent
+ apm-collector
org.skywalking
3.2.5-2017
4.0.0
- collector-agent-stream
- jar
+ apm-collector-agent-grpc
+ pom
+
+ collector-agent-grpc-define
+ collector-agent-grpc-provider
+
org.skywalking
- collector-stream-provider
- ${project.version}
-
-
- org.skywalking
- collector-cache-define
+ apm-collector-core
${project.version}
-
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-stream/collector-stream-define/pom.xml b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/pom.xml
similarity index 90%
rename from apm-collector/apm-collector-stream/collector-stream-define/pom.xml
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/pom.xml
index 083972267..6b249cbcf 100644
--- a/apm-collector/apm-collector-stream/collector-stream-define/pom.xml
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/pom.xml
@@ -21,12 +21,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-stream
+ apm-collector-agent-jetty
org.skywalking
3.2.5-2017
4.0.0
- collector-stream-define
+ collector-agent-jetty-define
jar
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-stream/collector-stream-define/src/main/java/org/skywalking/apm/collector/stream/StreamModule.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentJettyModule.java
similarity index 86%
rename from apm-collector/apm-collector-stream/collector-stream-define/src/main/java/org/skywalking/apm/collector/stream/StreamModule.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentJettyModule.java
index 29ae5467c..be74cdfc1 100644
--- a/apm-collector/apm-collector-stream/collector-stream-define/src/main/java/org/skywalking/apm/collector/stream/StreamModule.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentJettyModule.java
@@ -16,16 +16,16 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.stream;
+package org.skywalking.apm.collector.agent.jetty;
import org.skywalking.apm.collector.core.module.Module;
/**
* @author peng-yongsheng
*/
-public class StreamModule extends Module {
+public class AgentJettyModule extends Module {
- public static final String NAME = "stream";
+ public static final String NAME = "agent_jetty";
@Override public String name() {
return NAME;
diff --git a/apm-collector/apm-collector-stream/collector-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
similarity index 92%
rename from apm-collector/apm-collector-stream/collector-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
index 468c08d65..6bd8395e8 100644
--- a/apm-collector/apm-collector-stream/collector-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
@@ -16,4 +16,4 @@
# Project repository: https://github.com/OpenSkywalking/skywalking
#
-org.skywalking.apm.collector.stream.StreamModule
\ No newline at end of file
+org.skywalking.apm.collector.agent.jetty.AgentJettyModule
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/pom.xml b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/pom.xml
similarity index 74%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/pom.xml
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/pom.xml
index f8a854702..bf0ba2500 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/pom.xml
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/pom.xml
@@ -21,7 +21,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-agent
+ apm-collector-agent-jetty
org.skywalking
3.2.5-2017
@@ -33,17 +33,27 @@
org.skywalking
- collector-agent-define
+ collector-agent-jetty-define
${project.version}
org.skywalking
- collector-agent-stream
+ collector-jetty-manager-define
${project.version}
org.skywalking
- collector-jetty-manager-define
+ collector-cluster-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-naming-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-agent-stream-define
${project.version}
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java
similarity index 90%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java
index 75d911b44..ce317e3e3 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyProvider.java
@@ -19,14 +19,13 @@
package org.skywalking.apm.collector.agent.jetty;
import java.util.Properties;
-import org.skywalking.apm.collector.agent.AgentModule;
import org.skywalking.apm.collector.agent.jetty.handler.ApplicationRegisterServletHandler;
import org.skywalking.apm.collector.agent.jetty.handler.InstanceDiscoveryServletHandler;
import org.skywalking.apm.collector.agent.jetty.handler.ServiceNameDiscoveryServiceHandler;
import org.skywalking.apm.collector.agent.jetty.handler.TraceSegmentServletHandler;
import org.skywalking.apm.collector.agent.jetty.handler.naming.AgentJettyNamingHandler;
import org.skywalking.apm.collector.agent.jetty.handler.naming.AgentJettyNamingListener;
-import org.skywalking.apm.collector.cache.CacheModule;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
@@ -38,8 +37,6 @@ import org.skywalking.apm.collector.jetty.manager.service.JettyManagerService;
import org.skywalking.apm.collector.naming.NamingModule;
import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
import org.skywalking.apm.collector.server.Server;
-import org.skywalking.apm.collector.storage.StorageModule;
-import org.skywalking.apm.collector.stream.StreamModule;
/**
* @author peng-yongsheng
@@ -56,7 +53,7 @@ public class AgentModuleJettyProvider extends ModuleProvider {
}
@Override public Class extends Module> module() {
- return AgentModule.class;
+ return AgentJettyModule.class;
}
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
@@ -69,7 +66,7 @@ public class AgentModuleJettyProvider extends ModuleProvider {
String contextPath = config.getProperty(CONTEXT_PATH);
ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class);
- moduleRegisterService.register(AgentModule.NAME, this.name(), new AgentModuleJettyRegistration(host, port, contextPath));
+ moduleRegisterService.register(AgentJettyModule.NAME, this.name(), new AgentModuleJettyRegistration(host, port, contextPath));
AgentJettyNamingListener namingListener = new AgentJettyNamingListener();
ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class);
@@ -88,7 +85,7 @@ public class AgentModuleJettyProvider extends ModuleProvider {
}
@Override public String[] requiredModules() {
- return new String[] {ClusterModule.NAME, NamingModule.NAME, StorageModule.NAME, JettyManagerModule.NAME, CacheModule.NAME, StreamModule.NAME};
+ return new String[] {ClusterModule.NAME, NamingModule.NAME, JettyManagerModule.NAME, AgentStreamModule.NAME};
}
private void addHandlers(Server jettyServer) {
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyRegistration.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyRegistration.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyRegistration.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/AgentModuleJettyRegistration.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java
similarity index 89%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java
index 5fb5db4b6..5d90e79fd 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterServletHandler.java
@@ -24,7 +24,8 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationIDService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IApplicationIDService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
import org.skywalking.apm.collector.server.jetty.JettyHandler;
@@ -38,13 +39,13 @@ public class ApplicationRegisterServletHandler extends JettyHandler {
private final Logger logger = LoggerFactory.getLogger(ApplicationRegisterServletHandler.class);
- private final ApplicationIDService applicationIDService;
+ private final IApplicationIDService applicationIDService;
private Gson gson = new Gson();
private static final String APPLICATION_CODE = "c";
private static final String APPLICATION_ID = "i";
public ApplicationRegisterServletHandler(ModuleManager moduleManager) {
- this.applicationIDService = new ApplicationIDService(moduleManager);
+ this.applicationIDService = moduleManager.find(AgentStreamModule.NAME).getService(IApplicationIDService.class);
}
@Override public String pathSpec() {
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java
similarity index 88%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java
index 658d7d419..17627398b 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceDiscoveryServletHandler.java
@@ -23,7 +23,8 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IInstanceIDService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
import org.skywalking.apm.collector.server.jetty.JettyHandler;
@@ -37,8 +38,8 @@ public class InstanceDiscoveryServletHandler extends JettyHandler {
private final Logger logger = LoggerFactory.getLogger(InstanceDiscoveryServletHandler.class);
- private final InstanceIDService instanceIDService;
- private Gson gson = new Gson();
+ private final IInstanceIDService instanceIDService;
+ private final Gson gson = new Gson();
private static final String APPLICATION_ID = "ai";
private static final String AGENT_UUID = "au";
@@ -47,7 +48,7 @@ public class InstanceDiscoveryServletHandler extends JettyHandler {
private static final String OS_INFO = "oi";
public InstanceDiscoveryServletHandler(ModuleManager moduleManager) {
- this.instanceIDService = new InstanceIDService(moduleManager);
+ this.instanceIDService = moduleManager.find(AgentStreamModule.NAME).getService(IInstanceIDService.class);
}
@Override public String pathSpec() {
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java
similarity index 88%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java
index b842e17c9..7e7b224f5 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameDiscoveryServiceHandler.java
@@ -24,7 +24,8 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
-import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.register.IServiceNameService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
import org.skywalking.apm.collector.server.jetty.JettyHandler;
@@ -38,8 +39,8 @@ public class ServiceNameDiscoveryServiceHandler extends JettyHandler {
private final Logger logger = LoggerFactory.getLogger(ServiceNameDiscoveryServiceHandler.class);
- private final ServiceNameService serviceNameService;
- private Gson gson = new Gson();
+ private final IServiceNameService serviceNameService;
+ private final Gson gson = new Gson();
private static final String APPLICATION_ID = "ai";
private static final String SERVICE_NAME = "sn";
@@ -47,7 +48,7 @@ public class ServiceNameDiscoveryServiceHandler extends JettyHandler {
private static final String ELEMENT = "el";
public ServiceNameDiscoveryServiceHandler(ModuleManager moduleManager) {
- this.serviceNameService = new ServiceNameService(moduleManager);
+ this.serviceNameService = moduleManager.find(AgentStreamModule.NAME).getService(IServiceNameService.class);
}
@Override public String pathSpec() {
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java
similarity index 86%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java
index 6c873bd77..c880674ff 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/TraceSegmentServletHandler.java
@@ -25,7 +25,8 @@ import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.skywalking.apm.collector.agent.jetty.handler.reader.TraceSegment;
import org.skywalking.apm.collector.agent.jetty.handler.reader.TraceSegmentJsonReader;
-import org.skywalking.apm.collector.agent.stream.parser.SegmentParse;
+import org.skywalking.apm.collector.agent.stream.AgentStreamModule;
+import org.skywalking.apm.collector.agent.stream.service.trace.ITraceSegmentService;
import org.skywalking.apm.collector.core.module.ModuleManager;
import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
import org.skywalking.apm.collector.server.jetty.JettyHandler;
@@ -39,10 +40,10 @@ public class TraceSegmentServletHandler extends JettyHandler {
private final Logger logger = LoggerFactory.getLogger(TraceSegmentServletHandler.class);
- private final ModuleManager moduleManager;
+ private final ITraceSegmentService traceSegmentService;
public TraceSegmentServletHandler(ModuleManager moduleManager) {
- this.moduleManager = moduleManager;
+ this.traceSegmentService = moduleManager.find(AgentStreamModule.NAME).getService(ITraceSegmentService.class);
}
@Override public String pathSpec() {
@@ -71,9 +72,8 @@ public class TraceSegmentServletHandler extends JettyHandler {
reader.beginArray();
while (reader.hasNext()) {
- SegmentParse segmentParse = new SegmentParse(moduleManager);
TraceSegment traceSegment = jsonReader.read(reader);
- segmentParse.parse(traceSegment.getUpstreamSegment(), SegmentParse.Source.Agent);
+ traceSegmentService.send(traceSegment.getUpstreamSegment());
}
reader.endArray();
}
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingHandler.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingHandler.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingHandler.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingHandler.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java
similarity index 87%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java
index 1dad304a9..e9592cd12 100644
--- a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java
+++ b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/naming/AgentJettyNamingListener.java
@@ -18,7 +18,7 @@
package org.skywalking.apm.collector.agent.jetty.handler.naming;
-import org.skywalking.apm.collector.agent.AgentModule;
+import org.skywalking.apm.collector.agent.jetty.AgentJettyModule;
import org.skywalking.apm.collector.agent.jetty.AgentModuleJettyProvider;
import org.skywalking.apm.collector.cluster.ClusterModuleListener;
@@ -27,7 +27,7 @@ import org.skywalking.apm.collector.cluster.ClusterModuleListener;
*/
public class AgentJettyNamingListener extends ClusterModuleListener {
- public static final String PATH = "/" + AgentModule.NAME + "/" + AgentModuleJettyProvider.NAME;
+ public static final String PATH = "/" + AgentJettyModule.NAME + "/" + AgentModuleJettyProvider.NAME;
@Override public String path() {
return PATH;
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/KeyWithStringValueJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/KeyWithStringValueJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/KeyWithStringValueJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/KeyWithStringValueJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/LogJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/LogJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/LogJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/LogJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/ReferenceJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/ReferenceJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/ReferenceJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/ReferenceJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SegmentJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SegmentJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SegmentJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SegmentJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SpanJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SpanJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SpanJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/SpanJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/StreamJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/StreamJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/StreamJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/StreamJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegment.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegment.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegment.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegment.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegmentJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegmentJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegmentJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/TraceSegmentJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/UniqueIdJsonReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/UniqueIdJsonReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/UniqueIdJsonReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/java/org/skywalking/apm/collector/agent/jetty/handler/reader/UniqueIdJsonReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ApplicationRegisterPost.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/HttpClientTools.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/InstanceRegisterPost.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/JsonFileReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/SegmentPost.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/SegmentPost.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/SegmentPost.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/SegmentPost.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameRegisterPost.java b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameRegisterPost.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameRegisterPost.java
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/java/org/skywalking/apm/collector/agent/jetty/handler/ServiceNameRegisterPost.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/application-register-consumer.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/application-register-consumer.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/application-register-consumer.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/application-register-consumer.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/application-register-provider.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/application-register-provider.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/application-register-provider.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/application-register-provider.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/dubbox-consumer.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/dubbox-consumer.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/dubbox-consumer.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/dubbox-consumer.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/dubbox-provider.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/dubbox-provider.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/dubbox-provider.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/dubbox-provider.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/instance-register-consumer.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/instance-register-consumer.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/instance-register-consumer.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/instance-register-consumer.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/instance-register-provider.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/instance-register-provider.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/instance-register-provider.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/instance-register-provider.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/servicename-register-consumer.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/servicename-register-consumer.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/servicename-register-consumer.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/servicename-register-consumer.json
diff --git a/apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/servicename-register-provider.json b/apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/servicename-register-provider.json
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-jetty-provider/src/test/resources/json/servicename-register-provider.json
rename to apm-collector/apm-collector-agent-jetty/collector-agent-jetty-provider/src/test/resources/json/servicename-register-provider.json
diff --git a/apm-collector/apm-collector-agent-jetty/pom.xml b/apm-collector/apm-collector-agent-jetty/pom.xml
new file mode 100644
index 000000000..6bfcc418a
--- /dev/null
+++ b/apm-collector/apm-collector-agent-jetty/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ apm-collector
+ org.skywalking
+ 3.2.5-2017
+
+ 4.0.0
+
+ apm-collector-agent-jetty
+ pom
+
+ collector-agent-jetty-define
+ collector-agent-jetty-provider
+
+
+
+
+ org.skywalking
+ apm-collector-core
+ ${project.version}
+
+
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/pom.xml b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/pom.xml
similarity index 88%
rename from apm-collector/apm-collector-stream/collector-stream-provider/pom.xml
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-define/pom.xml
index 2cb289d8f..267072072 100644
--- a/apm-collector/apm-collector-stream/collector-stream-provider/pom.xml
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/pom.xml
@@ -21,20 +21,20 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-stream
+ apm-collector-agent-stream
org.skywalking
3.2.5-2017
4.0.0
- collector-stream-provider
+ collector-agent-stream-define
jar
org.skywalking
- collector-stream-define
+ apm-network
${project.version}
-
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModule.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModule.java
new file mode 100644
index 000000000..01e960c24
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModule.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.skywalking.apm.collector.agent.stream.service.jvm.ICpuMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IGCMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IInstanceHeartBeatService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryPoolMetricService;
+import org.skywalking.apm.collector.agent.stream.service.register.IApplicationIDService;
+import org.skywalking.apm.collector.agent.stream.service.register.IInstanceIDService;
+import org.skywalking.apm.collector.agent.stream.service.register.IServiceNameService;
+import org.skywalking.apm.collector.agent.stream.service.trace.ITraceSegmentService;
+import org.skywalking.apm.collector.core.module.Module;
+
+/**
+ * @author peng-yongsheng
+ */
+public class AgentStreamModule extends Module {
+
+ public static final String NAME = "agent_stream";
+
+ @Override public String name() {
+ return NAME;
+ }
+
+ @Override public Class[] services() {
+ List classes = new ArrayList<>();
+
+ addRegisterService(classes);
+ addJVMService(classes);
+ classes.add(ITraceSegmentService.class);
+
+ return classes.toArray(new Class[] {});
+ }
+
+ private void addRegisterService(List classes) {
+ classes.add(IApplicationIDService.class);
+ classes.add(IInstanceIDService.class);
+ classes.add(IServiceNameService.class);
+ }
+
+ private void addJVMService(List classes) {
+ classes.add(ICpuMetricService.class);
+ classes.add(IGCMetricService.class);
+ classes.add(IMemoryMetricService.class);
+ classes.add(IMemoryPoolMetricService.class);
+ classes.add(IInstanceHeartBeatService.class);
+ }
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java
new file mode 100644
index 000000000..659f881ea
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/ICpuMetricService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.jvm;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface ICpuMetricService extends Service {
+ void send(int instanceId, long timeBucket, double usagePercent);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java
new file mode 100644
index 000000000..62038953d
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IGCMetricService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.jvm;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IGCMetricService extends Service {
+ void send(int instanceId, long timeBucket, int phraseValue, long count, long time);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java
new file mode 100644
index 000000000..53c487f7c
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IInstanceHeartBeatService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.jvm;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IInstanceHeartBeatService extends Service {
+ void send(int instanceId, long heartBeatTime);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java
new file mode 100644
index 000000000..917ac2900
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryMetricService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.jvm;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IMemoryMetricService extends Service {
+ void send(int instanceId, long timeBucket, boolean isHeap, long init, long max, long used, long commited);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java
new file mode 100644
index 000000000..88766a509
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/jvm/IMemoryPoolMetricService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.jvm;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IMemoryPoolMetricService extends Service {
+ void send(int instanceId, long timeBucket, int poolType, long init, long max, long used, long commited);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IApplicationIDService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IApplicationIDService.java
new file mode 100644
index 000000000..20e755370
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IApplicationIDService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.register;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IApplicationIDService extends Service {
+ int getOrCreate(String applicationCode);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IInstanceIDService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IInstanceIDService.java
new file mode 100644
index 000000000..efb3542fa
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IInstanceIDService.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.register;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IInstanceIDService extends Service {
+ int getOrCreate(int applicationId, String agentUUID, long registerTime, String osInfo);
+
+ void recover(int instanceId, int applicationId, long registerTime, String osInfo);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IServiceNameService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IServiceNameService.java
new file mode 100644
index 000000000..3dc3c5d16
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/register/IServiceNameService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.register;
+
+import org.skywalking.apm.collector.core.module.Service;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface IServiceNameService extends Service {
+ int getOrCreate(int applicationId, String serviceName);
+}
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/trace/ITraceSegmentService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/trace/ITraceSegmentService.java
new file mode 100644
index 000000000..581e62319
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/java/org/skywalking/apm/collector/agent/stream/service/trace/ITraceSegmentService.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.service.trace;
+
+import org.skywalking.apm.collector.core.module.Service;
+import org.skywalking.apm.network.proto.UpstreamSegment;
+
+/**
+ * @author peng-yongsheng
+ */
+public interface ITraceSegmentService extends Service {
+ void send(UpstreamSegment segment);
+}
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
similarity index 92%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
index ee323473e..2016bceae 100644
--- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module
@@ -16,4 +16,4 @@
# Project repository: https://github.com/OpenSkywalking/skywalking
#
-org.skywalking.apm.collector.stream.StreamModuleProvider
\ No newline at end of file
+org.skywalking.apm.collector.agent.stream.AgentStreamModule
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/pom.xml b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/pom.xml
similarity index 75%
rename from apm-collector/apm-collector-agent/collector-agent-grpc-provider/pom.xml
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/pom.xml
index 1aaf8da1f..a2e6c61b9 100644
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/pom.xml
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/pom.xml
@@ -21,30 +21,35 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- apm-collector-agent
+ apm-collector-agent-stream
org.skywalking
3.2.5-2017
4.0.0
- collector-agent-grpc-provider
+ collector-agent-stream-provider
jar
org.skywalking
- collector-agent-define
+ collector-agent-stream-define
${project.version}
org.skywalking
- collector-agent-stream
+ collector-storage-define
${project.version}
org.skywalking
- collector-grpc-manager-define
+ collector-cache-define
+ ${project.version}
+
+
+ org.skywalking
+ apm-collector-stream
${project.version}
-
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamBootStartup.java
similarity index 85%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamBootStartup.java
index 91afecb5a..7757ad1b9 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamSingleton.java
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamBootStartup.java
@@ -22,34 +22,23 @@ import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph;
import org.skywalking.apm.collector.agent.stream.graph.TraceStreamGraph;
import org.skywalking.apm.collector.core.module.ModuleManager;
-import org.skywalking.apm.collector.core.util.ObjectUtils;
import org.skywalking.apm.collector.stream.timer.PersistenceTimer;
import org.skywalking.apm.collector.stream.worker.base.WorkerCreateListener;
/**
* @author peng-yongsheng
*/
-public class AgentStreamSingleton {
-
- private static AgentStreamSingleton INSTANCE;
+public class AgentStreamBootStartup {
private final ModuleManager moduleManager;
private final WorkerCreateListener workerCreateListener;
- private AgentStreamSingleton(ModuleManager moduleManager) {
+ public AgentStreamBootStartup(ModuleManager moduleManager) {
this.moduleManager = moduleManager;
this.workerCreateListener = new WorkerCreateListener();
- this.create();
- }
-
- public static synchronized AgentStreamSingleton createInstanceIfAbsent(ModuleManager moduleManager) {
- if (ObjectUtils.isEmpty(INSTANCE)) {
- INSTANCE = new AgentStreamSingleton(moduleManager);
- }
- return INSTANCE;
}
- private void create() {
+ public void start() {
createJVMGraph();
createRegisterGraph();
createTraceGraph();
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModuleProvider.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModuleProvider.java
new file mode 100644
index 000000000..34444b476
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/AgentStreamModuleProvider.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream;
+
+import java.util.Properties;
+import org.skywalking.apm.collector.agent.stream.buffer.BufferFileConfig;
+import org.skywalking.apm.collector.agent.stream.service.jvm.ICpuMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IGCMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IInstanceHeartBeatService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryMetricService;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryPoolMetricService;
+import org.skywalking.apm.collector.agent.stream.service.register.IApplicationIDService;
+import org.skywalking.apm.collector.agent.stream.service.register.IInstanceIDService;
+import org.skywalking.apm.collector.agent.stream.service.register.IServiceNameService;
+import org.skywalking.apm.collector.agent.stream.service.trace.ITraceSegmentService;
+import org.skywalking.apm.collector.agent.stream.worker.jvm.CpuMetricService;
+import org.skywalking.apm.collector.agent.stream.worker.jvm.GCMetricService;
+import org.skywalking.apm.collector.agent.stream.worker.jvm.InstanceHeartBeatService;
+import org.skywalking.apm.collector.agent.stream.worker.jvm.MemoryMetricService;
+import org.skywalking.apm.collector.agent.stream.worker.jvm.MemoryPoolMetricService;
+import org.skywalking.apm.collector.agent.stream.worker.register.ApplicationIDService;
+import org.skywalking.apm.collector.agent.stream.worker.register.InstanceIDService;
+import org.skywalking.apm.collector.agent.stream.worker.register.ServiceNameService;
+import org.skywalking.apm.collector.agent.stream.worker.trace.TraceSegmentService;
+import org.skywalking.apm.collector.cache.CacheModule;
+import org.skywalking.apm.collector.core.module.Module;
+import org.skywalking.apm.collector.core.module.ModuleProvider;
+import org.skywalking.apm.collector.core.module.ServiceNotProvidedException;
+import org.skywalking.apm.collector.storage.StorageModule;
+
+/**
+ * @author peng-yongsheng
+ */
+public class AgentStreamModuleProvider extends ModuleProvider {
+
+ @Override public String name() {
+ return "default";
+ }
+
+ @Override public Class extends Module> module() {
+ return AgentStreamModule.class;
+ }
+
+ @Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ this.registerServiceImplementation(IApplicationIDService.class, new ApplicationIDService(getManager()));
+ this.registerServiceImplementation(IInstanceIDService.class, new InstanceIDService(getManager()));
+ this.registerServiceImplementation(IServiceNameService.class, new ServiceNameService(getManager()));
+
+ this.registerServiceImplementation(ICpuMetricService.class, new CpuMetricService());
+ this.registerServiceImplementation(IGCMetricService.class, new GCMetricService());
+ this.registerServiceImplementation(IMemoryMetricService.class, new MemoryMetricService());
+ this.registerServiceImplementation(IMemoryPoolMetricService.class, new MemoryPoolMetricService());
+ this.registerServiceImplementation(IInstanceHeartBeatService.class, new InstanceHeartBeatService());
+
+ this.registerServiceImplementation(ITraceSegmentService.class, new TraceSegmentService(getManager()));
+
+ BufferFileConfig.Parser parser = new BufferFileConfig.Parser();
+ parser.parse(config);
+ }
+
+ @Override public void start(Properties config) throws ServiceNotProvidedException {
+ AgentStreamBootStartup bootStartup = new AgentStreamBootStartup(getManager());
+ bootStartup.start();
+ }
+
+ @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
+
+ }
+
+ @Override public String[] requiredModules() {
+ return new String[] {StorageModule.NAME, CacheModule.NAME};
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/IdAutoIncrement.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/IdAutoIncrement.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/IdAutoIncrement.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/IdAutoIncrement.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
new file mode 100644
index 000000000..1b393918e
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.buffer;
+
+import java.util.Properties;
+
+/**
+ * @author peng-yongsheng
+ */
+public class BufferFileConfig {
+ static int BUFFER_OFFSET_MAX_FILE_SIZE = 10 * 1024 * 1024;
+ static int BUFFER_SEGMENT_MAX_FILE_SIZE = 10 * 1024 * 1024;
+
+ private static final String BUFFER_OFFSET_MAX_FILE_SIZE_KEY = "buffer_offset_max_file_size";
+ private static final String BUFFER_SEGMENT_MAX_FILE_SIZE_KEY = "buffer_segment_max_file_size";
+
+ public static class Parser {
+
+ public void parse(Properties config) {
+ if (config.containsKey(BUFFER_OFFSET_MAX_FILE_SIZE_KEY)) {
+ String sizeStr = config.getProperty(BUFFER_OFFSET_MAX_FILE_SIZE_KEY).toUpperCase();
+ if (sizeStr.endsWith("K")) {
+ int size = Integer.parseInt(sizeStr.replace("K", ""));
+ BUFFER_OFFSET_MAX_FILE_SIZE = size * 1024;
+ } else if (sizeStr.endsWith("KB")) {
+ int size = Integer.parseInt(sizeStr.replace("KB", ""));
+ BUFFER_OFFSET_MAX_FILE_SIZE = size * 1024;
+ } else if (sizeStr.endsWith("M")) {
+ int size = Integer.parseInt(sizeStr.replace("M", ""));
+ BUFFER_OFFSET_MAX_FILE_SIZE = size * 1024 * 1024;
+ } else if (sizeStr.endsWith("MB")) {
+ int size = Integer.parseInt(sizeStr.replace("MB", ""));
+ BUFFER_OFFSET_MAX_FILE_SIZE = size * 1024 * 1024;
+ } else {
+ BUFFER_OFFSET_MAX_FILE_SIZE = 10 * 1024 * 1024;
+ }
+ } else {
+ BUFFER_OFFSET_MAX_FILE_SIZE = 10 * 1024 * 1024;
+ }
+
+ if (config.containsKey(BUFFER_SEGMENT_MAX_FILE_SIZE_KEY)) {
+ String sizeStr = config.getProperty(BUFFER_SEGMENT_MAX_FILE_SIZE_KEY).toUpperCase();
+ if (sizeStr.endsWith("K")) {
+ int size = Integer.parseInt(sizeStr.replace("K", ""));
+ BUFFER_SEGMENT_MAX_FILE_SIZE = size * 1024;
+ } else if (sizeStr.endsWith("KB")) {
+ int size = Integer.parseInt(sizeStr.replace("KB", ""));
+ BUFFER_SEGMENT_MAX_FILE_SIZE = size * 1024;
+ } else if (sizeStr.endsWith("M")) {
+ int size = Integer.parseInt(sizeStr.replace("M", ""));
+ BUFFER_SEGMENT_MAX_FILE_SIZE = size * 1024 * 1024;
+ } else if (sizeStr.endsWith("MB")) {
+ int size = Integer.parseInt(sizeStr.replace("MB", ""));
+ BUFFER_SEGMENT_MAX_FILE_SIZE = size * 1024 * 1024;
+ } else {
+ BUFFER_SEGMENT_MAX_FILE_SIZE = 1024 * 1024;
+ }
+ } else {
+ BUFFER_SEGMENT_MAX_FILE_SIZE = 1024 * 1024;
+ }
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/Offset.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/Offset.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/Offset.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/Offset.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java
similarity index 99%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java
index 68bce1581..e9b4e25d6 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/OffsetManager.java
@@ -70,7 +70,7 @@ public enum OffsetManager {
offset.deserialize(offsetRecord);
initialized = true;
- Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(() -> flush(), 10, 3, TimeUnit.SECONDS);
+ Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(this::flush, 10, 3, TimeUnit.SECONDS);
}
}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferConfig.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferConfig.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferConfig.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferConfig.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferManager.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferManager.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferManager.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferManager.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferReader.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferReader.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferReader.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/SegmentBufferReader.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/JvmMetricStreamGraph.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/JvmMetricStreamGraph.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/JvmMetricStreamGraph.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/JvmMetricStreamGraph.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/RegisterStreamGraph.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/TraceStreamGraph.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/TraceStreamGraph.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/graph/TraceStreamGraph.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/graph/TraceStreamGraph.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/EntrySpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/EntrySpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/EntrySpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/EntrySpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/ExitSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/ExitSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/ExitSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/ExitSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/FirstSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/FirstSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/FirstSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/FirstSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/GlobalTraceIdsListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/GlobalTraceIdsListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/GlobalTraceIdsListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/GlobalTraceIdsListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/LocalSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/LocalSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/LocalSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/LocalSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/RefsListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/RefsListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/RefsListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/RefsListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SegmentParse.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/SpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/IdExchanger.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/IdExchanger.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/IdExchanger.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/IdExchanger.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceDecorator.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceDecorator.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceDecorator.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceDecorator.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/ReferenceIdExchanger.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentDecorator.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentDecorator.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentDecorator.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentDecorator.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardization.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardization.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardization.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardization.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SegmentStandardizationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanDecorator.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanDecorator.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanDecorator.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanDecorator.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/SpanIdExchanger.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/StandardBuilder.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/StandardBuilder.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/StandardBuilder.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/parser/standardization/StandardBuilder.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/util/FileUtils.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/util/FileUtils.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/util/FileUtils.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/util/FileUtils.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java
new file mode 100644
index 000000000..4fc8c80a2
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/CpuMetricService.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.jvm;
+
+import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.jvm.ICpuMetricService;
+import org.skywalking.apm.collector.core.graph.Graph;
+import org.skywalking.apm.collector.core.graph.GraphManager;
+import org.skywalking.apm.collector.core.util.Const;
+import org.skywalking.apm.collector.storage.table.jvm.CpuMetric;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class CpuMetricService implements ICpuMetricService {
+
+ private final Logger logger = LoggerFactory.getLogger(CpuMetricService.class);
+
+ private final Graph cpuMetricGraph;
+
+ public CpuMetricService() {
+ cpuMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.CPU_METRIC_GRAPH_ID, CpuMetric.class);
+ }
+
+ @Override public void send(int instanceId, long timeBucket, double usagePercent) {
+ CpuMetric cpuMetric = new CpuMetric(timeBucket + Const.ID_SPLIT + instanceId);
+ cpuMetric.setInstanceId(instanceId);
+ cpuMetric.setUsagePercent(usagePercent);
+ cpuMetric.setTimeBucket(timeBucket);
+
+ logger.debug("send to cpu metric graph, id: {}", cpuMetric.getId());
+ cpuMetricGraph.start(cpuMetric);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java
new file mode 100644
index 000000000..8d8f9c7a0
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/GCMetricService.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.jvm;
+
+import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IGCMetricService;
+import org.skywalking.apm.collector.core.graph.Graph;
+import org.skywalking.apm.collector.core.graph.GraphManager;
+import org.skywalking.apm.collector.core.util.Const;
+import org.skywalking.apm.collector.storage.table.jvm.GCMetric;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class GCMetricService implements IGCMetricService {
+
+ private final Logger logger = LoggerFactory.getLogger(GCMetricService.class);
+
+ private final Graph gcMetricGraph;
+
+ public GCMetricService() {
+ gcMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.GC_METRIC_GRAPH_ID, GCMetric.class);
+ }
+
+ @Override public void send(int instanceId, long timeBucket, int phraseValue, long count, long time) {
+ GCMetric gcMetric = new GCMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(phraseValue));
+ gcMetric.setInstanceId(instanceId);
+ gcMetric.setPhrase(phraseValue);
+ gcMetric.setCount(count);
+ gcMetric.setTime(time);
+ gcMetric.setTimeBucket(timeBucket);
+
+ logger.debug("send to gc metric graph, id: {}", gcMetric.getId());
+ gcMetricGraph.start(gcMetric);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstHeartBeatPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java
new file mode 100644
index 000000000..78084e83b
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/InstanceHeartBeatService.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.jvm;
+
+import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IInstanceHeartBeatService;
+import org.skywalking.apm.collector.core.graph.Graph;
+import org.skywalking.apm.collector.core.graph.GraphManager;
+import org.skywalking.apm.collector.core.util.TimeBucketUtils;
+import org.skywalking.apm.collector.storage.table.register.Instance;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class InstanceHeartBeatService implements IInstanceHeartBeatService {
+
+ private final Logger logger = LoggerFactory.getLogger(InstanceHeartBeatService.class);
+
+ private final Graph heartBeatGraph;
+
+ public InstanceHeartBeatService() {
+ this.heartBeatGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.INST_HEART_BEAT_GRAPH_ID, Instance.class);
+ }
+
+ @Override public void send(int instanceId, long heartBeatTime) {
+ Instance instance = new Instance(String.valueOf(instanceId));
+ instance.setHeartBeatTime(TimeBucketUtils.INSTANCE.getSecondTimeBucket(heartBeatTime));
+ instance.setInstanceId(instanceId);
+
+ logger.debug("send to instance heart beat persistence worker, id: {}", instance.getId());
+ heartBeatGraph.start(instance);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java
new file mode 100644
index 000000000..9909f7235
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryMetricService.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.jvm;
+
+import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryMetricService;
+import org.skywalking.apm.collector.core.graph.Graph;
+import org.skywalking.apm.collector.core.graph.GraphManager;
+import org.skywalking.apm.collector.core.util.Const;
+import org.skywalking.apm.collector.storage.table.jvm.MemoryMetric;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class MemoryMetricService implements IMemoryMetricService {
+
+ private final Logger logger = LoggerFactory.getLogger(MemoryMetricService.class);
+
+ private final Graph memoryMetricGraph;
+
+ public MemoryMetricService() {
+ this.memoryMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.MEMORY_METRIC_GRAPH_ID, MemoryMetric.class);
+ }
+
+ @Override
+ public void send(int instanceId, long timeBucket, boolean isHeap, long init, long max, long used, long commited) {
+ MemoryMetric memoryMetric = new MemoryMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(isHeap));
+ memoryMetric.setInstanceId(instanceId);
+ memoryMetric.setIsHeap(isHeap);
+ memoryMetric.setInit(init);
+ memoryMetric.setMax(max);
+ memoryMetric.setUsed(used);
+ memoryMetric.setCommitted(commited);
+ memoryMetric.setTimeBucket(timeBucket);
+
+ logger.debug("send to memory metric graph, id: {}", memoryMetric.getId());
+ memoryMetricGraph.start(memoryMetric);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java
new file mode 100644
index 000000000..3af24bc2b
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/jvm/MemoryPoolMetricService.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.jvm;
+
+import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.jvm.IMemoryPoolMetricService;
+import org.skywalking.apm.collector.core.graph.Graph;
+import org.skywalking.apm.collector.core.graph.GraphManager;
+import org.skywalking.apm.collector.core.util.Const;
+import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author peng-yongsheng
+ */
+public class MemoryPoolMetricService implements IMemoryPoolMetricService {
+
+ private final Logger logger = LoggerFactory.getLogger(MemoryPoolMetricService.class);
+
+ private final Graph memoryPoolMetricGraph;
+
+ public MemoryPoolMetricService() {
+ this.memoryPoolMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.MEMORY_POOL_METRIC_GRAPH_ID, MemoryPoolMetric.class);
+ }
+
+ @Override
+ public void send(int instanceId, long timeBucket, int poolType, long init, long max, long used, long commited) {
+ MemoryPoolMetric memoryPoolMetric = new MemoryPoolMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(poolType));
+ memoryPoolMetric.setInstanceId(instanceId);
+ memoryPoolMetric.setPoolType(poolType);
+ memoryPoolMetric.setInit(init);
+ memoryPoolMetric.setMax(max);
+ memoryPoolMetric.setUsed(used);
+ memoryPoolMetric.setCommitted(commited);
+ memoryPoolMetric.setTimeBucket(timeBucket);
+
+ logger.debug("send to memory pool metric graph, id: {}", memoryPoolMetric.getId());
+ memoryPoolMetricGraph.start(memoryPoolMetric);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java
similarity index 93%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java
index 1595a8cf0..d218b537b 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationIDService.java
@@ -19,6 +19,7 @@
package org.skywalking.apm.collector.agent.stream.worker.register;
import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.register.IApplicationIDService;
import org.skywalking.apm.collector.cache.CacheModule;
import org.skywalking.apm.collector.cache.service.ApplicationCacheService;
import org.skywalking.apm.collector.core.graph.Graph;
@@ -31,7 +32,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
-public class ApplicationIDService {
+public class ApplicationIDService implements IApplicationIDService {
private final Logger logger = LoggerFactory.getLogger(ApplicationIDService.class);
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ApplicationRegisterSerialWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java
similarity index 92%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java
index 831b9dcbf..c68919e66 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceIDService.java
@@ -19,6 +19,7 @@
package org.skywalking.apm.collector.agent.stream.worker.register;
import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.register.IInstanceIDService;
import org.skywalking.apm.collector.cache.CacheModule;
import org.skywalking.apm.collector.cache.service.InstanceCacheService;
import org.skywalking.apm.collector.core.graph.Graph;
@@ -33,18 +34,16 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
-public class InstanceIDService {
+public class InstanceIDService implements IInstanceIDService {
private final Logger logger = LoggerFactory.getLogger(InstanceIDService.class);
private final ModuleManager moduleManager;
private final Graph instanceRegisterGraph;
- private final IInstanceRegisterDAO instanceRegisterDAO;
public InstanceIDService(ModuleManager moduleManager) {
this.moduleManager = moduleManager;
this.instanceRegisterGraph = GraphManager.INSTANCE.createIfAbsent(RegisterStreamGraph.INSTANCE_REGISTER_GRAPH_ID, Instance.class);
- this.instanceRegisterDAO = moduleManager.find(StorageModule.NAME).getService(IInstanceRegisterDAO.class);
}
public int getOrCreate(int applicationId, String agentUUID, long registerTime, String osInfo) {
@@ -68,6 +67,7 @@ public class InstanceIDService {
public void recover(int instanceId, int applicationId, long registerTime, String osInfo) {
logger.debug("instance recover, instance id: {}, application id: {}, register time: {}", instanceId, applicationId, registerTime);
+ final IInstanceRegisterDAO instanceRegisterDAO = moduleManager.find(StorageModule.NAME).getService(IInstanceRegisterDAO.class);
Instance instance = new Instance(String.valueOf(instanceId));
instance.setApplicationId(applicationId);
@@ -76,6 +76,7 @@ public class InstanceIDService {
instance.setHeartBeatTime(registerTime);
instance.setInstanceId(instanceId);
instance.setOsInfo(osInfo);
+
instanceRegisterDAO.save(instance);
}
}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/InstanceRegisterSerialWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameRegisterSerialWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java
similarity index 93%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java
index 738a595f4..4579d7796 100644
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/register/ServiceNameService.java
@@ -19,6 +19,7 @@
package org.skywalking.apm.collector.agent.stream.worker.register;
import org.skywalking.apm.collector.agent.stream.graph.RegisterStreamGraph;
+import org.skywalking.apm.collector.agent.stream.service.register.IServiceNameService;
import org.skywalking.apm.collector.cache.CacheModule;
import org.skywalking.apm.collector.cache.service.ServiceIdCacheService;
import org.skywalking.apm.collector.core.graph.Graph;
@@ -31,7 +32,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
-public class ServiceNameService {
+public class ServiceNameService implements IServiceNameService {
private final Logger logger = LoggerFactory.getLogger(ServiceNameService.class);
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/TraceSegmentService.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/TraceSegmentService.java
new file mode 100644
index 000000000..86832dde8
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/TraceSegmentService.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.agent.stream.worker.trace;
+
+import org.skywalking.apm.collector.agent.stream.parser.SegmentParse;
+import org.skywalking.apm.collector.agent.stream.service.trace.ITraceSegmentService;
+import org.skywalking.apm.collector.core.module.ModuleManager;
+import org.skywalking.apm.network.proto.UpstreamSegment;
+
+/**
+ * @author peng-yongsheng
+ */
+public class TraceSegmentService implements ITraceSegmentService {
+
+ private final ModuleManager moduleManager;
+
+ public TraceSegmentService(ModuleManager moduleManager) {
+ this.moduleManager = moduleManager;
+ }
+
+ public void send(UpstreamSegment segment) {
+ SegmentParse segmentParse = new SegmentParse(moduleManager);
+ segmentParse.parse(segment, SegmentParse.Source.Agent);
+ }
+}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTracePersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTraceSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTraceSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTraceSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/global/GlobalTraceSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformancePersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformanceSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformanceSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformanceSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/instance/InstPerformanceSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentAggregationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeComponentSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingAggregationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/node/NodeMappingSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceAggregationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferencePersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/noderef/NodeReferenceSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentCostSpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/segment/SegmentPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryAggregationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryPersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntryRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/service/ServiceEntrySpanListener.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceAggregationWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferencePersistenceWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceRemoteWorker.java
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceSpanListener.java b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceSpanListener.java
similarity index 100%
rename from apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceSpanListener.java
rename to apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/java/org/skywalking/apm/collector/agent/stream/worker/trace/serviceref/ServiceReferenceSpanListener.java
diff --git a/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
new file mode 100644
index 000000000..134461a3b
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/collector-agent-stream-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
@@ -0,0 +1,19 @@
+#
+# Copyright 2017, OpenSkywalking Organization All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Project repository: https://github.com/OpenSkywalking/skywalking
+#
+
+org.skywalking.apm.collector.agent.stream.AgentStreamModuleProvider
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent-stream/pom.xml b/apm-collector/apm-collector-agent-stream/pom.xml
new file mode 100644
index 000000000..9fc9f7dc6
--- /dev/null
+++ b/apm-collector/apm-collector-agent-stream/pom.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+ apm-collector
+ org.skywalking
+ 3.2.5-2017
+
+ 4.0.0
+
+ apm-collector-agent-stream
+ pom
+
+ collector-agent-stream-define
+ collector-agent-stream-provider
+
+
+
+
+ org.skywalking
+ apm-collector-core
+ ${project.version}
+
+
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java b/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
deleted file mode 100644
index e1d86f431..000000000
--- a/apm-collector/apm-collector-agent/collector-agent-grpc-provider/src/main/java/org/skywalking/apm/collector/agent/grpc/handler/JVMMetricsServiceHandler.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.agent.grpc.handler;
-
-import io.grpc.stub.StreamObserver;
-import java.util.List;
-import org.skywalking.apm.collector.agent.stream.graph.JvmMetricStreamGraph;
-import org.skywalking.apm.collector.core.graph.Graph;
-import org.skywalking.apm.collector.core.graph.GraphManager;
-import org.skywalking.apm.collector.core.util.Const;
-import org.skywalking.apm.collector.core.util.TimeBucketUtils;
-import org.skywalking.apm.collector.server.grpc.GRPCHandler;
-import org.skywalking.apm.collector.storage.table.jvm.CpuMetric;
-import org.skywalking.apm.collector.storage.table.jvm.GCMetric;
-import org.skywalking.apm.collector.storage.table.jvm.MemoryMetric;
-import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric;
-import org.skywalking.apm.collector.storage.table.register.Instance;
-import org.skywalking.apm.network.proto.CPU;
-import org.skywalking.apm.network.proto.Downstream;
-import org.skywalking.apm.network.proto.GC;
-import org.skywalking.apm.network.proto.JVMMetrics;
-import org.skywalking.apm.network.proto.JVMMetricsServiceGrpc;
-import org.skywalking.apm.network.proto.Memory;
-import org.skywalking.apm.network.proto.MemoryPool;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author peng-yongsheng
- */
-public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsServiceImplBase implements GRPCHandler {
-
- private final Logger logger = LoggerFactory.getLogger(JVMMetricsServiceHandler.class);
-
- private final Graph memoryMetricGraph;
- private final Graph memoryPoolMetricGraph;
- private final Graph gcMetricGraph;
- private final Graph cpuMetricGraph;
- private final Graph heartBeatGraph;
-
- public JVMMetricsServiceHandler() {
- memoryMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.MEMORY_METRIC_GRAPH_ID, MemoryMetric.class);
- memoryPoolMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.MEMORY_POOL_METRIC_GRAPH_ID, MemoryPoolMetric.class);
- gcMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.GC_METRIC_GRAPH_ID, GCMetric.class);
- cpuMetricGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.CPU_METRIC_GRAPH_ID, CpuMetric.class);
- heartBeatGraph = GraphManager.INSTANCE.createIfAbsent(JvmMetricStreamGraph.INST_HEART_BEAT_GRAPH_ID, Instance.class);
- }
-
- @Override public void collect(JVMMetrics request, StreamObserver responseObserver) {
- int instanceId = request.getApplicationInstanceId();
- logger.debug("receive the jvm metric from application instance, id: {}", instanceId);
-
- request.getMetricsList().forEach(metric -> {
- long time = TimeBucketUtils.INSTANCE.getSecondTimeBucket(metric.getTime());
- sendToInstanceHeartBeatPersistenceWorker(instanceId, metric.getTime());
- sendToCpuMetricPersistenceWorker(instanceId, time, metric.getCpu());
- sendToMemoryMetricPersistenceWorker(instanceId, time, metric.getMemoryList());
- sendToMemoryPoolMetricPersistenceWorker(instanceId, time, metric.getMemoryPoolList());
- sendToGCMetricPersistenceWorker(instanceId, time, metric.getGcList());
- });
-
- responseObserver.onNext(Downstream.newBuilder().build());
- responseObserver.onCompleted();
- }
-
- private void sendToInstanceHeartBeatPersistenceWorker(int instanceId, long heartBeatTime) {
- Instance instance = new Instance(String.valueOf(instanceId));
- instance.setHeartBeatTime(TimeBucketUtils.INSTANCE.getSecondTimeBucket(heartBeatTime));
- instance.setInstanceId(instanceId);
-
- logger.debug("send to instance heart beat persistence worker, id: {}", instance.getId());
- heartBeatGraph.start(instance);
- }
-
- private void sendToCpuMetricPersistenceWorker(int instanceId, long timeBucket, CPU cpu) {
- CpuMetric cpuMetric = new CpuMetric(timeBucket + Const.ID_SPLIT + instanceId);
- cpuMetric.setInstanceId(instanceId);
- cpuMetric.setUsagePercent(cpu.getUsagePercent());
- cpuMetric.setTimeBucket(timeBucket);
-
- logger.debug("send to cpu metric graph, id: {}", cpuMetric.getId());
- cpuMetricGraph.start(cpuMetric);
- }
-
- private void sendToMemoryMetricPersistenceWorker(int instanceId, long timeBucket, List memories) {
- memories.forEach(memory -> {
- MemoryMetric memoryMetric = new MemoryMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(memory.getIsHeap()));
- memoryMetric.setInstanceId(instanceId);
- memoryMetric.setIsHeap(memory.getIsHeap());
- memoryMetric.setInit(memory.getInit());
- memoryMetric.setMax(memory.getMax());
- memoryMetric.setUsed(memory.getUsed());
- memoryMetric.setCommitted(memory.getCommitted());
- memoryMetric.setTimeBucket(timeBucket);
-
- logger.debug("send to memory metric graph, id: {}", memoryMetric.getId());
- memoryMetricGraph.start(memoryMetric);
- });
- }
-
- private void sendToMemoryPoolMetricPersistenceWorker(int instanceId, long timeBucket,
- List memoryPools) {
-
- memoryPools.forEach(memoryPool -> {
- MemoryPoolMetric memoryPoolMetric = new MemoryPoolMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(memoryPool.getType().getNumber()));
- memoryPoolMetric.setInstanceId(instanceId);
- memoryPoolMetric.setPoolType(memoryPool.getType().getNumber());
- memoryPoolMetric.setInit(memoryPool.getInit());
- memoryPoolMetric.setMax(memoryPool.getMax());
- memoryPoolMetric.setUsed(memoryPool.getUsed());
- memoryPoolMetric.setCommitted(memoryPool.getCommited());
- memoryPoolMetric.setTimeBucket(timeBucket);
-
- logger.debug("send to memory pool metric graph, id: {}", memoryPoolMetric.getId());
- memoryPoolMetricGraph.start(memoryPoolMetric);
- });
- }
-
- private void sendToGCMetricPersistenceWorker(int instanceId, long timeBucket, List gcs) {
- gcs.forEach(gc -> {
- GCMetric gcMetric = new GCMetric(timeBucket + Const.ID_SPLIT + instanceId + Const.ID_SPLIT + String.valueOf(gc.getPhraseValue()));
- gcMetric.setInstanceId(instanceId);
- gcMetric.setPhrase(gc.getPhraseValue());
- gcMetric.setCount(gc.getCount());
- gcMetric.setTime(gc.getTime());
- gcMetric.setTimeBucket(timeBucket);
-
- logger.debug("send to gc metric graph, id: {}", gcMetric.getId());
- gcMetricGraph.start(gcMetric);
- });
- }
-}
diff --git a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java b/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
deleted file mode 100644
index 6cc6f7724..000000000
--- a/apm-collector/apm-collector-agent/collector-agent-stream/src/main/java/org/skywalking/apm/collector/agent/stream/buffer/BufferFileConfig.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.agent.stream.buffer;
-
-/**
- * @author peng-yongsheng
- */
-public class BufferFileConfig {
- public static int BUFFER_OFFSET_MAX_FILE_SIZE = 10 * 1024 * 1024;
- public static int BUFFER_SEGMENT_MAX_FILE_SIZE = 10 * 1024 * 1024;
-}
diff --git a/apm-collector/apm-collector-agent/pom.xml b/apm-collector/apm-collector-agent/pom.xml
deleted file mode 100644
index 84cc91273..000000000
--- a/apm-collector/apm-collector-agent/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- apm-collector
- org.skywalking
- 3.2.5-2017
-
- 4.0.0
-
- apm-collector-agent
- pom
-
- collector-agent-define
- collector-agent-jetty-provider
- collector-agent-grpc-provider
- collector-agent-stream
-
-
-
-
- org.skywalking
- apm-collector-core
- ${project.version}
-
-
- org.skywalking
- collector-cluster-define
- ${project.version}
-
-
- org.skywalking
- collector-naming-define
- ${project.version}
-
-
-
diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml
index b9873cc2c..c1c540f7f 100644
--- a/apm-collector/apm-collector-boot/pom.xml
+++ b/apm-collector/apm-collector-boot/pom.xml
@@ -79,18 +79,27 @@
${project.version}
-
+
org.skywalking
collector-agent-grpc-provider
${project.version}
+
+
org.skywalking
collector-agent-jetty-provider
${project.version}
-
+
+
+
+ org.skywalking
+ collector-agent-stream-provider
+ ${project.version}
+
+
org.skywalking
@@ -129,13 +138,6 @@
${project.version}
-
-
- org.skywalking
- collector-stream-provider
- ${project.version}
-
-
org.skywalking
diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml
index 254f84d23..d8628b391 100644
--- a/apm-collector/apm-collector-boot/src/main/resources/application.yml
+++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml
@@ -7,15 +7,17 @@ naming:
host: localhost
port: 10800
context_path: /
-agent:
+agent_gRPC:
gRPC:
host: localhost
port: 11800
+agent_jetty:
jetty:
host: localhost
port: 12800
context_path: /
- config:
+agent_stream:
+ default:
buffer_offset_max_file_size: 10M
buffer_segment_max_file_size: 500M
ui:
diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/config/SystemConfigParser.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/config/SystemConfigParser.java
new file mode 100644
index 000000000..aa90354dd
--- /dev/null
+++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/config/SystemConfigParser.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2017, OpenSkywalking Organization All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Project repository: https://github.com/OpenSkywalking/skywalking
+ */
+
+package org.skywalking.apm.collector.core.config;
+
+import org.skywalking.apm.collector.core.util.StringUtils;
+
+/**
+ * @author peng-yongsheng
+ */
+public enum SystemConfigParser {
+ INSTANCE;
+
+ private static final String DATA_PATH = "data.path";
+
+ public void parse() {
+ if (!StringUtils.isEmpty(System.getProperty(DATA_PATH))) {
+ SystemConfig.DATA_PATH = System.getProperty(DATA_PATH);
+ }
+ }
+}
diff --git a/apm-collector/apm-collector-core/src/main/resources/application-default.yml b/apm-collector/apm-collector-core/src/main/resources/application-default.yml
index a77838189..6d3aefc73 100644
--- a/apm-collector/apm-collector-core/src/main/resources/application-default.yml
+++ b/apm-collector/apm-collector-core/src/main/resources/application-default.yml
@@ -24,8 +24,6 @@ jetty_manager:
jetty:
gRPC_manager:
gRPC:
-stream:
- worker:
storage:
h2:
url: jdbc:h2:~/memorydb
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java b/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java
deleted file mode 100644
index 0e73dc8d2..000000000
--- a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/StreamModuleProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.stream;
-
-import java.util.Properties;
-import org.skywalking.apm.collector.core.module.Module;
-import org.skywalking.apm.collector.core.module.ModuleProvider;
-import org.skywalking.apm.collector.core.module.ServiceNotProvidedException;
-
-/**
- * @author peng-yongsheng
- */
-public class StreamModuleProvider extends ModuleProvider {
-
- @Override public String name() {
- return "worker";
- }
-
- @Override public Class extends Module> module() {
- return StreamModule.class;
- }
-
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
- }
-
- @Override public void start(Properties config) throws ServiceNotProvidedException {
- }
-
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
- }
-
- @Override public String[] requiredModules() {
- return new String[] {};
- }
-}
diff --git a/apm-collector/apm-collector-stream/pom.xml b/apm-collector/apm-collector-stream/pom.xml
index b3eb5c6d1..2e51f860b 100644
--- a/apm-collector/apm-collector-stream/pom.xml
+++ b/apm-collector/apm-collector-stream/pom.xml
@@ -28,11 +28,7 @@
4.0.0
apm-collector-stream
- pom
-
- collector-stream-define
- collector-stream-provider
-
+ jar
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/timer/PersistenceTimer.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/timer/PersistenceTimer.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/timer/PersistenceTimer.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/timer/PersistenceTimer.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorker.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractLocalAsyncWorkerProvider.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorker.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractRemoteWorkerProvider.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorker.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/AbstractWorkerProvider.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/LocalAsyncWorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/LocalAsyncWorkerRef.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/LocalAsyncWorkerRef.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/LocalAsyncWorkerRef.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/Provider.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/Provider.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/Provider.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/Provider.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/ProviderNotFoundException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/ProviderNotFoundException.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/ProviderNotFoundException.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/ProviderNotFoundException.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/RemoteWorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/RemoteWorkerRef.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/RemoteWorkerRef.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/RemoteWorkerRef.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/UsedRoleNameException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/UsedRoleNameException.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/UsedRoleNameException.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/UsedRoleNameException.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerCreateListener.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerCreateListener.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerCreateListener.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerCreateListener.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerException.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerException.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerException.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerInvokeException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerInvokeException.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerInvokeException.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerInvokeException.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerNotFoundException.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerNotFoundException.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerNotFoundException.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerNotFoundException.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerRef.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerRef.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerRef.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/base/WorkerRef.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/AggregationWorker.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/FlushAndSwitch.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/FlushAndSwitch.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/FlushAndSwitch.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/FlushAndSwitch.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/PersistenceWorker.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCache.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/DataCollection.java
diff --git a/apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java b/apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java
similarity index 100%
rename from apm-collector/apm-collector-stream/collector-stream-provider/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java
rename to apm-collector/apm-collector-stream/src/main/java/org/skywalking/apm/collector/stream/worker/impl/data/Window.java
diff --git a/apm-collector/pom.xml b/apm-collector/pom.xml
index d34f3f702..47914d4d8 100644
--- a/apm-collector/pom.xml
+++ b/apm-collector/pom.xml
@@ -33,7 +33,6 @@
apm-collector-boot
apm-collector-ui
- apm-collector-agent
apm-collector-core
apm-collector-component
apm-collector-cluster
@@ -47,6 +46,9 @@
apm-collector-queue
apm-collector-instrument
apm-collector-baseline
+ apm-collector-agent-grpc
+ apm-collector-agent-jetty
+ apm-collector-agent-stream
--
GitLab