You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2018/11/18 13:00:17 UTC
[incubator-skywalking] 01/01: Merge commit
'afd616433588644addb8498bbe6734e1f5e85803' into zipkin-receiver
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch zipkin-receiver
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git
commit ae4d4ed689a59c8474f9b3c4de1e9705f4b642bb
Merge: 6d4f1d0 afd6164
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Sun Nov 18 21:00:06 2018 +0800
Merge commit 'afd616433588644addb8498bbe6734e1f5e85803' into zipkin-receiver
# Conflicts:
# oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java
# oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
LICENSE | 2 +-
apm-dist/bin/oapServiceInit.bat | 37 ++++++++
apm-dist/bin/oapServiceInit.sh | 50 +++++++++++
apm-dist/release-docs/LICENSE | 13 +--
.../plugin/AbstractClassEnhancePluginDefine.java | 17 ++--
.../DeclaredInstanceMethodsInterceptPoint.java | 17 ++--
.../enhance/ClassEnhancePluginDefine.java | 46 +++++-----
.../skywalking/apm/agent/SkyWalkingAgent.java | 35 ++++----
.../v1/HystrixConcurrencyStrategyInterceptor.java | 35 +++++++-
.../hystrix/v1/HystrixPluginsInterceptor.java | 32 ++++++-
.../HystrixConcurrencyStrategyInterceptorTest.java | 100 +++++++++++++++++++++
.../hystrix/v1/HystrixPluginsInterceptorTest.java | 100 +++++++++++++++++++++
.../mvc/v3/define/ControllerInstrumentation.java | 7 +-
.../define/AbstractControllerInstrumentation.java | 9 +-
docs/en/setup/backend/backend-cluster.md | 8 +-
docs/en/setup/backend/backend-init-mode.md | 20 +++++
docs/en/setup/backend/backend-setup.md | 2 +
docs/en/setup/service-agent/java-agent/README.md | 8 +-
oap-server/pom.xml | 5 +-
.../ClusterModuleKubernetesProvider.java | 4 +-
.../skywalking/oap/server/core/CoreModule.java | 6 +-
.../oap/server/core/CoreModuleProvider.java | 7 +-
.../oap/server/core/alarm/AlarmEntrance.java | 4 +-
.../oap/server/core/alarm/AlarmModule.java | 6 +-
.../core/analysis/worker/IndicatorProcess.java | 2 +-
.../analysis/worker/IndicatorRemoteWorker.java | 2 +-
.../core/analysis/worker/PersistenceWorker.java | 2 +-
.../server/core/analysis/worker/RecordProcess.java | 2 +-
.../oap/server/core/cache/CacheUpdateTimer.java | 4 +-
.../server/core/cache/EndpointInventoryCache.java | 2 +-
.../core/cache/NetworkAddressInventoryCache.java | 2 +-
.../core/cache/ServiceInstanceInventoryCache.java | 2 +-
.../server/core/cache/ServiceInventoryCache.java | 2 +-
.../oap/server/core/cluster/ClusterModule.java | 6 +-
.../server/core/query/AggregationQueryService.java | 12 +--
.../oap/server/core/query/AlarmQueryService.java | 2 +-
.../server/core/query/MetadataQueryService.java | 6 +-
.../oap/server/core/query/MetricQueryService.java | 2 +-
.../oap/server/core/query/QueryModule.java | 4 +-
.../oap/server/core/query/TopologyBuilder.java | 4 +-
.../server/core/query/TopologyQueryService.java | 8 +-
.../oap/server/core/query/TraceQueryService.java | 10 +--
.../service/EndpointInventoryRegister.java | 2 +-
.../service/NetworkAddressInventoryRegister.java | 6 +-
.../service/ServiceInstanceInventoryRegister.java | 2 +-
.../register/service/ServiceInventoryRegister.java | 2 +-
.../core/register/worker/InventoryProcess.java | 2 +-
.../register/worker/RegisterPersistentWorker.java | 2 +-
.../core/register/worker/RegisterRemoteWorker.java | 2 +-
.../server/core/remote/RemoteSenderService.java | 2 +-
.../server/core/remote/RemoteServiceHandler.java | 2 +-
.../core/remote/client/RemoteClientManager.java | 4 +-
.../oap/server/core/storage/PersistenceTimer.java | 2 +-
.../oap/server/core/storage/StorageModule.java | 6 +-
.../server/core/storage/model/ModelInstaller.java | 4 +-
.../core/storage/ttl/DataTTLKeeperTimer.java | 8 +-
.../oap/server/library/module/BootstrapFlow.java | 9 +-
.../library/module/DuplicateProviderException.java | 3 +-
.../oap/server/library/module/ModuleDefine.java | 28 +++---
...viderException.java => ModuleDefineHolder.java} | 13 +--
.../oap/server/library/module/ModuleManager.java | 9 +-
.../oap/server/library/module/ModuleProvider.java | 43 ++++-----
...derException.java => ModuleProviderHolder.java} | 11 +--
.../library/module/ModuleServiceHolder.java} | 15 ++--
.../library/module/ProviderNotFoundException.java | 2 +-
.../module/ServiceNotProvidedException.java | 2 +-
.../oap/server/library/module/BaseModuleA.java | 7 +-
.../oap/server/library/module/BaseModuleB.java | 6 +-
.../server/library/module/ModuleManagerTest.java | 4 +-
.../oap/server/library/module/TestModule.java | 6 +-
.../oap/query/graphql/GraphQLQueryProvider.java | 2 +-
.../query/graphql/resolver/AggregationQuery.java | 2 +-
.../oap/query/graphql/resolver/AlarmQuery.java | 2 +-
.../oap/query/graphql/resolver/MetadataQuery.java | 2 +-
.../oap/query/graphql/resolver/MetricQuery.java | 2 +-
.../oap/query/graphql/resolver/TopologyQuery.java | 2 +-
.../oap/query/graphql/resolver/TraceQuery.java | 2 +-
.../module/IstioTelemetryReceiverModule.java | 6 +-
.../provider/IstioTelemetryReceiverProvider.java | 7 +-
.../oap/server/receiver/jvm/module/JVMModule.java | 6 +-
.../receiver/jvm/provider/JVMModuleProvider.java | 2 +-
.../provider/handler/JVMMetricsServiceHandler.java | 2 +-
.../server/receiver/mesh/CoreRegisterLinker.java | 6 +-
.../server/receiver/mesh/MeshReceiverModule.java | 4 +-
.../server/receiver/mesh/MeshReceiverProvider.java | 7 +-
.../receiver/mesh/TelemetryDataDispatcher.java | 10 +--
.../receiver/register/module/RegisterModule.java | 6 +-
.../register/provider/RegisterModuleProvider.java | 4 +-
.../v5/grpc/ApplicationRegisterHandler.java | 2 +-
.../v5/grpc/InstanceDiscoveryServiceHandler.java | 8 +-
.../grpc/NetworkAddressRegisterServiceHandler.java | 2 +-
.../v5/grpc/ServiceNameDiscoveryHandler.java | 2 +-
.../v5/rest/ApplicationRegisterServletHandler.java | 2 +-
.../v5/rest/InstanceDiscoveryServletHandler.java | 4 +-
.../v5/rest/InstanceHeartBeatServletHandler.java | 6 +-
.../rest/NetworkAddressRegisterServletHandler.java | 2 +-
.../rest/ServiceNameDiscoveryServiceHandler.java | 2 +-
.../server/receiver/trace/module/TraceModule.java | 8 +-
.../trace/provider/TraceModuleProvider.java | 18 ++--
.../listener/endpoint/MultiScopesSpanListener.java | 8 +-
.../listener/segment/SegmentSpanListener.java | 4 +-
.../service/ServiceMappingSpanListener.java | 4 +-
.../standardization/ReferenceIdExchanger.java | 6 +-
.../parser/standardization/SpanIdExchanger.java | 6 +-
.../server/receiver/zipkin/CoreRegisterLinker.java | 4 +-
.../receiver/zipkin/ZipkinReceiverModule.java | 10 +--
.../receiver/zipkin/ZipkinReceiverProvider.java | 2 +-
.../src/main/assembly/application.yml | 2 +
.../server-starter/src/main/assembly/log4j2.xml | 2 +-
.../oap/server/starter/OAPServerStartUp.java | 9 +-
.../src/main/resources/application.yml | 2 +
.../storage/plugin/jdbc/h2/H2StorageProvider.java | 5 +-
oap-server/server-testing/pom.xml | 40 +++++++++
.../testing/module/ModuleDefineTesting.java} | 16 ++--
.../testing/module/ModuleManagerTesting.java} | 21 +++--
.../testing/module/ModuleProviderTesting.java} | 22 +++--
.../testing/module/ModuleManagerTestCase.java | 54 +++++++++++
.../src/test/resources}/log4j2.xml | 25 ++----
118 files changed, 829 insertions(+), 391 deletions(-)
diff --cc oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java
index 8b84e18,887850e..aab0428
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java
@@@ -25,15 -24,12 +25,13 @@@ import org.apache.skywalking.oap.server
* @author peng-yongsheng
*/
public class TraceModule extends ModuleDefine {
+ public static final String NAME = "receiver-trace";
- @Override public String name() {
- return NAME;
+ public TraceModule() {
- super("receiver-trace");
++ super(NAME);
}
@Override public Class[] services() {
- return new Class[] {
- ISegmentParserService.class
- };
- return new Class[0];
++ return new Class[] {ISegmentParserService.class};
}
}
diff --cc oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
index 17b3795,de32457..462fbf2
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
@@@ -69,15 -63,10 +61,15 @@@ public class TraceModuleProvider extend
listenerManager.add(new ServiceMappingSpanListener.Factory());
listenerManager.add(new SegmentSpanListener.Factory());
+ segmentProducer = new SegmentParse.Producer(getManager(), listenerManager);
+ this.registerServiceImplementation(ISegmentParserService.class, new SegmentParserServiceImpl(segmentProducer));
+ }
+
+ @Override public void start() throws ModuleStartException {
- GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class);
- JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).getService(JettyHandlerRegister.class);
+ GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class);
+ JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(JettyHandlerRegister.class);
try {
- SegmentParse.Producer segmentProducer = new SegmentParse.Producer(getManager(), listenerManager);
+
grpcHandlerRegister.addHandler(new TraceSegmentServiceHandler(segmentProducer));
jettyHandlerRegister.addHandler(new TraceSegmentServletHandler(segmentProducer));
diff --cc oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/CoreRegisterLinker.java
index 4bbcea3,0000000..2459199
mode 100644,000000..100644
--- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/CoreRegisterLinker.java
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/CoreRegisterLinker.java
@@@ -1,48 -1,0 +1,48 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.zipkin;
+
+import org.apache.skywalking.oap.server.core.CoreModule;
+import org.apache.skywalking.oap.server.core.register.service.IServiceInstanceInventoryRegister;
+import org.apache.skywalking.oap.server.core.register.service.IServiceInventoryRegister;
+import org.apache.skywalking.oap.server.library.module.ModuleManager;
+
+public class CoreRegisterLinker {
+ private static volatile ModuleManager MODULE_MANAGER;
+ private static volatile IServiceInventoryRegister SERVICE_INVENTORY_REGISTER;
+ private static volatile IServiceInstanceInventoryRegister SERVICE_INSTANCE_INVENTORY_REGISTER;
+
+ public static void setModuleManager(ModuleManager moduleManager) {
+ CoreRegisterLinker.MODULE_MANAGER = moduleManager;
+ }
+
+ public static IServiceInventoryRegister getServiceInventoryRegister() {
+ if (SERVICE_INVENTORY_REGISTER == null) {
- SERVICE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).getService(IServiceInventoryRegister.class);
++ SERVICE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class);
+ }
+ return SERVICE_INVENTORY_REGISTER;
+ }
+
+ public static IServiceInstanceInventoryRegister getServiceInstanceInventoryRegister() {
+ if (SERVICE_INSTANCE_INVENTORY_REGISTER == null) {
- SERVICE_INSTANCE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class);
++ SERVICE_INSTANCE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class);
+ }
+ return SERVICE_INSTANCE_INVENTORY_REGISTER;
+ }
+}
diff --cc oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverModule.java
index c51f0a4,887850e..abf1f09
--- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverModule.java
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverModule.java
@@@ -21,19 -21,12 +21,19 @@@ package org.apache.skywalking.oap.serve
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
/**
- * @author peng-yongsheng
+ * Zipkin receiver module provides the HTTP, protoc serve for any SDK or agent by following Zipkin format.
+ *
- * At this moment, Zipkin format is not compatible with SkyWalking, especially HEADERs.
- * Please don't consider this as a Zipkin-SkyWalking integration,
- * it is provided for adding analysis, aggregation and visualization capabilities to zipkin backend.
++ * At this moment, Zipkin format is not compatible with SkyWalking, especially HEADERs. Please don't consider this as a
++ * Zipkin-SkyWalking integration, it is provided for adding analysis, aggregation and visualization capabilities to
++ * zipkin backend.
+ *
+ * @author wusheng
*/
-public class TraceModule extends ModuleDefine {
+public class ZipkinReceiverModule extends ModuleDefine {
+ public static final String NAME = "receiver_zipkin";
- @Override public String name() {
- return NAME;
- public TraceModule() {
- super("receiver-trace");
++ public ZipkinReceiverModule() {
++ super(NAME);
}
@Override public Class[] services() {
diff --cc oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
index c86af50,0000000..2eb2079
mode 100644,000000..100644
--- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
@@@ -1,87 -1,0 +1,87 @@@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ *
+ */
+
+package org.apache.skywalking.oap.server.receiver.zipkin;
+
+import org.apache.skywalking.oap.server.library.module.ModuleConfig;
+import org.apache.skywalking.oap.server.library.module.ModuleDefine;
+import org.apache.skywalking.oap.server.library.module.ModuleProvider;
+import org.apache.skywalking.oap.server.library.module.ModuleStartException;
+import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
+import org.apache.skywalking.oap.server.library.server.ServerException;
+import org.apache.skywalking.oap.server.library.server.jetty.JettyServer;
+import org.apache.skywalking.oap.server.receiver.trace.module.TraceModule;
+import org.apache.skywalking.oap.server.receiver.trace.provider.parser.ISegmentParserService;
+import org.apache.skywalking.oap.server.receiver.zipkin.handler.SpanV1JettyHandler;
+import org.apache.skywalking.oap.server.receiver.zipkin.handler.SpanV2JettyHandler;
+import org.apache.skywalking.oap.server.receiver.zipkin.transform.Zipkin2SkyWalkingTransfer;
+
+/**
+ * @author wusheng
+ */
+public class ZipkinReceiverProvider extends ModuleProvider {
+ public static final String NAME = "default";
+ private ZipkinReceiverConfig config;
+ private JettyServer jettyServer;
+
+ public ZipkinReceiverProvider() {
+ config = new ZipkinReceiverConfig();
+ }
+
+ @Override public String name() {
+ return NAME;
+ }
+
+ @Override public Class<? extends ModuleDefine> module() {
+ return ZipkinReceiverModule.class;
+ }
+
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
+ }
+
+ @Override public void prepare() throws ServiceNotProvidedException {
+
+ }
+
+ @Override public void start() throws ServiceNotProvidedException, ModuleStartException {
+ CoreRegisterLinker.setModuleManager(getManager());
+
+ jettyServer = new JettyServer(config.getHost(), config.getPort(), config.getContextPath());
+ jettyServer.initialize();
+
+ jettyServer.addHandler(new SpanV1JettyHandler(config));
+ jettyServer.addHandler(new SpanV2JettyHandler(config));
+
- ISegmentParserService segmentParseService = getManager().find(TraceModule.NAME).getService(ISegmentParserService.class);
++ ISegmentParserService segmentParseService = getManager().find(TraceModule.NAME).provider().getService(ISegmentParserService.class);
+ Receiver2AnalysisBridge bridge = new Receiver2AnalysisBridge(segmentParseService);
+ Zipkin2SkyWalkingTransfer.INSTANCE.addListener(bridge);
+ }
+
+ @Override public void notifyAfterCompleted() throws ModuleStartException {
+ try {
+ jettyServer.start();
+ } catch (ServerException e) {
+ throw new ModuleStartException(e.getMessage(), e);
+ }
+ }
+
+ @Override public String[] requiredModules() {
+ return new String[] {TraceModule.NAME};
+ }
+}