diff --git a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/DefaultProfilerConfig.java b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/DefaultProfilerConfig.java
index 0430056145cf..fe746937f473 100644
--- a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/DefaultProfilerConfig.java
+++ b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/DefaultProfilerConfig.java
@@ -47,7 +47,7 @@ public class DefaultProfilerConfig implements ProfilerConfig {
private final Properties properties;
- private static final TransportModule DEFAULT_TRANSPORT_MODULE = TransportModule.THRIFT;
+ private static final TransportModule DEFAULT_TRANSPORT_MODULE = TransportModule.GRPC;
@Value("${profiler.enable:true}")
private boolean profileEnable = false;
diff --git a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/TransportModule.java b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/TransportModule.java
index 8b809a768770..df99b45c59c5 100644
--- a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/TransportModule.java
+++ b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/config/TransportModule.java
@@ -22,24 +22,19 @@
* @author Woonduk Kang(emeroad)
*/
public enum TransportModule {
- THRIFT,
GRPC;
public static TransportModule parse(String transportModule) {
Objects.requireNonNull(transportModule, "transportModule");
- if (isEquals(THRIFT, transportModule)) {
- return THRIFT;
- }
- if (isEquals(GRPC, transportModule)) {
+ if (equalsIgnoreCase(TransportModule.GRPC.name(), transportModule)) {
return GRPC;
}
- return null;
+ return GRPC;
}
- private static boolean isEquals(TransportModule transportModule, String transportModuleString) {
- final String transportModuleName = transportModule.name();
- return transportModuleName.equalsIgnoreCase(transportModuleString);
+ private static boolean equalsIgnoreCase(String str1, String str2) {
+ return str1.equalsIgnoreCase(str2);
}
public static TransportModule parse(String transportModule, TransportModule defaultModule) {
diff --git a/bootstraps/bootstrap-core/src/test/java/com/navercorp/pinpoint/bootstrap/config/TransportModuleTest.java b/bootstraps/bootstrap-core/src/test/java/com/navercorp/pinpoint/bootstrap/config/TransportModuleTest.java
index 5458928e50d7..a304166ebd24 100644
--- a/bootstraps/bootstrap-core/src/test/java/com/navercorp/pinpoint/bootstrap/config/TransportModuleTest.java
+++ b/bootstraps/bootstrap-core/src/test/java/com/navercorp/pinpoint/bootstrap/config/TransportModuleTest.java
@@ -27,9 +27,8 @@ public class TransportModuleTest {
@Test
public void parse() {
Assertions.assertEquals(TransportModule.parse("GRPC"), TransportModule.GRPC);
- Assertions.assertEquals(TransportModule.parse("THRIFT"), TransportModule.THRIFT);
- Assertions.assertNull(TransportModule.parse("ERROR"));
+ Assertions.assertEquals(TransportModule.parse("ERROR"), TransportModule.GRPC);
}
@Test
diff --git a/bootstraps/bootstrap-java9/src/main/java/com/navercorp/pinpoint/bootstrap/java9/module/ModuleSupport.java b/bootstraps/bootstrap-java9/src/main/java/com/navercorp/pinpoint/bootstrap/java9/module/ModuleSupport.java
index a955d16f3f90..5cb4dca45949 100644
--- a/bootstraps/bootstrap-java9/src/main/java/com/navercorp/pinpoint/bootstrap/java9/module/ModuleSupport.java
+++ b/bootstraps/bootstrap-java9/src/main/java/com/navercorp/pinpoint/bootstrap/java9/module/ModuleSupport.java
@@ -81,7 +81,6 @@ private void addPermissionToValueAnnotation(JavaModule agentModule) {
agentModule.addOpens("com.navercorp.pinpoint.profiler.plugin.config", bootstrapModule);
agentModule.addOpens("com.navercorp.pinpoint.profiler.context.monitor.config", bootstrapModule);
- agentModule.addOpens("com.navercorp.pinpoint.profiler.context.thrift.config", bootstrapModule);
agentModule.addOpens("com.navercorp.pinpoint.profiler.context.grpc.config", bootstrapModule);
agentModule.addOpens("com.navercorp.pinpoint.grpc.client.config", bootstrapModule);
}
diff --git a/collector/pom.xml b/collector/pom.xml
index 77ee9191a8e2..1a07458bd33f 100644
--- a/collector/pom.xml
+++ b/collector/pom.xml
@@ -70,6 +70,10 @@
com.navercorp.pinpoint
pinpoint-thrift
+
+ com.navercorp.pinpoint
+ thrift-datasender
+
com.navercorp.pinpoint
pinpoint-grpc
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPoint.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPoint.java
index 2cb501b649fb..795155e65444 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPoint.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPoint.java
@@ -17,7 +17,7 @@
package com.navercorp.pinpoint.collector.cluster;
import com.navercorp.pinpoint.common.server.cluster.ClusterKey;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
+import com.navercorp.pinpoint.io.ResponseMessage;
import org.apache.thrift.TBase;
import java.util.concurrent.CompletableFuture;
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPointRepository.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPointRepository.java
index 7df962822230..d2803a0e9cf0 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPointRepository.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ClusterPointRepository.java
@@ -20,9 +20,8 @@
import com.navercorp.pinpoint.common.server.cluster.ClusterKey;
import com.navercorp.pinpoint.rpc.common.SocketStateCode;
import com.navercorp.pinpoint.rpc.server.PinpointServer;
-
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/GrpcAgentConnection.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/GrpcAgentConnection.java
index cd5a1294d626..06ab2177ab11 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/GrpcAgentConnection.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/GrpcAgentConnection.java
@@ -17,11 +17,11 @@
package com.navercorp.pinpoint.collector.cluster;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.collector.cluster.grpc.CommandThriftToGrpcMessageConverter;
import com.navercorp.pinpoint.collector.receiver.grpc.PinpointGrpcServer;
import com.navercorp.pinpoint.common.server.cluster.ClusterKey;
-import com.navercorp.pinpoint.profiler.context.grpc.CommandThriftToGrpcMessageConverter;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.rpc.PinpointSocketException;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
import com.navercorp.pinpoint.rpc.packet.stream.StreamCode;
import com.navercorp.pinpoint.rpc.stream.ClientStreamChannel;
import com.navercorp.pinpoint.rpc.stream.ClientStreamChannelEventHandler;
@@ -117,4 +117,4 @@ public String toString() {
return String.format("GrpcAgentConnection {clusterKey: %s}", pinpointGrpcServer.getClusterKey());
}
-}
+}
\ No newline at end of file
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ThriftAgentConnection.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ThriftAgentConnection.java
index f92f361c167f..156b70d05f71 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ThriftAgentConnection.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/ThriftAgentConnection.java
@@ -17,7 +17,7 @@
package com.navercorp.pinpoint.collector.cluster;
import com.navercorp.pinpoint.common.server.cluster.ClusterKey;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.rpc.server.ChannelProperties;
import com.navercorp.pinpoint.rpc.server.PinpointServer;
import com.navercorp.pinpoint.thrift.io.TCommandType;
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/FlinkClusterConnectionManager.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/FlinkClusterConnectionManager.java
index 272b9403697e..7ff9bee17d6e 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/FlinkClusterConnectionManager.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/FlinkClusterConnectionManager.java
@@ -19,11 +19,11 @@
import com.navercorp.pinpoint.collector.sender.FlinkRequestFactory;
import com.navercorp.pinpoint.collector.sender.FlinkTcpDataSender;
import com.navercorp.pinpoint.collector.util.Address;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
import com.navercorp.pinpoint.thrift.io.SerializerFactory;
+import com.navercorp.pinpoint.thrift.sender.TcpDataSender;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.thrift.TBase;
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/SenderContext.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/SenderContext.java
index cf975ae14539..ff80fc12e790 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/SenderContext.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/SenderContext.java
@@ -15,7 +15,7 @@
*/
package com.navercorp.pinpoint.collector.cluster.flink;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
+import com.navercorp.pinpoint.thrift.sender.TcpDataSender;
import org.apache.thrift.TBase;
import java.util.Objects;
diff --git a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/TcpDataSenderRepository.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/TcpDataSenderRepository.java
index 859915eb4125..bbac3e163936 100644
--- a/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/TcpDataSenderRepository.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/flink/TcpDataSenderRepository.java
@@ -17,7 +17,7 @@
import com.navercorp.pinpoint.collector.service.SendDataToFlinkService;
import com.navercorp.pinpoint.collector.util.Address;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
+import com.navercorp.pinpoint.thrift.sender.TcpDataSender;
import org.apache.thrift.TBase;
import java.util.ArrayList;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/CommandThriftToGrpcMessageConverter.java b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/grpc/CommandThriftToGrpcMessageConverter.java
similarity index 94%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/CommandThriftToGrpcMessageConverter.java
rename to collector/src/main/java/com/navercorp/pinpoint/collector/cluster/grpc/CommandThriftToGrpcMessageConverter.java
index 25031c4e9431..a766ec11e3bf 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/CommandThriftToGrpcMessageConverter.java
+++ b/collector/src/main/java/com/navercorp/pinpoint/collector/cluster/grpc/CommandThriftToGrpcMessageConverter.java
@@ -1,87 +1,86 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.grpc;
-
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadCount;
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadDump;
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadLightDump;
-import com.navercorp.pinpoint.grpc.trace.PCmdEcho;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadCount;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadDump;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadLightDump;
-import com.navercorp.pinpoint.thrift.dto.command.TCommandEcho;
-
-import com.google.protobuf.GeneratedMessageV3;
-
-/**
- * @author Taejin Koo
- */
-public class CommandThriftToGrpcMessageConverter implements MessageConverter
+
+ com.navercorp.pinpoint
+ thrift-datasender
+ ${project.version}
+
com.navercorp.pinpoint
pinpoint-profiler-logging
diff --git a/profiler-test/pom.xml b/profiler-test/pom.xml
index a3f5a9f050a8..4bab1c3407f5 100644
--- a/profiler-test/pom.xml
+++ b/profiler-test/pom.xml
@@ -43,16 +43,6 @@
-
- com.navercorp.pinpoint
- pinpoint-thrift
-
-
- org.apache.thrift
- libthrift
-
-
-
com.navercorp.pinpoint
pinpoint-bootstrap-core
@@ -61,10 +51,6 @@
com.navercorp.pinpoint
pinpoint-bootstrap
-
- com.navercorp.pinpoint
- pinpoint-rpc
-
org.apache.commons
@@ -90,31 +76,6 @@
asm-tree
-
-
- org.apache.thrift
- libthrift
-
-
- httpclient
- org.apache.httpcomponents
-
-
- httpcore
- org.apache.httpcomponents
-
-
- slf4j-api
- org.slf4j
-
-
- org.apache.commons
- commons-lang3
-
-
-
-
-
org.slf4j
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/ApplicationContextHandler.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/ApplicationContextHandler.java
index 8fbdbfb74991..d1b21802a3b3 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/ApplicationContextHandler.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/ApplicationContextHandler.java
@@ -19,6 +19,9 @@
import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.TypeLiteral;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.loader.service.AnnotationKeyRegistryService;
import com.navercorp.pinpoint.loader.service.ServiceTypeRegistryService;
import com.navercorp.pinpoint.profiler.context.ServerMetaDataRegistryService;
@@ -29,8 +32,6 @@
import com.navercorp.pinpoint.profiler.context.module.DefaultApplicationContext;
import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import java.util.ArrayList;
import java.util.List;
@@ -71,10 +72,10 @@ private OrderedSpanRecorder findRecorder(Injector injector) {
}
private TestTcpDataSender findTestTcpDataSender(Injector injector) {
- TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {
+ TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {
};
- Key> dataSenderKey = Key.get(dataSenderTypeLiteral);
- EnhancedDataSender dataSender = injector.getInstance(dataSenderKey);
+ Key> dataSenderKey = Key.get(dataSenderTypeLiteral);
+ EnhancedDataSender dataSender = injector.getInstance(dataSenderKey);
if (dataSender instanceof TestTcpDataSender) {
return (TestTcpDataSender) dataSender;
}
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/ListenableDataSender.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/ListenableDataSender.java
index 0fb82982d34e..2b2f0876e341 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/ListenableDataSender.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/ListenableDataSender.java
@@ -16,7 +16,7 @@
package com.navercorp.pinpoint.test;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
/**
* @author emeroad
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataService.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataService.java
index 7bbeb121705d..1f194d5f04ef 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataService.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataService.java
@@ -17,13 +17,14 @@
package com.navercorp.pinpoint.test;
import com.navercorp.pinpoint.bootstrap.context.MethodDescriptor;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
+import com.navercorp.pinpoint.profiler.cache.IdAllocator;
+import com.navercorp.pinpoint.profiler.cache.Result;
+import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaData;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.cache.Result;
-import com.navercorp.pinpoint.profiler.cache.IdAllocator;
-import com.navercorp.pinpoint.profiler.cache.SimpleCache;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import java.util.Objects;
@@ -34,9 +35,9 @@ public class MockApiMetaDataService implements ApiMetaDataService {
private final SimpleCache apiCache = new SimpleCache<>(new IdAllocator.ZigZagAllocator());
- private final EnhancedDataSender enhancedDataSender;
+ private final EnhancedDataSender enhancedDataSender;
- public MockApiMetaDataService(EnhancedDataSender enhancedDataSender) {
+ public MockApiMetaDataService(EnhancedDataSender enhancedDataSender) {
this.enhancedDataSender = Objects.requireNonNull(enhancedDataSender, "enhancedDataSender");
}
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataServiceProvider.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataServiceProvider.java
index 773375abb8e4..d1cc404e3b5b 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataServiceProvider.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockApiMetaDataServiceProvider.java
@@ -18,9 +18,10 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import java.util.Objects;
@@ -29,16 +30,16 @@
*/
public class MockApiMetaDataServiceProvider implements Provider {
- private final Provider> enhancedDataSenderProvider;
+ private final Provider> enhancedDataSenderProvider;
@Inject
- public MockApiMetaDataServiceProvider(Provider> enhancedDataSenderProvider) {
+ public MockApiMetaDataServiceProvider(Provider> enhancedDataSenderProvider) {
this.enhancedDataSenderProvider = Objects.requireNonNull(enhancedDataSenderProvider, "enhancedDataSenderProvider");
}
@Override
public ApiMetaDataService get() {
- final EnhancedDataSender enhancedDataSender = this.enhancedDataSenderProvider.get();
+ final EnhancedDataSender enhancedDataSender = this.enhancedDataSenderProvider.get();
return new MockApiMetaDataService(enhancedDataSender);
}
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockTraceContextFactory.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockTraceContextFactory.java
index 9ac179ab9964..0d92b3a5966e 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockTraceContextFactory.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/MockTraceContextFactory.java
@@ -16,21 +16,20 @@
package com.navercorp.pinpoint.test;
+import com.google.inject.AbstractModule;
+import com.google.inject.Module;
import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
import com.navercorp.pinpoint.bootstrap.interceptor.registry.InterceptorRegistryAdaptor;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.LoggingDataSender;
import com.navercorp.pinpoint.profiler.AgentInformation;
import com.navercorp.pinpoint.profiler.context.module.DefaultApplicationContext;
import com.navercorp.pinpoint.profiler.context.module.ModuleFactory;
import com.navercorp.pinpoint.profiler.context.storage.LogStorageFactory;
import com.navercorp.pinpoint.profiler.context.storage.StorageFactory;
import com.navercorp.pinpoint.profiler.interceptor.registry.InterceptorRegistryBinder;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.LoggingDataSender;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Module;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/OverrideModuleFactory.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/OverrideModuleFactory.java
index 731257a3c488..d9e9b26c598e 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/OverrideModuleFactory.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/OverrideModuleFactory.java
@@ -21,12 +21,13 @@
import com.navercorp.pinpoint.bootstrap.AgentOption;
import com.navercorp.pinpoint.bootstrap.config.DefaultProfilerConfig;
import com.navercorp.pinpoint.bootstrap.config.TransportModule;
-import java.util.Objects;
import com.navercorp.pinpoint.profiler.context.module.ApplicationContextModuleFactory;
import com.navercorp.pinpoint.profiler.context.module.ModuleFactory;
import com.navercorp.pinpoint.test.rpc.MockRpcModule;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.Objects;
/**
* @author Woonduk Kang(emeroad)
@@ -44,7 +45,7 @@ public OverrideModuleFactory(Module... overrideModule) {
public Module newModule(AgentOption agentOption) {
DefaultProfilerConfig profilerConfig = (DefaultProfilerConfig) agentOption.getProfilerConfig();
- profilerConfig.setTransportModule(TransportModule.THRIFT.name());
+ profilerConfig.setTransportModule(TransportModule.GRPC.name());
ModuleFactory moduleFactory = new ApplicationContextModuleFactory() {
@Override
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/PluginApplicationContextModule.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/PluginApplicationContextModule.java
index 901a3bde9511..0fe55f4979b3 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/PluginApplicationContextModule.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/PluginApplicationContextModule.java
@@ -20,7 +20,9 @@
import com.google.inject.Key;
import com.google.inject.Scopes;
import com.google.inject.TypeLiteral;
-import com.google.inject.util.Providers;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.DefaultServerMetaDataRegistryService;
import com.navercorp.pinpoint.profiler.context.ServerMetaDataRegistryService;
import com.navercorp.pinpoint.profiler.context.SpanType;
@@ -30,12 +32,9 @@
import com.navercorp.pinpoint.profiler.metadata.ApiMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import com.navercorp.pinpoint.profiler.util.RuntimeMXBeanUtils;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.List;
@@ -67,11 +66,9 @@ protected void configure() {
bind(StorageFactory.class).to(TestSpanStorageFactory.class);
- bind(PinpointClientFactory.class).toProvider(Providers.of(null));
-
- EnhancedDataSender enhancedDataSender = newTcpDataSender();
+ EnhancedDataSender enhancedDataSender = newTcpDataSender();
logger.debug("enhancedDataSender:{}", enhancedDataSender);
- TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {};
+ TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {};
bind(dataSenderTypeLiteral).toInstance(enhancedDataSender);
ServerMetaDataRegistryService serverMetaDataRegistryService = newServerMetaDataRegistryService();
@@ -92,7 +89,7 @@ private DataSender newUdpSpanDataSender() {
return sender;
}
- private EnhancedDataSender newTcpDataSender() {
+ private EnhancedDataSender newTcpDataSender() {
return new TestTcpDataSender();
}
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorder.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/Recorder.java
similarity index 96%
rename from profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorder.java
rename to profiler-test/src/main/java/com/navercorp/pinpoint/test/Recorder.java
index 7e31ace1032d..6664c1a86887 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorder.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/Recorder.java
@@ -23,7 +23,7 @@
/**
* @author hyungil.jeong
*/
-public class TBaseRecorder implements Iterable {
+public class Recorder implements Iterable {
private final Queue queue = new ConcurrentLinkedQueue();
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorderAdaptor.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/RecorderAdaptor.java
similarity index 69%
rename from profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorderAdaptor.java
rename to profiler-test/src/main/java/com/navercorp/pinpoint/test/RecorderAdaptor.java
index 74e728850b26..b6e501ff445d 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TBaseRecorderAdaptor.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/RecorderAdaptor.java
@@ -16,19 +16,17 @@
package com.navercorp.pinpoint.test;
+import java.util.Objects;
+
/**
* @author emeroad
*/
-public class TBaseRecorderAdaptor implements ListenableDataSender.Listener {
-
- private final TBaseRecorder recorder;
+public class RecorderAdaptor implements ListenableDataSender.Listener {
- public TBaseRecorderAdaptor() {
- this.recorder = new TBaseRecorder();
- }
+ private final Recorder recorder;
- public TBaseRecorderAdaptor(TBaseRecorder recorder) {
- this.recorder = recorder;
+ public RecorderAdaptor(Recorder recorder) {
+ this.recorder = Objects.requireNonNull(recorder, "recorder");
}
@Override
@@ -36,7 +34,7 @@ public boolean handleSend(T data) {
return recorder.add(data);
}
- public TBaseRecorder getRecorder() {
+ public Recorder getRecorder() {
return recorder;
}
}
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestSpanStorageFactory.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestSpanStorageFactory.java
index 5b339b68c1e9..c5245bc47ede 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestSpanStorageFactory.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestSpanStorageFactory.java
@@ -17,14 +17,15 @@
package com.navercorp.pinpoint.test;
import com.google.inject.Inject;
-import java.util.Objects;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.profiler.context.SpanChunkFactory;
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
import com.navercorp.pinpoint.profiler.context.storage.BufferedStorage;
import com.navercorp.pinpoint.profiler.context.storage.Storage;
import com.navercorp.pinpoint.profiler.context.storage.StorageFactory;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
+
+import java.util.Objects;
/**
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestTcpDataSender.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestTcpDataSender.java
index 3129cf0a4276..bddedd05ffe1 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestTcpDataSender.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/TestTcpDataSender.java
@@ -15,12 +15,12 @@
*/
package com.navercorp.pinpoint.test;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaData;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.metadata.SqlMetaData;
import com.navercorp.pinpoint.profiler.metadata.StringMetaData;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
import com.navercorp.pinpoint.test.util.BiHashMap;
import com.navercorp.pinpoint.test.util.Pair;
@@ -37,7 +37,7 @@
* @author Jongho Moon
* @author jaehong.kim
*/
-public class TestTcpDataSender implements EnhancedDataSender {
+public class TestTcpDataSender implements EnhancedDataSender {
private final List datas = Collections.synchronizedList(new ArrayList<>());
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/junit4/BasePinpointTest.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/junit4/BasePinpointTest.java
index 0e1d65cf218b..2d57965e38ae 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/junit4/BasePinpointTest.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/junit4/BasePinpointTest.java
@@ -16,22 +16,20 @@
package com.navercorp.pinpoint.test.junit4;
-import java.util.ArrayList;
-import java.util.List;
-
+import com.navercorp.pinpoint.bootstrap.context.ServerMetaData;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.profiler.context.ServerMetaDataRegistryService;
+import com.navercorp.pinpoint.profiler.context.Span;
import com.navercorp.pinpoint.profiler.context.SpanChunk;
+import com.navercorp.pinpoint.profiler.context.SpanEvent;
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.context.module.DefaultApplicationContext;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
import com.navercorp.pinpoint.test.ListenableDataSender;
-
+import com.navercorp.pinpoint.test.Recorder;
import org.junit.runner.RunWith;
-import com.navercorp.pinpoint.bootstrap.context.ServerMetaData;
-import com.navercorp.pinpoint.profiler.context.Span;
-import com.navercorp.pinpoint.profiler.context.SpanEvent;
-import com.navercorp.pinpoint.test.TBaseRecorder;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author hyungil.jeong
@@ -39,12 +37,12 @@
@RunWith(value = PinpointJUnit4ClassRunner.class)
public abstract class BasePinpointTest {
- private volatile TBaseRecorder tBaseRecorder;
+ private volatile Recorder recorder;
private volatile ServerMetaDataRegistryService serverMetaDataRegistryService;
protected List getCurrentSpanEvents() {
List spanEvents = new ArrayList<>();
- for (SpanType value : this.tBaseRecorder) {
+ for (SpanType value : this.recorder) {
if (value instanceof SpanChunk) {
final SpanChunk spanChunk = (SpanChunk) value;
for (SpanEvent tSpanEvent : spanChunk.getSpanEventList()) {
@@ -58,7 +56,7 @@ protected List getCurrentSpanEvents() {
protected List getCurrentRootSpans() {
List rootSpans = new ArrayList<>();
- for (Object value : this.tBaseRecorder) {
+ for (Object value : this.recorder) {
if (value instanceof Span) {
Span span = (Span) value;
rootSpans.add(span);
@@ -71,8 +69,8 @@ protected ServerMetaData getServerMetaData() {
return this.serverMetaDataRegistryService.getServerMetaData();
}
- private void setTBaseRecorder(TBaseRecorder tBaseRecorder) {
- this.tBaseRecorder = tBaseRecorder;
+ private void setTBaseRecorder(Recorder recorder) {
+ this.recorder = recorder;
}
private void setServerMetaDataRegistryService(ServerMetaDataRegistryService serverMetaDataRegistryService) {
@@ -86,7 +84,7 @@ public void setup(TestContext testContext) {
if (spanDataSender instanceof ListenableDataSender) {
ListenableDataSender listenableDataSender = (ListenableDataSender) spanDataSender;
- final TBaseRecorder tBaseRecord = new TBaseRecorder<>();
+ final Recorder tBaseRecord = new Recorder<>();
listenableDataSender.setListener(new ListenableDataSender.Listener() {
@Override
diff --git a/profiler-test/src/main/java/com/navercorp/pinpoint/test/rpc/MockRpcModule.java b/profiler-test/src/main/java/com/navercorp/pinpoint/test/rpc/MockRpcModule.java
index 83752f87a63f..c7ed09730825 100644
--- a/profiler-test/src/main/java/com/navercorp/pinpoint/test/rpc/MockRpcModule.java
+++ b/profiler-test/src/main/java/com/navercorp/pinpoint/test/rpc/MockRpcModule.java
@@ -21,24 +21,25 @@
import com.google.inject.Scopes;
import com.google.inject.TypeLiteral;
import com.google.inject.name.Names;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.SpanType;
+import com.navercorp.pinpoint.profiler.context.grpc.GrpcMessageToResultConverterProvider;
import com.navercorp.pinpoint.profiler.context.module.AgentDataSender;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
import com.navercorp.pinpoint.profiler.context.module.ModuleLifeCycle;
import com.navercorp.pinpoint.profiler.context.module.ResultConverter;
import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
import com.navercorp.pinpoint.profiler.context.module.StatDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftMessageToResultConverterProvider;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
import com.navercorp.pinpoint.test.ListenableDataSender;
import com.navercorp.pinpoint.test.TestTcpDataSender;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* @author Woonduk Kang(emeroad)
@@ -69,25 +70,25 @@ protected void configure() {
bind(statDataSenderKey).toInstance(statDataSender);
expose(statDataSenderKey);
- EnhancedDataSender enhancedDataSender = new TestTcpDataSender();
+ EnhancedDataSender enhancedDataSender = new TestTcpDataSender();
logger.debug("enhancedDataSender:{}", enhancedDataSender);
- TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {
+ TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {
};
bind(dataSenderTypeLiteral).toInstance(enhancedDataSender);
expose(dataSenderTypeLiteral);
- Key> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
+ Key> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
bind(agentDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
expose(agentDataSender);
- Key> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
+ Key> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
bind(metadataDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
expose(metadataDataSender);
TypeLiteral> resultMessageConverter = new TypeLiteral>() {};
Key> resultMessageConverterKey = Key.get(resultMessageConverter, ResultConverter.class);
- bind(resultMessageConverterKey).toProvider(ThriftMessageToResultConverterProvider.class ).in(Scopes.SINGLETON);
+ bind(resultMessageConverterKey).toProvider(GrpcMessageToResultConverterProvider.class).in(Scopes.SINGLETON);
expose(resultMessageConverterKey);
diff --git a/profiler-test/src/test/java/com/navercorp/pinpoint/test/monitor/AgentStatMonitorTest.java b/profiler-test/src/test/java/com/navercorp/pinpoint/test/monitor/AgentStatMonitorTest.java
index 6039ef2c0bdf..426041db416b 100644
--- a/profiler-test/src/test/java/com/navercorp/pinpoint/test/monitor/AgentStatMonitorTest.java
+++ b/profiler-test/src/test/java/com/navercorp/pinpoint/test/monitor/AgentStatMonitorTest.java
@@ -17,6 +17,7 @@
package com.navercorp.pinpoint.test.monitor;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.profiler.context.monitor.config.MonitorConfig;
import com.navercorp.pinpoint.profiler.monitor.AgentStatMonitor;
import com.navercorp.pinpoint.profiler.monitor.DefaultAgentStatMonitor;
@@ -24,10 +25,9 @@
import com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshotBatch;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
import com.navercorp.pinpoint.test.ListenableDataSender;
-import com.navercorp.pinpoint.test.TBaseRecorder;
-import com.navercorp.pinpoint.test.TBaseRecorderAdaptor;
+import com.navercorp.pinpoint.test.Recorder;
+import com.navercorp.pinpoint.test.RecorderAdaptor;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.BeforeEach;
@@ -48,7 +48,7 @@ public class AgentStatMonitorTest {
private final Logger logger = LogManager.getLogger(this.getClass());
- private TBaseRecorder tBaseRecorder;
+ private Recorder recorder;
private DataSender dataSender;
@Mock
@@ -58,8 +58,8 @@ public class AgentStatMonitorTest {
public void beforeEach() {
when(agentStatCollector.collect()).thenReturn(new AgentStatMetricSnapshot());
- this.tBaseRecorder = new TBaseRecorder<>();
- ListenableDataSender.Listener extends MetricType> recorderAdaptor = new TBaseRecorderAdaptor<>(tBaseRecorder);
+ this.recorder = new Recorder<>();
+ ListenableDataSender.Listener extends MetricType> recorderAdaptor = new RecorderAdaptor<>(recorder);
ListenableDataSender listenableDataSender = new ListenableDataSender<>("testDataSender");
listenableDataSender.setListener((ListenableDataSender.Listener) recorderAdaptor);
@@ -88,8 +88,8 @@ public void testAgentStatMonitor() throws InterruptedException {
Thread.sleep(totalTestDurationMs);
monitor.stop();
// Then
- assertTrue(tBaseRecorder.size() >= minNumBatchToTest);
- for (AgentStatMetricSnapshotBatch agentStatBatch : tBaseRecorder) {
+ assertTrue(recorder.size() >= minNumBatchToTest);
+ for (AgentStatMetricSnapshotBatch agentStatBatch : recorder) {
logger.debug("agentStatBatch:{}", agentStatBatch);
assertTrue(agentStatBatch.getAgentStats().size() <= numCollectionsPerBatch);
}
diff --git a/profiler-thrift-datasender/pom.xml b/profiler-thrift-datasender/pom.xml
new file mode 100644
index 000000000000..9c899cae4a07
--- /dev/null
+++ b/profiler-thrift-datasender/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+
+ com.navercorp.pinpoint
+ pinpoint
+ 2.6.0-SNAPSHOT
+
+
+ thrift-datasender
+ jar
+ pinpoint profiler thrift(deprecated)
+
+
+ 1.8
+ ${env.JAVA_8_HOME}
+
+
+
+
+ com.navercorp.pinpoint
+ pinpoint-annotations
+
+
+ com.navercorp.pinpoint
+ pinpoint-commons
+
+
+ com.navercorp.pinpoint
+ pinpoint-rpc
+
+
+ com.navercorp.pinpoint
+ pinpoint-grpc
+
+
+ com.navercorp.pinpoint
+ pinpoint-commons-profiler
+
+
+ com.navercorp.pinpoint
+ pinpoint-profiler
+
+
+ com.navercorp.pinpoint
+ pinpoint-thrift
+
+
+ org.apache.thrift
+ libthrift
+
+
+
+
+ org.apache.logging.log4j
+ log4j-slf4j-impl
+ compile
+
+
+ org.apache.logging.log4j
+ log4j-core
+ compile
+
+
+ org.apache.logging.log4j
+ log4j-api
+ compile
+
+
+
+ com.navercorp.pinpoint
+ pinpoint-rpc
+ ${project.version}
+ test-jar
+ test
+
+
+ com.navercorp.pinpoint
+ pinpoint-profiler-logging
+ test
+
+
+ com.navercorp.pinpoint
+ pinpoint-testcase
+ test
+
+
+ org.awaitility
+ awaitility
+ test
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ByteMessage.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ByteMessage.java
similarity index 96%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ByteMessage.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ByteMessage.java
index 4512b894dc4b..09e48a599bfc 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ByteMessage.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ByteMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import java.util.Objects;
diff --git a/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MaxBytesLengthPredicate.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MaxBytesLengthPredicate.java
new file mode 100644
index 000000000000..8d577295ccd4
--- /dev/null
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MaxBytesLengthPredicate.java
@@ -0,0 +1,33 @@
+package com.navercorp.pinpoint.thrift.sender;
+
+import org.apache.logging.log4j.Logger;
+
+import java.util.Objects;
+import java.util.function.BiPredicate;
+
+public class MaxBytesLengthPredicate implements BiPredicate {
+
+ private final Logger logger;
+ private final int maxPacketLength;
+
+ public MaxBytesLengthPredicate(Logger logger, int maxPacketLength) {
+ this.logger = Objects.requireNonNull(logger, "logger");
+ this.maxPacketLength = maxPacketLength;
+ }
+
+ @Override
+ public boolean test(byte[] bytes, M message) {
+ // do not copy bytes because it's single threaded
+ if (isLimit(bytes.length)) {
+ // When packet size is greater than UDP packet size limit, it's better to discard packet than let the socket API fails.
+ logger.info("discard packet. Caused:too large message. size:{}, {}", bytes.length, message);
+ return false;
+ }
+ return true;
+ }
+
+
+ private boolean isLimit(int interBufferSize) {
+ return interBufferSize > maxPacketLength;
+ }
+}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/MessageSerializer.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MessageSerializer.java
similarity index 93%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/MessageSerializer.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MessageSerializer.java
index 43742cfcc57b..25c799571740 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/MessageSerializer.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/MessageSerializer.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
/**
* @author Woonduk Kang(emeroad)
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/PortUnreachableHandler.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/PortUnreachableHandler.java
similarity index 93%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/PortUnreachableHandler.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/PortUnreachableHandler.java
index 84c2ff7fe8b3..6e7c133db763 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/PortUnreachableHandler.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/PortUnreachableHandler.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
/**
* @author Woonduk Kang(emeroad)
diff --git a/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ReconnectEventListenerRegistry.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ReconnectEventListenerRegistry.java
new file mode 100644
index 000000000000..962d49dd47ed
--- /dev/null
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ReconnectEventListenerRegistry.java
@@ -0,0 +1,7 @@
+package com.navercorp.pinpoint.thrift.sender;
+
+import java.util.function.Consumer;
+
+public interface ReconnectEventListenerRegistry {
+ boolean addEventListener(Consumer eventListener);
+}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategy.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategy.java
similarity index 98%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategy.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategy.java
index 84f59ac7f50d..224403b58cec 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategy.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategy.java
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.common.annotations.VisibleForTesting;
-import java.util.Objects;
import com.navercorp.pinpoint.rpc.client.SocketAddressProvider;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.net.InetSocketAddress;
+import java.util.Objects;
import java.util.concurrent.TimeUnit;
/**
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessage.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessage.java
similarity index 76%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessage.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessage.java
index e85921edbb31..9fe0b31e6d62 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessage.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessage.java
@@ -14,21 +14,19 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
-
-import com.navercorp.pinpoint.rpc.ResponseMessage;
+package com.navercorp.pinpoint.thrift.sender;
import java.util.function.BiConsumer;
/**
* @author Woonduk Kang(emeroad)
*/
-public interface RequestMessage {
+public interface RequestMessage {
- M getMessage();
+ REQ getMessage();
int getRetryCount();
- BiConsumer getFutureListener();
+ BiConsumer getFutureListener();
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessageFactory.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessageFactory.java
similarity index 69%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessageFactory.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessageFactory.java
index 5fbf36df0143..514574ee1b45 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RequestMessageFactory.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RequestMessageFactory.java
@@ -14,11 +14,9 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
-
import java.util.function.BiConsumer;
/**
@@ -29,11 +27,11 @@ public final class RequestMessageFactory {
private RequestMessageFactory() {
}
- public static RequestMessage request(T message, int retryCount) {
- return new RetryRequestMessage<>(message, retryCount, null);
+ public static RequestMessage request(T message, int retryCount) {
+ return new RetryRequestMessage<>(message, retryCount);
}
- public static RequestMessage request(T message, int retryCount, BiConsumer futureListener) {
+ public static RequestMessage request(T message, int retryCount, BiConsumer futureListener) {
return new RetryRequestMessage<>(message, retryCount, futureListener);
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryMessage.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryMessage.java
similarity index 98%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryMessage.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryMessage.java
index 62a7c328cb85..fa9fadb07676 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryMessage.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.common.util.ArrayUtils;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryQueue.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryQueue.java
similarity index 98%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryQueue.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryQueue.java
index c1d01bafabf9..bbfbc09472ff 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryQueue.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryQueue.java
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Objects;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
/**
* @author emeroad
*/
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryRequestMessage.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryRequestMessage.java
similarity index 54%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryRequestMessage.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryRequestMessage.java
index 73a9ff73d120..675586a8d5fe 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/RetryRequestMessage.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/RetryRequestMessage.java
@@ -14,30 +14,35 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
-
-import com.navercorp.pinpoint.rpc.ResponseMessage;
+package com.navercorp.pinpoint.thrift.sender;
+import java.util.Objects;
import java.util.function.BiConsumer;
/**
* @author Woonduk Kang(emeroad)
*/
-class RetryRequestMessage implements RequestMessage {
- private final T message;
+class RetryRequestMessage implements RequestMessage {
+ private final REQ message;
private final int retryCount;
- private final BiConsumer futureListener;
+ private final BiConsumer futureListener;
+
+ RetryRequestMessage(REQ message, int retryCount) {
+ this.message = Objects.requireNonNull(message, "message");
+ this.retryCount = retryCount;
+ this.futureListener = null;
+ }
- RetryRequestMessage(T message, int retryCount, BiConsumer futureListener) {
- this.message = message;
+ RetryRequestMessage(REQ message, int retryCount, BiConsumer futureListener) {
+ this.message = Objects.requireNonNull(message, "message");
this.retryCount = retryCount;
- this.futureListener = futureListener;
+ this.futureListener = Objects.requireNonNull(futureListener, "futureListener");
}
@Override
- public T getMessage() {
+ public REQ getMessage() {
return message;
}
@@ -47,7 +52,7 @@ public int getRetryCount() {
}
@Override
- public BiConsumer getFutureListener() {
+ public BiConsumer getFutureListener() {
return futureListener;
}
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/TcpDataSender.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/TcpDataSender.java
similarity index 90%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/TcpDataSender.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/TcpDataSender.java
index fb75170117d4..34316d55565f 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/TcpDataSender.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/TcpDataSender.java
@@ -14,15 +14,17 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
+import com.navercorp.pinpoint.common.profiler.concurrent.executor.AsyncQueueingExecutor;
+import com.navercorp.pinpoint.common.profiler.message.BypassMessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.common.util.Assert;
import com.navercorp.pinpoint.common.util.StringUtils;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.io.request.Message;
-import com.navercorp.pinpoint.profiler.context.thrift.BypassMessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
import com.navercorp.pinpoint.rpc.client.PinpointClient;
import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
import com.navercorp.pinpoint.rpc.util.ClientFactoryUtils;
@@ -46,14 +48,13 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.BiConsumer;
-import java.util.function.Consumer;
/**
* @author emeroad
* @author koo.taejin
* @author netspider
*/
-public class TcpDataSender implements EnhancedDataSender, ReconnectEventListenerRegistry {
+public class TcpDataSender implements EnhancedDataSender, ReconnectEventListenerRegistry {
private static final int DEFAULT_QUEUE_SIZE = 1024 * 5;
@@ -116,14 +117,7 @@ private TcpDataSender(String name, ClientFactoryUtils.PinpointClientProvider cli
}
private AsyncQueueingExecutor createAsyncQueueingExecutor(int queueSize, String executorName) {
- AsyncQueueingExecutorListener listener = new DefaultAsyncQueueingExecutorListener() {
- @Override
- public void execute(Object message) {
- TcpDataSender.this.sendPacket(message);
- }
- };
- final AsyncQueueingExecutor executor = new AsyncQueueingExecutor<>(queueSize, executorName, listener);
- return executor;
+ return new AsyncQueueingExecutor<>(queueSize, executorName, this::sendPacket);
}
private Logger newLogger(String name) {
@@ -170,13 +164,13 @@ public boolean request(T data) {
@Override
public boolean request(T data, int retryCount) {
- final RequestMessage> message = RequestMessageFactory.request(data, retryCount);
+ final RequestMessage message = RequestMessageFactory.request(data, retryCount);
return executor.execute(message);
}
@Override
public boolean request(T data, BiConsumer listener) {
- final RequestMessage message = RequestMessageFactory.request(data, 3, listener);
+ final RequestMessage message = RequestMessageFactory.request(data, 3, listener);
return executor.execute(message);
}
@@ -185,7 +179,7 @@ public boolean isConnected() {
}
@Override
- public boolean addEventListener(Consumer eventListener) {
+ public boolean addEventListener(java.util.function.Consumer eventListener) {
return this.client.addPinpointClientReconnectEventListener(eventListener);
}
@@ -206,8 +200,8 @@ public void stop() {
protected void sendPacket(Object message) {
try {
- if (message instanceof RequestMessage>) {
- final RequestMessage requestMessage = (RequestMessage) message;
+ if (message instanceof RequestMessage, ?>) {
+ final RequestMessage requestMessage = (RequestMessage) message;
if (doRequest(requestMessage)) {
return;
}
@@ -224,7 +218,7 @@ protected void sendPacket(Object message) {
}
}
- private boolean doRequest(RequestMessage requestMessage) {
+ private boolean doRequest(RequestMessage requestMessage) {
final T message = requestMessage.getMessage();
final byte[] copy = messageSerializer.serializer(message);
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ThriftMessageSerializer.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftMessageSerializer.java
similarity index 60%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ThriftMessageSerializer.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftMessageSerializer.java
index 0b383c8a2e93..ec91fccfd591 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/ThriftMessageSerializer.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftMessageSerializer.java
@@ -14,16 +14,18 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
-import java.util.Objects;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializerFactory;
import com.navercorp.pinpoint.thrift.io.TBaseSerializer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.thrift.TBase;
import org.apache.thrift.TException;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
+
+import java.util.Objects;
+import java.util.function.BiPredicate;
/**
* @author Woonduk Kang(emeroad)
@@ -38,6 +40,8 @@ public class ThriftMessageSerializer implements MessageSerializer
private final TBaseSerializer serializer;
private final MessageConverter> messageConverter;
+ private final BiPredicate> filter;
+
public ThriftMessageSerializer(MessageConverter> messageConverter) {
this(messageConverter, HeaderTBaseSerializerFactory.DEFAULT_FACTORY.createSerializer());
}
@@ -45,31 +49,47 @@ public ThriftMessageSerializer(MessageConverter> messageConverter
public ThriftMessageSerializer(MessageConverter> messageConverter, TBaseSerializer serializer) {
this.messageConverter = Objects.requireNonNull(messageConverter, "messageConverter");
this.serializer = Objects.requireNonNull(serializer, "serializer");
+ this.filter = null;
+ }
+ public ThriftMessageSerializer(MessageConverter> messageConverter, TBaseSerializer serializer, BiPredicate> filter) {
+ this.messageConverter = Objects.requireNonNull(messageConverter, "messageConverter");
+ this.serializer = Objects.requireNonNull(serializer, "serializer");
+ this.filter = filter;
}
// single thread only
@Override
public byte[] serializer(T message) {
- if (message instanceof TBase, ?>) {
- final TBase, ?> tBase = (TBase, ?>) message;
- return serialize(serializer, tBase);
+ if (message == null) {
+ return null;
+ }
+ final TBase, ?> tBase = toTBase(message);
+ if (tBase == null) {
+ return null;
}
+ return serialize(tBase);
+ }
- final TBase, ?> tBase = messageConverter.toMessage(message);
- if (tBase != null) {
- return serialize(serializer, tBase);
+ public TBase, ?> toTBase(T message) {
+ if (message instanceof TBase, ?>) {
+ return (TBase, ?>) message;
}
- return null;
+ return messageConverter.toMessage(message);
}
- private byte[] serialize(TBaseSerializer serializer, TBase, ?> tBase) {
+ public byte[] serialize(TBase, ?> tBase) {
try {
- return serializer.serialize(tBase);
- } catch (TException e) {
- if (logger.isWarnEnabled()) {
- logger.warn("Serialize {} failed. Error:{}", tBase, e.getMessage(), e);
+ final byte[] bytes = serializer.serialize(tBase);
+ if (filter == null) {
+ return bytes;
}
+ if (filter.test(bytes, tBase)) {
+ return bytes;
+ }
+ return null;
+ } catch (TException e) {
+ logger.warn("Serialize {} failed. Error:{}", tBase, e.getMessage(), e);
}
return null;
}
diff --git a/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftUdpMessageSerializer.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftUdpMessageSerializer.java
new file mode 100644
index 000000000000..8cc9c69f68cf
--- /dev/null
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/ThriftUdpMessageSerializer.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2018 NAVER Corp.
+ *
+ * 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.
+ */
+
+package com.navercorp.pinpoint.thrift.sender;
+
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.thrift.TBase;
+
+import java.util.function.BiPredicate;
+
+
+/**
+ * not thread safe
+ * @author Woonduk Kang(emeroad)
+ */
+public class ThriftUdpMessageSerializer implements MessageSerializer {
+
+ public static final int UDP_MAX_PACKET_LENGTH = 65507;
+
+ private final Logger logger = LogManager.getLogger(this.getClass());
+
+ // Caution. not thread safe
+ private final MessageSerializer messageSerializer;
+
+ private final BiPredicate> filter;
+
+ public ThriftUdpMessageSerializer(MessageConverter> messageConverter, HeaderTBaseSerializer serializer) {
+ this.filter = new MaxBytesLengthPredicate<>(logger, ThriftUdpMessageSerializer.UDP_MAX_PACKET_LENGTH);
+ this.messageSerializer = new ThriftMessageSerializer<>(messageConverter, serializer, filter);
+ }
+
+ public ThriftUdpMessageSerializer(MessageConverter> messageConverter, HeaderTBaseSerializer serializer,
+ BiPredicate> filter) {
+ this.filter = filter;
+ this.messageSerializer = new ThriftMessageSerializer<>(messageConverter, serializer, filter);
+ }
+
+ // single thread only
+ @Override
+ public ByteMessage serializer(T message) {
+ if (message == null) {
+ return null;
+ }
+ byte[] bytes = messageSerializer.serializer(message);
+ if (bytes == null) {
+ return null;
+ }
+
+ return ByteMessage.wrap(bytes);
+ }
+}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSender.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSender.java
similarity index 92%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSender.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSender.java
index 96d9a6498961..9cc547dd1e11 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSender.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSender.java
@@ -14,16 +14,16 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.common.plugin.util.HostAndPort;
-import java.util.Objects;
-
+import com.navercorp.pinpoint.common.profiler.concurrent.executor.AsyncQueueingExecutor;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.common.util.Assert;
import com.navercorp.pinpoint.rpc.client.DnsSocketAddressProvider;
import com.navercorp.pinpoint.rpc.client.SocketAddressProvider;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.net.DatagramPacket;
@@ -31,6 +31,7 @@
import java.net.InetSocketAddress;
import java.net.PortUnreachableException;
import java.net.SocketException;
+import java.util.Objects;
/**
* @author netspider
@@ -85,14 +86,7 @@ public boolean send(T data) {
}
private AsyncQueueingExecutor createAsyncQueueingExecutor(int queueSize, String executorName) {
- AsyncQueueingExecutorListener listener = new DefaultAsyncQueueingExecutorListener() {
- @Override
- public void execute(T message) {
- UdpDataSender.this.sendPacket(message);
- }
- };
- final AsyncQueueingExecutor executor = new AsyncQueueingExecutor<>(queueSize, executorName, listener);
- return executor;
+ return new AsyncQueueingExecutor<>(queueSize, executorName, this::sendPacket);
}
@Override
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderFactory.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderFactory.java
similarity index 85%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderFactory.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderFactory.java
index 9892dabfc2ed..f73ec1e6dd75 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderFactory.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderFactory.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
-import java.util.Objects;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializerFactory;
import com.navercorp.pinpoint.thrift.io.SerializerFactory;
@@ -25,6 +25,8 @@
import org.apache.logging.log4j.Logger;
import org.apache.thrift.TBase;
+import java.util.Objects;
+
/**
* @author Taejin Koo
*/
@@ -52,15 +54,7 @@ public UdpDataSenderFactory(String host, int port, String threadName, int queueS
this.messageConverter = Objects.requireNonNull(messageConverter, "messageConverter");
}
- public DataSender create(String typeName) {
- return create(UdpDataSenderType.valueOf(typeName));
- }
-
- public DataSender create(UdpDataSenderType type) {
- if (type == UdpDataSenderType.NIO) {
- logger.warn("NIO UdpDataSenderType is deprecated");
- }
-
+ public DataSender create() {
SerializerFactory serializerFactory = new HeaderTBaseSerializerFactory(
ThriftUdpMessageSerializer.UDP_MAX_PACKET_LENGTH,
HeaderTBaseSerializerFactory.DEFAULT_TBASE_LOCATOR);
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpSocketAddressProvider.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpSocketAddressProvider.java
similarity index 94%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpSocketAddressProvider.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpSocketAddressProvider.java
index a81ba1ddf4f3..f1dee5bf5cca 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/UdpSocketAddressProvider.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/UdpSocketAddressProvider.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.rpc.client.SocketAddressProvider;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/WriteFailFutureListener.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/WriteFailFutureListener.java
similarity index 96%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/WriteFailFutureListener.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/WriteFailFutureListener.java
index acc6715885e3..ba74406279c5 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/sender/WriteFailFutureListener.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/WriteFailFutureListener.java
@@ -13,8 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import org.apache.logging.log4j.Logger;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/CommandGrpcToThriftMessageConverter.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/CommandGrpcToThriftMessageConverter.java
similarity index 97%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/CommandGrpcToThriftMessageConverter.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/CommandGrpcToThriftMessageConverter.java
index a6b69824e25b..ef16943605cb 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/CommandGrpcToThriftMessageConverter.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/CommandGrpcToThriftMessageConverter.java
@@ -1,176 +1,177 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.thrift;
-
-import com.navercorp.pinpoint.grpc.trace.PActiveThreadDump;
-import com.navercorp.pinpoint.grpc.trace.PActiveThreadLightDump;
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadCountRes;
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadDumpRes;
-import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadLightDumpRes;
-import com.navercorp.pinpoint.grpc.trace.PCmdEchoResponse;
-import com.navercorp.pinpoint.grpc.trace.PMonitorInfo;
-import com.navercorp.pinpoint.grpc.trace.PThreadDump;
-import com.navercorp.pinpoint.grpc.trace.PThreadLightDump;
-import com.navercorp.pinpoint.thrift.dto.command.TActiveThreadDump;
-import com.navercorp.pinpoint.thrift.dto.command.TActiveThreadLightDump;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadCountRes;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadDumpRes;
-import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadLightDumpRes;
-import com.navercorp.pinpoint.thrift.dto.command.TCommandEcho;
-import com.navercorp.pinpoint.thrift.dto.command.TMonitorInfo;
-import com.navercorp.pinpoint.thrift.dto.command.TThreadDump;
-import com.navercorp.pinpoint.thrift.dto.command.TThreadLightDump;
-import com.navercorp.pinpoint.thrift.dto.command.TThreadState;
-import org.apache.thrift.TBase;
-
-import java.util.List;
-
-/**
- * @author Taejin Koo
- */
-public class CommandGrpcToThriftMessageConverter implements MessageConverter> {
-
- @Override
- public TBase, ?> toMessage(Object message) {
- if (message instanceof PCmdEchoResponse) {
- return buildTCommandEcho((PCmdEchoResponse) message);
- } else if (message instanceof PCmdActiveThreadCountRes) {
- return buildTCmdActiveThreadCountRes((PCmdActiveThreadCountRes) message);
- } else if (message instanceof PCmdActiveThreadDumpRes) {
- return buildTCmdActiveThreadDumpRes((PCmdActiveThreadDumpRes) message);
- } else if (message instanceof PCmdActiveThreadLightDumpRes) {
- return buildTCmdActiveThreadLightDumpRes((PCmdActiveThreadLightDumpRes) message);
- }
- return null;
- }
-
- private TCommandEcho buildTCommandEcho(PCmdEchoResponse echoMessage) {
- String message = echoMessage.getMessage();
- return new TCommandEcho(message);
- }
-
- private TCmdActiveThreadCountRes buildTCmdActiveThreadCountRes(PCmdActiveThreadCountRes activeThreadCountRes) {
- int histogramSchemaType = activeThreadCountRes.getHistogramSchemaType();
- List activeThreadCountList = activeThreadCountRes.getActiveThreadCountList();
- long timeStamp = activeThreadCountRes.getTimeStamp();
-
- TCmdActiveThreadCountRes result = new TCmdActiveThreadCountRes(histogramSchemaType, activeThreadCountList);
- result.setTimeStamp(timeStamp);
-
- return result;
- }
-
- private TCmdActiveThreadDumpRes buildTCmdActiveThreadDumpRes(PCmdActiveThreadDumpRes pCmdActiveThreadDumpRes) {
- TCmdActiveThreadDumpRes tCmdActiveThreadDumpRes = new TCmdActiveThreadDumpRes();
- tCmdActiveThreadDumpRes.setVersion(pCmdActiveThreadDumpRes.getVersion());
- tCmdActiveThreadDumpRes.setType(pCmdActiveThreadDumpRes.getType());
- tCmdActiveThreadDumpRes.setSubType(pCmdActiveThreadDumpRes.getSubType());
-
- for (PActiveThreadDump pActiveThreadDump : pCmdActiveThreadDumpRes.getThreadDumpList()) {
- tCmdActiveThreadDumpRes.addToThreadDumps(buildTActiveThreadDump(pActiveThreadDump));
- }
-
- return tCmdActiveThreadDumpRes;
- }
-
- private TActiveThreadDump buildTActiveThreadDump(PActiveThreadDump pActiveThreadDump) {
- TActiveThreadDump tActiveThreadDump = new TActiveThreadDump();
- tActiveThreadDump.setStartTime(pActiveThreadDump.getStartTime());
- tActiveThreadDump.setSampled(pActiveThreadDump.getSampled());
-
- if (pActiveThreadDump.getSampled()) {
- tActiveThreadDump.setLocalTraceId(pActiveThreadDump.getLocalTraceId());
- tActiveThreadDump.setTransactionId(pActiveThreadDump.getTransactionId());
- tActiveThreadDump.setEntryPoint(pActiveThreadDump.getEntryPoint());
- }
-
- tActiveThreadDump.setThreadDump(buildTThreadDump(pActiveThreadDump.getThreadDump()));
- return tActiveThreadDump;
- }
-
- private TThreadDump buildTThreadDump(PThreadDump pThreadDump) {
- TThreadDump tThreadDump = new TThreadDump();
- tThreadDump.setThreadName(pThreadDump.getThreadName());
- tThreadDump.setThreadId(pThreadDump.getThreadId());
- tThreadDump.setBlockedTime(pThreadDump.getBlockedTime());
- tThreadDump.setBlockedCount(pThreadDump.getBlockedCount());
- tThreadDump.setWaitedTime(pThreadDump.getWaitedTime());
- tThreadDump.setWaitedCount(pThreadDump.getWaitedCount());
-
- tThreadDump.setInNative(pThreadDump.getInNative());
- tThreadDump.setSuspended(pThreadDump.getSuspended());
- tThreadDump.setThreadState(TThreadState.findByValue(pThreadDump.getThreadStateValue()));
-
- for (String stackTrace : pThreadDump.getStackTraceList()) {
- tThreadDump.addToStackTrace(stackTrace);
- }
-
- for (PMonitorInfo pMonitorInfo : pThreadDump.getLockedMonitorList()) {
- final TMonitorInfo tMonitorInfo = new TMonitorInfo();
- tMonitorInfo.setStackDepth(pMonitorInfo.getStackDepth());
- tMonitorInfo.setStackFrame(pMonitorInfo.getStackFrame());
- tThreadDump.addToLockedMonitors(tMonitorInfo);
- }
-
-
- tThreadDump.setLockName(pThreadDump.getLockName());
- tThreadDump.setLockOwnerId(pThreadDump.getLockOwnerId());
- tThreadDump.setLockOwnerName(pThreadDump.getLockOwnerName());
- for (String lockedSynchronizer : pThreadDump.getLockedSynchronizerList()) {
- tThreadDump.addToLockedSynchronizers(lockedSynchronizer);
- }
-
- return tThreadDump;
- }
-
- private TCmdActiveThreadLightDumpRes buildTCmdActiveThreadLightDumpRes(PCmdActiveThreadLightDumpRes pCmdActiveThreadLightDumpRes) {
- TCmdActiveThreadLightDumpRes tCmdActiveThreadLightDumpRes = new TCmdActiveThreadLightDumpRes();
- tCmdActiveThreadLightDumpRes.setVersion(pCmdActiveThreadLightDumpRes.getVersion());
- tCmdActiveThreadLightDumpRes.setType(pCmdActiveThreadLightDumpRes.getType());
- tCmdActiveThreadLightDumpRes.setSubType(pCmdActiveThreadLightDumpRes.getSubType());
-
- for (PActiveThreadLightDump pActiveThreadLightDump : pCmdActiveThreadLightDumpRes.getThreadDumpList()) {
- tCmdActiveThreadLightDumpRes.addToThreadDumps(buildTActiveThreadLightDump(pActiveThreadLightDump));
- }
-
- return tCmdActiveThreadLightDumpRes;
- }
-
- private TActiveThreadLightDump buildTActiveThreadLightDump(PActiveThreadLightDump pActiveThreadLightDump) {
- TActiveThreadLightDump tActiveThreadLightDump = new TActiveThreadLightDump();
- tActiveThreadLightDump.setStartTime(pActiveThreadLightDump.getStartTime());
- tActiveThreadLightDump.setSampled(pActiveThreadLightDump.getSampled());
-
- if (pActiveThreadLightDump.getSampled()) {
- tActiveThreadLightDump.setLocalTraceId(pActiveThreadLightDump.getLocalTraceId());
- tActiveThreadLightDump.setTransactionId(pActiveThreadLightDump.getTransactionId());
- tActiveThreadLightDump.setEntryPoint(pActiveThreadLightDump.getEntryPoint());
- }
-
- tActiveThreadLightDump.setThreadDump(buildTThreadLightDump(pActiveThreadLightDump.getThreadDump()));
- return tActiveThreadLightDump;
- }
-
- private TThreadLightDump buildTThreadLightDump(PThreadLightDump pThreadDump) {
- TThreadLightDump tThreadLightDump = new TThreadLightDump();
- tThreadLightDump.setThreadId(pThreadDump.getThreadId());
- tThreadLightDump.setThreadName(pThreadDump.getThreadName());
- tThreadLightDump.setThreadState(TThreadState.findByValue(pThreadDump.getThreadStateValue()));
- return tThreadLightDump;
- }
-
-}
+/*
+ * Copyright 2019 NAVER Corp.
+ *
+ * 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.
+ */
+
+package com.navercorp.pinpoint.thrift.sender.message;
+
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.grpc.trace.PActiveThreadDump;
+import com.navercorp.pinpoint.grpc.trace.PActiveThreadLightDump;
+import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadCountRes;
+import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadDumpRes;
+import com.navercorp.pinpoint.grpc.trace.PCmdActiveThreadLightDumpRes;
+import com.navercorp.pinpoint.grpc.trace.PCmdEchoResponse;
+import com.navercorp.pinpoint.grpc.trace.PMonitorInfo;
+import com.navercorp.pinpoint.grpc.trace.PThreadDump;
+import com.navercorp.pinpoint.grpc.trace.PThreadLightDump;
+import com.navercorp.pinpoint.thrift.dto.command.TActiveThreadDump;
+import com.navercorp.pinpoint.thrift.dto.command.TActiveThreadLightDump;
+import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadCountRes;
+import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadDumpRes;
+import com.navercorp.pinpoint.thrift.dto.command.TCmdActiveThreadLightDumpRes;
+import com.navercorp.pinpoint.thrift.dto.command.TCommandEcho;
+import com.navercorp.pinpoint.thrift.dto.command.TMonitorInfo;
+import com.navercorp.pinpoint.thrift.dto.command.TThreadDump;
+import com.navercorp.pinpoint.thrift.dto.command.TThreadLightDump;
+import com.navercorp.pinpoint.thrift.dto.command.TThreadState;
+import org.apache.thrift.TBase;
+
+import java.util.List;
+
+/**
+ * @author Taejin Koo
+ */
+public class CommandGrpcToThriftMessageConverter implements MessageConverter> {
+
+ @Override
+ public TBase, ?> toMessage(Object message) {
+ if (message instanceof PCmdEchoResponse) {
+ return buildTCommandEcho((PCmdEchoResponse) message);
+ } else if (message instanceof PCmdActiveThreadCountRes) {
+ return buildTCmdActiveThreadCountRes((PCmdActiveThreadCountRes) message);
+ } else if (message instanceof PCmdActiveThreadDumpRes) {
+ return buildTCmdActiveThreadDumpRes((PCmdActiveThreadDumpRes) message);
+ } else if (message instanceof PCmdActiveThreadLightDumpRes) {
+ return buildTCmdActiveThreadLightDumpRes((PCmdActiveThreadLightDumpRes) message);
+ }
+ return null;
+ }
+
+ private TCommandEcho buildTCommandEcho(PCmdEchoResponse echoMessage) {
+ String message = echoMessage.getMessage();
+ return new TCommandEcho(message);
+ }
+
+ private TCmdActiveThreadCountRes buildTCmdActiveThreadCountRes(PCmdActiveThreadCountRes activeThreadCountRes) {
+ int histogramSchemaType = activeThreadCountRes.getHistogramSchemaType();
+ List activeThreadCountList = activeThreadCountRes.getActiveThreadCountList();
+ long timeStamp = activeThreadCountRes.getTimeStamp();
+
+ TCmdActiveThreadCountRes result = new TCmdActiveThreadCountRes(histogramSchemaType, activeThreadCountList);
+ result.setTimeStamp(timeStamp);
+
+ return result;
+ }
+
+ private TCmdActiveThreadDumpRes buildTCmdActiveThreadDumpRes(PCmdActiveThreadDumpRes pCmdActiveThreadDumpRes) {
+ TCmdActiveThreadDumpRes tCmdActiveThreadDumpRes = new TCmdActiveThreadDumpRes();
+ tCmdActiveThreadDumpRes.setVersion(pCmdActiveThreadDumpRes.getVersion());
+ tCmdActiveThreadDumpRes.setType(pCmdActiveThreadDumpRes.getType());
+ tCmdActiveThreadDumpRes.setSubType(pCmdActiveThreadDumpRes.getSubType());
+
+ for (PActiveThreadDump pActiveThreadDump : pCmdActiveThreadDumpRes.getThreadDumpList()) {
+ tCmdActiveThreadDumpRes.addToThreadDumps(buildTActiveThreadDump(pActiveThreadDump));
+ }
+
+ return tCmdActiveThreadDumpRes;
+ }
+
+ private TActiveThreadDump buildTActiveThreadDump(PActiveThreadDump pActiveThreadDump) {
+ TActiveThreadDump tActiveThreadDump = new TActiveThreadDump();
+ tActiveThreadDump.setStartTime(pActiveThreadDump.getStartTime());
+ tActiveThreadDump.setSampled(pActiveThreadDump.getSampled());
+
+ if (pActiveThreadDump.getSampled()) {
+ tActiveThreadDump.setLocalTraceId(pActiveThreadDump.getLocalTraceId());
+ tActiveThreadDump.setTransactionId(pActiveThreadDump.getTransactionId());
+ tActiveThreadDump.setEntryPoint(pActiveThreadDump.getEntryPoint());
+ }
+
+ tActiveThreadDump.setThreadDump(buildTThreadDump(pActiveThreadDump.getThreadDump()));
+ return tActiveThreadDump;
+ }
+
+ private TThreadDump buildTThreadDump(PThreadDump pThreadDump) {
+ TThreadDump tThreadDump = new TThreadDump();
+ tThreadDump.setThreadName(pThreadDump.getThreadName());
+ tThreadDump.setThreadId(pThreadDump.getThreadId());
+ tThreadDump.setBlockedTime(pThreadDump.getBlockedTime());
+ tThreadDump.setBlockedCount(pThreadDump.getBlockedCount());
+ tThreadDump.setWaitedTime(pThreadDump.getWaitedTime());
+ tThreadDump.setWaitedCount(pThreadDump.getWaitedCount());
+
+ tThreadDump.setInNative(pThreadDump.getInNative());
+ tThreadDump.setSuspended(pThreadDump.getSuspended());
+ tThreadDump.setThreadState(TThreadState.findByValue(pThreadDump.getThreadStateValue()));
+
+ for (String stackTrace : pThreadDump.getStackTraceList()) {
+ tThreadDump.addToStackTrace(stackTrace);
+ }
+
+ for (PMonitorInfo pMonitorInfo : pThreadDump.getLockedMonitorList()) {
+ final TMonitorInfo tMonitorInfo = new TMonitorInfo();
+ tMonitorInfo.setStackDepth(pMonitorInfo.getStackDepth());
+ tMonitorInfo.setStackFrame(pMonitorInfo.getStackFrame());
+ tThreadDump.addToLockedMonitors(tMonitorInfo);
+ }
+
+
+ tThreadDump.setLockName(pThreadDump.getLockName());
+ tThreadDump.setLockOwnerId(pThreadDump.getLockOwnerId());
+ tThreadDump.setLockOwnerName(pThreadDump.getLockOwnerName());
+ for (String lockedSynchronizer : pThreadDump.getLockedSynchronizerList()) {
+ tThreadDump.addToLockedSynchronizers(lockedSynchronizer);
+ }
+
+ return tThreadDump;
+ }
+
+ private TCmdActiveThreadLightDumpRes buildTCmdActiveThreadLightDumpRes(PCmdActiveThreadLightDumpRes pCmdActiveThreadLightDumpRes) {
+ TCmdActiveThreadLightDumpRes tCmdActiveThreadLightDumpRes = new TCmdActiveThreadLightDumpRes();
+ tCmdActiveThreadLightDumpRes.setVersion(pCmdActiveThreadLightDumpRes.getVersion());
+ tCmdActiveThreadLightDumpRes.setType(pCmdActiveThreadLightDumpRes.getType());
+ tCmdActiveThreadLightDumpRes.setSubType(pCmdActiveThreadLightDumpRes.getSubType());
+
+ for (PActiveThreadLightDump pActiveThreadLightDump : pCmdActiveThreadLightDumpRes.getThreadDumpList()) {
+ tCmdActiveThreadLightDumpRes.addToThreadDumps(buildTActiveThreadLightDump(pActiveThreadLightDump));
+ }
+
+ return tCmdActiveThreadLightDumpRes;
+ }
+
+ private TActiveThreadLightDump buildTActiveThreadLightDump(PActiveThreadLightDump pActiveThreadLightDump) {
+ TActiveThreadLightDump tActiveThreadLightDump = new TActiveThreadLightDump();
+ tActiveThreadLightDump.setStartTime(pActiveThreadLightDump.getStartTime());
+ tActiveThreadLightDump.setSampled(pActiveThreadLightDump.getSampled());
+
+ if (pActiveThreadLightDump.getSampled()) {
+ tActiveThreadLightDump.setLocalTraceId(pActiveThreadLightDump.getLocalTraceId());
+ tActiveThreadLightDump.setTransactionId(pActiveThreadLightDump.getTransactionId());
+ tActiveThreadLightDump.setEntryPoint(pActiveThreadLightDump.getEntryPoint());
+ }
+
+ tActiveThreadLightDump.setThreadDump(buildTThreadLightDump(pActiveThreadLightDump.getThreadDump()));
+ return tActiveThreadLightDump;
+ }
+
+ private TThreadLightDump buildTThreadLightDump(PThreadLightDump pThreadDump) {
+ TThreadLightDump tThreadLightDump = new TThreadLightDump();
+ tThreadLightDump.setThreadId(pThreadDump.getThreadId());
+ tThreadLightDump.setThreadName(pThreadDump.getThreadName());
+ tThreadLightDump.setThreadState(TThreadState.findByValue(pThreadDump.getThreadStateValue()));
+ return tThreadLightDump;
+ }
+
+}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadDumpThriftMessageConverter.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadDumpThriftMessageConverter.java
similarity index 96%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadDumpThriftMessageConverter.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadDumpThriftMessageConverter.java
index 8e60cd606f60..2b07c4e159d6 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadDumpThriftMessageConverter.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadDumpThriftMessageConverter.java
@@ -14,8 +14,9 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.context.thrift;
+package com.navercorp.pinpoint.thrift.sender.message;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.deadlock.MonitorInfoMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.deadlock.ThreadDumpMetricSnapshot;
import com.navercorp.pinpoint.thrift.dto.command.TMonitorInfo;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadStateThriftMessageConverter.java b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadStateThriftMessageConverter.java
similarity index 93%
rename from profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadStateThriftMessageConverter.java
rename to profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadStateThriftMessageConverter.java
index 1513d8941f35..bad60fabfb31 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/thrift/ThreadStateThriftMessageConverter.java
+++ b/profiler-thrift-datasender/src/main/java/com/navercorp/pinpoint/thrift/sender/message/ThreadStateThriftMessageConverter.java
@@ -14,8 +14,9 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.context.thrift;
+package com.navercorp.pinpoint.thrift.sender.message;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.thrift.dto.command.TThreadState;
/**
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategyTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategyTest.java
similarity index 98%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategyTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategyTest.java
index b38f2ed67ad2..b8df33ce7a6f 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RefreshStrategyTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RefreshStrategyTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.rpc.client.SocketAddressProvider;
import org.junit.jupiter.api.BeforeEach;
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryMessageTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryMessageTest.java
similarity index 98%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryMessageTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryMessageTest.java
index 6f21e87965cf..85172b113dd7 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryMessageTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryMessageTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryQueueTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryQueueTest.java
similarity index 98%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryQueueTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryQueueTest.java
index 43db5dcd00d8..aa3174e31961 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/RetryQueueTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/RetryQueueTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderReconnectTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderReconnectTest.java
similarity index 96%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderReconnectTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderReconnectTest.java
index 9bad8649581d..07b3a721c82e 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderReconnectTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderReconnectTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
@@ -78,7 +78,7 @@ private PinpointClientFactory createPinpointClientFactory() {
PinpointClientFactory clientFactory = new DefaultPinpointClientFactory();
clientFactory.setWriteTimeoutMillis(1000 * 3);
clientFactory.setRequestTimeoutMillis(1000 * 5);
- clientFactory.setProperties(Collections.emptyMap());
+ clientFactory.setProperties(Collections.emptyMap());
return clientFactory;
}
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderTest.java
similarity index 98%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderTest.java
index 04e6d9424947..42afc6b7e472 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/TcpDataSenderTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/TcpDataSenderTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderTest.java
similarity index 87%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderTest.java
index c24652c5985f..6de8adf7b911 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpDataSenderTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpDataSenderTest.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
+import com.navercorp.pinpoint.common.profiler.message.BypassMessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.common.trace.ServiceType;
-import com.navercorp.pinpoint.profiler.context.thrift.BypassMessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.logging.Log4j2LoggerBinderInitializer;
import com.navercorp.pinpoint.testcase.util.SocketUtils;
import com.navercorp.pinpoint.thrift.dto.TAgentInfo;
@@ -26,6 +26,8 @@
import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializerFactory;
import com.navercorp.pinpoint.thrift.io.SerializerFactory;
import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.apache.thrift.TBase;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.Assertions;
@@ -35,12 +37,15 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.BiPredicate;
/**
* @author emeroad
*/
public class UdpDataSenderTest {
+
+ private final Logger logger = LogManager.getLogger(this.getClass());
+
private static final String APP_NAME = "appName";
private static final String AGENT_ID = "agentid";
private static final int AGENT_START_TIME = 0;
@@ -48,6 +53,8 @@ public class UdpDataSenderTest {
private final int PORT = SocketUtils.findAvailableUdpPort(9009);
+ private final BiPredicate> maxBytesLengthPredicate = new MaxBytesLengthPredicate<>(logger, ThriftUdpMessageSerializer.UDP_MAX_PACKET_LENGTH);
+
@BeforeAll
public static void before() {
Log4j2LoggerBinderInitializer.beforeClass();
@@ -127,16 +134,16 @@ private boolean sendMessage_getLimit(TBase, ?> tbase, long waitTimeMillis) thr
SerializerFactory serializerFactory = new HeaderTBaseSerializerFactory(
ThriftUdpMessageSerializer.UDP_MAX_PACKET_LENGTH,
HeaderTBaseSerializerFactory.DEFAULT_TBASE_LOCATOR);
- final MessageSerializer serializer = new ThriftUdpMessageSerializer(messageConverter, serializerFactory.createSerializer()) {
- @Override
- protected boolean isLimit(int interBufferSize) {
- final boolean limit = super.isLimit(interBufferSize);
- limitCounter.set(limit);
- latch.countDown();
- return limit;
- }
+
+ BiPredicate> filter = (bytes, tBase) -> {
+ boolean limit = !maxBytesLengthPredicate.test(bytes, tBase);
+ limitCounter.set(limit);
+ latch.countDown();
+ return limit;
};
+ final MessageSerializer serializer = new ThriftUdpMessageSerializer(messageConverter, serializerFactory.createSerializer(), filter);
+
UdpDataSender sender = new UdpDataSender<>("localhost", PORT, "test",
128, 1000, 1024 * 64 * 100,
serializer);
diff --git a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpSocketTest.java b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpSocketTest.java
similarity index 99%
rename from profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpSocketTest.java
rename to profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpSocketTest.java
index ed567ab4db00..d9f095fe519e 100644
--- a/profiler/src/test/java/com/navercorp/pinpoint/profiler/sender/UdpSocketTest.java
+++ b/profiler-thrift-datasender/src/test/java/com/navercorp/pinpoint/thrift/sender/UdpSocketTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.navercorp.pinpoint.profiler.sender;
+package com.navercorp.pinpoint.thrift.sender;
import com.navercorp.pinpoint.common.util.IOUtils;
import com.navercorp.pinpoint.testcase.util.SocketUtils;
diff --git a/profiler-thrift-datasender/src/test/resources/log4j2-test.xml b/profiler-thrift-datasender/src/test/resources/log4j2-test.xml
new file mode 100644
index 000000000000..b31290b79e85
--- /dev/null
+++ b/profiler-thrift-datasender/src/test/resources/log4j2-test.xml
@@ -0,0 +1,23 @@
+
+
+
+ %d{MM-dd HH:mm:ss.sss} [%15.15t] %clr{%-5level} %clr{%-40.40logger{1.}}{cyan}:%3L -- %msg{nolookups}%n
+ %d{MM-dd HH:mm:ss.sss} [%15.15t] %-5level %-40.40logger{1.}:%3L -- %msg{nolookups}%n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/profiler/pom.xml b/profiler/pom.xml
index 66e0f71141d3..aa12f47820cd 100644
--- a/profiler/pom.xml
+++ b/profiler/pom.xml
@@ -50,17 +50,7 @@
com.navercorp.pinpoint
pinpoint-commons-profiler
-
- com.navercorp.pinpoint
- pinpoint-thrift
-
-
- org.apache.thrift
- libthrift
-
-
-
-
+
com.navercorp.pinpoint
pinpoint-grpc
@@ -72,10 +62,6 @@
com.navercorp.pinpoint
pinpoint-bootstrap
-
- com.navercorp.pinpoint
- pinpoint-rpc
-
com.navercorp.pinpoint
pinpoint-plugins-loader
@@ -105,17 +91,9 @@
commons-lang3
test
-
- com.navercorp.pinpoint
- pinpoint-rpc
- ${project.version}
- test-jar
- test
-
com.navercorp.pinpoint
pinpoint-testcase
- ${project.version}
test
@@ -153,25 +131,6 @@
asm-analysis
-
- org.apache.thrift
- libthrift
-
-
- httpclient
- org.apache.httpcomponents
-
-
- httpcore
- org.apache.httpcomponents
-
-
- org.apache.commons
- commons-lang3
-
-
-
-
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java
index 064335e27408..a826a129a618 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/AgentInfoSender.java
@@ -16,13 +16,13 @@
package com.navercorp.pinpoint.profiler;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.metadata.AgentInfo;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
import com.navercorp.pinpoint.profiler.util.AgentInfoFactory;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -49,7 +49,7 @@ public class AgentInfoSender {
private final Logger logger = LogManager.getLogger(this.getClass());
- private final EnhancedDataSender dataSender;
+ private final EnhancedDataSender dataSender;
private final AgentInfoFactory agentInfoFactory;
private final long refreshIntervalMs;
private final long sendIntervalMs;
@@ -207,14 +207,14 @@ private void logError(Throwable cause) {
}
public static class Builder {
- private final EnhancedDataSender dataSender;
+ private final EnhancedDataSender dataSender;
private final AgentInfoFactory agentInfoFactory;
private long refreshIntervalMs = DEFAULT_AGENT_INFO_REFRESH_INTERVAL_MS;
private long sendIntervalMs = DEFAULT_AGENT_INFO_SEND_INTERVAL_MS;
private int maxTryPerAttempt = DEFAULT_MAX_TRY_COUNT_PER_ATTEMPT;
private MessageConverter messageConverter;
- public Builder(EnhancedDataSender dataSender, AgentInfoFactory agentInfoFactory) {
+ public Builder(EnhancedDataSender dataSender, AgentInfoFactory agentInfoFactory) {
this.dataSender = Objects.requireNonNull(dataSender, "dataSender");
this.agentInfoFactory = Objects.requireNonNull(agentInfoFactory, "agentInfoFactory");
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/DefaultAgent.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/DefaultAgent.java
index 63e34b4c631e..d81676395eb5 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/DefaultAgent.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/DefaultAgent.java
@@ -23,10 +23,6 @@
import com.navercorp.pinpoint.bootstrap.config.Profiles;
import com.navercorp.pinpoint.bootstrap.plugin.util.SocketAddressUtils;
import com.navercorp.pinpoint.common.profiler.concurrent.PinpointThreadFactory;
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Objects;
import com.navercorp.pinpoint.profiler.context.module.ApplicationContext;
import com.navercorp.pinpoint.profiler.context.module.DefaultApplicationContext;
import com.navercorp.pinpoint.profiler.context.module.DefaultModuleFactoryResolver;
@@ -36,11 +32,13 @@
import com.navercorp.pinpoint.profiler.logging.Log4j2LoggingSystem;
import com.navercorp.pinpoint.profiler.logging.LoggingSystem;
import com.navercorp.pinpoint.profiler.util.SystemPropertyDumper;
-import com.navercorp.pinpoint.rpc.ClassPreLoader;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.Map;
+import java.util.Objects;
import java.util.Properties;
@@ -81,10 +79,6 @@ public DefaultAgent(AgentOption agentOption) {
changeStatus(AgentStatus.INITIALIZING);
- if (Boolean.valueOf(System.getProperty("pinpoint.profiler.ClassPreLoader", "false"))) {
- // Preload classes related to pinpoint-rpc module.
- ClassPreLoader.preload();
- }
preloadOnStartup();
this.applicationContext = newApplicationContext(agentOption);
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/TraceDataFormatVersion.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/TraceDataFormatVersion.java
index 0f28e5740101..90acb3573f23 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/TraceDataFormatVersion.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/TraceDataFormatVersion.java
@@ -26,6 +26,7 @@ public enum TraceDataFormatVersion {
V1(SpanVersion.TRACE_V1),
V2(SpanVersion.TRACE_V2);
+ @Deprecated
public static final String THRIFT_TRACE_VERSION_KEY = "profiler.transport.thrift.trace.dataformat.version";
public static final String GRPC_TRACE_VERSION_KEY = "profiler.transport.grpc.trace.dataformat.version";
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BooleanAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BooleanAnnotation.java
index f8c716d51220..bdd034a00fd6 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BooleanAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BooleanAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class BooleanAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final boolean value;
@@ -55,11 +52,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.boolValue(this.value);
- }
-
@Override
public String toString() {
return "BooleanAnnotation{" +
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ByteAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ByteAnnotation.java
index c51e09e7bec0..57c13f843908 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ByteAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ByteAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class ByteAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final byte value;
@@ -54,11 +51,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.byteValue(this.value);
- }
-
@Override
public String toString() {
return "ByteAnnotation{" +
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BytesAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BytesAnnotation.java
index 23feb1357391..06882add7dea 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BytesAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/BytesAnnotation.java
@@ -21,9 +21,6 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
import java.util.Objects;
@@ -31,7 +28,7 @@
* @author emeroad
*/
public class BytesAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final byte[] value;
@@ -57,11 +54,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.binaryValue(this.value);
- }
-
@Override
public String toString() {
return "BytesAnnotation{" +
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DataTypeAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DataTypeAnnotation.java
index 46f411c9c0c2..bcf5e58e377c 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DataTypeAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DataTypeAnnotation.java
@@ -31,20 +31,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
-import com.navercorp.pinpoint.thrift.dto.TIntBooleanIntBooleanValue;
-import com.navercorp.pinpoint.thrift.dto.TIntStringStringValue;
-import com.navercorp.pinpoint.thrift.dto.TIntStringValue;
-import com.navercorp.pinpoint.thrift.dto.TLongIntIntByteByteStringValue;
-import com.navercorp.pinpoint.thrift.dto.TStringStringValue;
/**
* @author emeroad
*/
public class DataTypeAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final DataType value;
@@ -99,57 +91,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
throw new UnsupportedOperationException("unsupported type:" + dataType);
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- final DataType dataType = this.value;
- if (dataType instanceof IntStringValue) {
- final IntStringValue v = (IntStringValue) dataType;
- final TIntStringValue tIntStringValue = new TIntStringValue(v.getIntValue());
- if (v.getStringValue() != null) {
- tIntStringValue.setStringValue(v.getStringValue());
- }
- return TAnnotationValue.intStringValue(tIntStringValue);
- } else if (dataType instanceof StringStringValue) {
- final StringStringValue v = (StringStringValue) dataType;
- final TStringStringValue tStringStringValue = new TStringStringValue(v.getStringValue1());
- if (v.getStringValue2() != null) {
- tStringStringValue.setStringValue2(v.getStringValue2());
- }
- return TAnnotationValue.stringStringValue(tStringStringValue);
- } else if (dataType instanceof IntStringStringValue) {
- final IntStringStringValue v = (IntStringStringValue) dataType;
- final TIntStringStringValue tIntStringStringValue = new TIntStringStringValue(v.getIntValue());
- if (v.getStringValue1() != null) {
- tIntStringStringValue.setStringValue1(v.getStringValue1());
- }
- if (v.getStringValue2() != null) {
- tIntStringStringValue.setStringValue2(v.getStringValue2());
- }
- return TAnnotationValue.intStringStringValue(tIntStringStringValue);
- } else if (dataType instanceof LongIntIntByteByteStringValue) {
- final LongIntIntByteByteStringValue v = (LongIntIntByteByteStringValue) dataType;
- final TLongIntIntByteByteStringValue tvalue = new TLongIntIntByteByteStringValue(v.getLongValue(), v.getIntValue1());
- if (v.getIntValue2() != -1) {
- tvalue.setIntValue2(v.getIntValue2());
- }
- if (v.getByteValue1() != -1) {
- tvalue.setByteValue1(v.getByteValue1());
- }
- if (v.getByteValue2() != -1) {
- tvalue.setByteValue2(v.getByteValue2());
- }
- if (v.getStringValue() != null) {
- tvalue.setStringValue(v.getStringValue());
- }
- return TAnnotationValue.longIntIntByteByteStringValue(tvalue);
- } else if (dataType instanceof IntBooleanIntBooleanValue) {
- final IntBooleanIntBooleanValue v = (IntBooleanIntBooleanValue) dataType;
- final TIntBooleanIntBooleanValue tvalue = new TIntBooleanIntBooleanValue(v.getIntValue1(), v.isBooleanValue1(), v.getIntValue2(), v.isBooleanValue2());
- return TAnnotationValue.intBooleanIntBooleanValue(tvalue);
- }
- throw new UnsupportedOperationException("unsupported type:" + dataType);
- }
-
@Override
public String toString() {
return "DataTypeAnnotation{" +
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DoubleAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DoubleAnnotation.java
index fe658bab633b..f52df8a5e7c3 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DoubleAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/DoubleAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class DoubleAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final double value;
@@ -54,10 +51,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.doubleValue(this.value);
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/IntAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/IntAnnotation.java
index 49684bc7c3ac..20a6bff6b479 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/IntAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/IntAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class IntAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final int value;
@@ -55,10 +52,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.intValue(this.value);
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/LongAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/LongAnnotation.java
index 498cdde8ecd2..bccc3200d58c 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/LongAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/LongAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class LongAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final long value;
@@ -55,10 +52,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.longValue(this.value);
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/NullAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/NullAnnotation.java
index 151c16573cb4..a8e2f1ab6ad1 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/NullAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/NullAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class NullAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
@@ -52,10 +49,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return null;
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return null;
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ObjectAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ObjectAnnotation.java
index a37c591b2a61..3b4ba198a0d0 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ObjectAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ObjectAnnotation.java
@@ -21,15 +21,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class ObjectAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final String value;
@@ -61,10 +58,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.stringValue(this.value);
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ShortAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ShortAnnotation.java
index ded798f385a4..ea8874446a3c 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ShortAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/ShortAnnotation.java
@@ -20,15 +20,12 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
/**
* @author emeroad
*/
public class ShortAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final short value;
@@ -55,10 +52,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.shortValue(this.value);
- }
@Override
public String toString() {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/StringAnnotation.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/StringAnnotation.java
index 47aa27911e70..385b6b0aa63e 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/StringAnnotation.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/annotation/StringAnnotation.java
@@ -20,9 +20,6 @@
import com.navercorp.pinpoint.profiler.context.Annotation;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationSerializable;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcAnnotationValueMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.AnnotationValueThriftMapper;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftAnnotationSerializable;
-import com.navercorp.pinpoint.thrift.dto.TAnnotationValue;
import java.util.Objects;
@@ -30,7 +27,7 @@
* @author emeroad
*/
public class StringAnnotation implements Annotation,
- GrpcAnnotationSerializable, ThriftAnnotationSerializable {
+ GrpcAnnotationSerializable {
private final int key;
private final String value;
@@ -58,11 +55,6 @@ public PAnnotationValue apply(GrpcAnnotationValueMapper context) {
return builder.build();
}
- @Override
- public TAnnotationValue apply(AnnotationValueThriftMapper context) {
- return TAnnotationValue.stringValue(this.value);
- }
-
@Override
public String toString() {
return "StringAnnotation{" +
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/compress/SpanProcessorV1.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/compress/SpanProcessorV1.java
deleted file mode 100644
index 4d0beb57dca6..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/compress/SpanProcessorV1.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.compress;
-
-import com.navercorp.pinpoint.common.annotations.VisibleForTesting;
-import com.navercorp.pinpoint.common.util.CollectionUtils;
-import com.navercorp.pinpoint.profiler.context.Span;
-import com.navercorp.pinpoint.profiler.context.SpanChunk;
-import com.navercorp.pinpoint.profiler.context.SpanEvent;
-import com.navercorp.pinpoint.profiler.context.TraceDataFormatVersion;
-import com.navercorp.pinpoint.profiler.context.id.TraceRoot;
-import com.navercorp.pinpoint.thrift.dto.TSpan;
-import com.navercorp.pinpoint.thrift.dto.TSpanChunk;
-import com.navercorp.pinpoint.thrift.dto.TSpanEvent;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.RandomAccess;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class SpanProcessorV1 implements SpanProcessor {
-
- private static final byte V1 = TraceDataFormatVersion.V1.getVersion();
-
- @Override
- public void preProcess(Span span, TSpan tSpan) {
- if (tSpan.getVersion() != V1) {
- tSpan.setVersion(V1);
- }
- }
-
- @Override
- public void preProcess(SpanChunk spanChunk, TSpanChunk tSpanChunk) {
- if (tSpanChunk.getVersion() != V1) {
- tSpanChunk.setVersion(V1);
- }
- }
-
- @Override
- public void postProcess(Span span, TSpan tSpan) {
- final TraceRoot traceRoot = span.getTraceRoot();
- final long keyTime = traceRoot.getTraceStartTime();
-
- List spanEventList = span.getSpanEventList();
- if (spanEventList == null) {
- spanEventList = Collections.emptyList();
- }
-
- List tSpanEventList = tSpan.getSpanEventList();
- if (tSpanEventList == null) {
- tSpanEventList = Collections.emptyList();
- }
-
- postEventProcess(spanEventList, tSpanEventList, keyTime);
- }
-
- @Override
- public void postProcess(SpanChunk spanChunk, TSpanChunk tSpanChunk) {
- final TraceRoot traceRoot = spanChunk.getTraceRoot();
- final long keyTime = traceRoot.getTraceStartTime();
-
- final List spanEventList = spanChunk.getSpanEventList();
- if (CollectionUtils.isEmpty(spanEventList)) {
- throw new IllegalStateException("SpanChunk.spanEventList is empty");
- }
- final List tSpanEventList = tSpanChunk.getSpanEventList();
- if (CollectionUtils.isEmpty(tSpanEventList)) {
- throw new IllegalStateException("TSpanChunk.spanEventList is empty");
- }
- postEventProcess(spanEventList, tSpanEventList, keyTime);
- }
-
- @VisibleForTesting
- public void postEventProcess(List spanEventList, List tSpanEventList, long keyTime) {
- if (CollectionUtils.isEmpty(spanEventList)) {
- return;
- }
- if (!(CollectionUtils.nullSafeSize(spanEventList) == CollectionUtils.nullSafeSize(tSpanEventList))) {
- throw new IllegalStateException("list size not same, spanEventList=" + CollectionUtils.nullSafeSize(spanEventList) + ", tSpanEventList=" + CollectionUtils.nullSafeSize(tSpanEventList));
- }
- // check list type
- assert spanEventList instanceof RandomAccess;
-
- final int listSize = spanEventList.size();
- for (int i = 0; i < listSize; i++) {
- final SpanEvent spanEvent = spanEventList.get(i);
- final TSpanEvent tSpanEvent = tSpanEventList.get(i);
-
- final long startTime = spanEvent.getStartTime();
- final long startElapsedTime = startTime - keyTime;
- tSpanEvent.setStartElapsed((int) startElapsedTime);
- }
- }
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcAgentInfoMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcAgentInfoMessageConverter.java
index 412b9fd5164f..bd2680703d4b 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcAgentInfoMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcAgentInfoMessageConverter.java
@@ -20,6 +20,7 @@
import com.navercorp.pinpoint.bootstrap.context.ServerMetaData;
import com.navercorp.pinpoint.bootstrap.context.ServiceInfo;
import com.navercorp.pinpoint.common.Version;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PAgentInfo;
import com.navercorp.pinpoint.grpc.trace.PJvmGcType;
import com.navercorp.pinpoint.grpc.trace.PJvmInfo;
@@ -27,7 +28,6 @@
import com.navercorp.pinpoint.grpc.trace.PServiceInfo;
import com.navercorp.pinpoint.profiler.AgentInformation;
import com.navercorp.pinpoint.profiler.JvmInformation;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.AgentInfo;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcCustomMetricMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcCustomMetricMessageConverter.java
index 9491ac5fed30..7f5edb4d4c50 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcCustomMetricMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcCustomMetricMessageConverter.java
@@ -16,6 +16,7 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PCustomMetric;
import com.navercorp.pinpoint.grpc.trace.PCustomMetricMessage;
import com.navercorp.pinpoint.grpc.trace.PDoubleValue;
@@ -26,7 +27,6 @@
import com.navercorp.pinpoint.grpc.trace.PLongCountMetric;
import com.navercorp.pinpoint.grpc.trace.PLongGaugeMetric;
import com.navercorp.pinpoint.grpc.trace.PLongValue;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentCustomMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentCustomMetricSnapshotBatch;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcJvmGcTypeMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcJvmGcTypeMessageConverter.java
index 41fb5a42897b..106566c98d5e 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcJvmGcTypeMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcJvmGcTypeMessageConverter.java
@@ -16,8 +16,8 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PJvmGcType;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.gc.JvmGcType;
/**
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverter.java
index b91138c89ca6..9f82e45f102d 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverter.java
@@ -17,10 +17,10 @@
package com.navercorp.pinpoint.profiler.context.grpc;
import com.google.protobuf.InvalidProtocolBufferException;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
import com.navercorp.pinpoint.grpc.trace.PResult;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
-import com.navercorp.pinpoint.rpc.ResponseMessage;
+import com.navercorp.pinpoint.io.ResponseMessage;
/**
* @author jaehong.kim
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverterProvider.java
index a43034df7f5f..f284fde5ac05 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverterProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMessageToResultConverterProvider.java
@@ -18,8 +18,8 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
/**
* @author jaehong.kim
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverter.java
index 34f74053c2c2..c03383b5328a 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverter.java
@@ -17,10 +17,10 @@
package com.navercorp.pinpoint.profiler.context.grpc;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PApiMetaData;
import com.navercorp.pinpoint.grpc.trace.PSqlMetaData;
import com.navercorp.pinpoint.grpc.trace.PStringMetaData;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaData;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.metadata.SqlMetaData;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverterProvider.java
index e57234fbcf7b..297fb359372c 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverterProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcMetadataMessageConverterProvider.java
@@ -19,7 +19,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import java.util.Arrays;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverter.java
index e49911d49c77..53e05b86515c 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverter.java
@@ -21,6 +21,7 @@
import com.navercorp.pinpoint.bootstrap.context.TraceId;
import com.navercorp.pinpoint.common.annotations.VisibleForTesting;
import com.navercorp.pinpoint.common.profiler.logging.ThrottledLogger;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.common.util.CollectionUtils;
import com.navercorp.pinpoint.common.util.IntStringValue;
import com.navercorp.pinpoint.common.util.StringUtils;
@@ -48,7 +49,6 @@
import com.navercorp.pinpoint.profiler.context.compress.SpanProcessor;
import com.navercorp.pinpoint.profiler.context.id.Shared;
import com.navercorp.pinpoint.profiler.context.id.TraceRoot;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverterProvider.java
index 3d2ebeafe488..290042d7c54d 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverterProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcSpanMessageConverterProvider.java
@@ -17,6 +17,7 @@
package com.navercorp.pinpoint.profiler.context.grpc;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.common.trace.ServiceType;
import com.navercorp.pinpoint.grpc.trace.PSpan;
import com.navercorp.pinpoint.grpc.trace.PSpanChunk;
@@ -24,7 +25,6 @@
import com.navercorp.pinpoint.profiler.context.compress.SpanProcessor;
import com.navercorp.pinpoint.profiler.context.module.AgentId;
import com.navercorp.pinpoint.profiler.context.module.ApplicationServerType;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import javax.inject.Inject;
import javax.inject.Provider;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverter.java
index b7eaf90d1d45..b3960b305b4b 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverter.java
@@ -16,6 +16,8 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PActiveTrace;
import com.navercorp.pinpoint.grpc.trace.PActiveTraceHistogram;
import com.navercorp.pinpoint.grpc.trace.PAgentStat;
@@ -38,7 +40,6 @@
import com.navercorp.pinpoint.grpc.trace.PTransaction;
import com.navercorp.pinpoint.profiler.context.active.ActiveTraceHistogram;
import com.navercorp.pinpoint.profiler.context.active.ActiveTraceHistogramUtils;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentCustomMetricSnapshotBatch;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.AgentStatMetricSnapshotBatch;
@@ -58,8 +59,6 @@
import com.navercorp.pinpoint.profiler.monitor.metric.transaction.TransactionMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.uri.AgentUriStatData;
-import com.google.protobuf.GeneratedMessageV3;
-
import java.util.List;
/**
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverterProvider.java
index e211d69aa127..5c023f854a20 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverterProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcStatMessageConverterProvider.java
@@ -19,7 +19,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
/**
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadDumpMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadDumpMessageConverter.java
index a8d79914da1a..3b69c7a8d1b8 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadDumpMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadDumpMessageConverter.java
@@ -16,10 +16,10 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PMonitorInfo;
import com.navercorp.pinpoint.grpc.trace.PThreadDump;
import com.navercorp.pinpoint.grpc.trace.PThreadState;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.deadlock.MonitorInfoMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.deadlock.ThreadDumpMetricSnapshot;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadStateMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadStateMessageConverter.java
index 87b6209f056f..9b9ea5b45498 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadStateMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcThreadStateMessageConverter.java
@@ -16,8 +16,8 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.trace.PThreadState;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
/**
* @author jaehong.kim
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcUriStatMessageConverter.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcUriStatMessageConverter.java
index 6496c141ebdc..0bd3a40ad08a 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcUriStatMessageConverter.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/GrpcUriStatMessageConverter.java
@@ -16,11 +16,11 @@
package com.navercorp.pinpoint.profiler.context.grpc;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.common.trace.UriStatHistogramBucket;
import com.navercorp.pinpoint.grpc.trace.PAgentUriStat;
import com.navercorp.pinpoint.grpc.trace.PEachUriStat;
import com.navercorp.pinpoint.grpc.trace.PUriHistogram;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
import com.navercorp.pinpoint.profiler.monitor.metric.uri.AgentUriStatData;
import com.navercorp.pinpoint.profiler.monitor.metric.uri.EachUriStatData;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/MessageConverterGroup.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/MessageConverterGroup.java
index e37596422d23..3179cf0fc9b2 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/MessageConverterGroup.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/grpc/MessageConverterGroup.java
@@ -16,7 +16,7 @@
package com.navercorp.pinpoint.profiler.context.grpc;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import java.util.List;
import java.util.Objects;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ApplicationContextModuleFactory.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ApplicationContextModuleFactory.java
index 8b9c0bd9de9e..1f349fe684cc 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ApplicationContextModuleFactory.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ApplicationContextModuleFactory.java
@@ -22,8 +22,8 @@
import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
import com.navercorp.pinpoint.bootstrap.config.TransportModule;
import com.navercorp.pinpoint.profiler.context.module.config.ConfigModule;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* @author Woonduk Kang(emeroad)
@@ -50,11 +50,7 @@ protected Module newRpcModule(AgentOption agentOption) {
logger.info("load GrpcModule");
return new GrpcModule(profilerConfig);
}
- if (TransportModule.THRIFT == transportModule) {
- logger.info("load ThriftModule");
- return new ThriftModule(profilerConfig);
- }
- logger.info("load ThriftModule");
- return new ThriftModule(profilerConfig);
+ logger.info("load GrpcModule");
+ return new GrpcModule(profilerConfig);
}
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java
index 5102657347d0..e4a0b99f4a7b 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java
@@ -29,6 +29,7 @@
import com.navercorp.pinpoint.bootstrap.instrument.DynamicTransformTrigger;
import com.navercorp.pinpoint.bootstrap.module.ClassFileTransformModuleAdaptor;
import com.navercorp.pinpoint.bootstrap.module.JavaModuleFactory;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.common.util.JvmUtils;
import com.navercorp.pinpoint.common.util.JvmVersion;
import com.navercorp.pinpoint.profiler.AgentInfoSender;
@@ -45,9 +46,8 @@
import com.navercorp.pinpoint.profiler.interceptor.registry.InterceptorRegistryBinder;
import com.navercorp.pinpoint.profiler.monitor.AgentStatMonitor;
import com.navercorp.pinpoint.profiler.monitor.DeadlockMonitor;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.Instrumentation;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModule.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModule.java
index 8ccb516ff4d6..989cd2198162 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModule.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModule.java
@@ -23,9 +23,14 @@
import com.google.inject.name.Names;
import com.google.protobuf.GeneratedMessageV3;
import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
import com.navercorp.pinpoint.grpc.client.HeaderFactory;
import com.navercorp.pinpoint.grpc.trace.PSpan;
import com.navercorp.pinpoint.grpc.trace.PSpanChunk;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.context.compress.SpanProcessor;
import com.navercorp.pinpoint.profiler.context.grpc.GrpcMessageToResultConverterProvider;
@@ -44,12 +49,8 @@
import com.navercorp.pinpoint.profiler.context.provider.grpc.SSLContextProvider;
import com.navercorp.pinpoint.profiler.context.provider.grpc.SpanGrpcDataSenderProvider;
import com.navercorp.pinpoint.profiler.context.provider.grpc.StatGrpcDataSenderProvider;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
import com.navercorp.pinpoint.profiler.sender.grpc.ReconnectExecutor;
import com.navercorp.pinpoint.profiler.sender.grpc.SubconnectionExpiringLoadBalancerProvider;
import com.navercorp.pinpoint.profiler.sender.grpc.metric.ChannelzScheduledReporter;
@@ -130,12 +131,12 @@ private void bindAgentDataSender() {
bind(resultMessageConverterKey).toProvider(GrpcMessageToResultConverterProvider.class ).in(Scopes.SINGLETON);
expose(resultMessageConverterKey);
- TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {};
- Key> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
+ TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {};
+ Key> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
bind(agentDataSender).toProvider(AgentGrpcDataSenderProvider.class).in(Scopes.SINGLETON);
expose(agentDataSender);
- Key> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
+ Key> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
bind(metadataDataSender).toProvider(MetadataGrpcDataSenderProvider.class).in(Scopes.SINGLETON);
expose(metadataDataSender);
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModuleLifeCycle.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModuleLifeCycle.java
index 713235b5eb7d..bd100aed0a62 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModuleLifeCycle.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/GrpcModuleLifeCycle.java
@@ -20,12 +20,13 @@
import com.google.inject.Provider;
import com.navercorp.pinpoint.bootstrap.logging.PLogger;
import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
import com.navercorp.pinpoint.grpc.ExecutorUtils;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.metric.ChannelzScheduledReporter;
import java.util.Objects;
@@ -39,16 +40,16 @@ public class GrpcModuleLifeCycle implements ModuleLifeCycle {
private final PLogger logger = PLoggerFactory.getLogger(this.getClass());
- private final Provider> agentDataSenderProvider;
- private final Provider> metadataDataSenderProvider;
+ private final Provider> agentDataSenderProvider;
+ private final Provider> metadataDataSenderProvider;
private final Provider> spanDataSenderProvider;
private final Provider> statDataSenderProvider;
private final Provider dnsExecutorServiceProvider;
private final Provider reconnectScheduledExecutorProvider;
- private EnhancedDataSender agentDataSender;
- private EnhancedDataSender metadataDataSender;
+ private EnhancedDataSender agentDataSender;
+ private EnhancedDataSender metadataDataSender;
private DataSender spanDataSender;
private DataSender statDataSender;
@@ -60,8 +61,8 @@ public class GrpcModuleLifeCycle implements ModuleLifeCycle {
@Inject
public GrpcModuleLifeCycle(
- @AgentDataSender Provider> agentDataSenderProvider,
- @MetadataDataSender Provider> metadataDataSenderProvider,
+ @AgentDataSender Provider> agentDataSenderProvider,
+ @MetadataDataSender Provider> metadataDataSenderProvider,
@SpanDataSender Provider> spanDataSenderProvider,
@StatDataSender Provider> statDataSenderProvider,
Provider dnsExecutorServiceProvider,
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModule.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModule.java
deleted file mode 100644
index b0c13d480ce5..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModule.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.module;
-
-import com.google.inject.Key;
-import com.google.inject.PrivateModule;
-import com.google.inject.Scopes;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
-import com.navercorp.pinpoint.profiler.context.SpanType;
-import com.navercorp.pinpoint.profiler.context.compress.SpanProcessor;
-import com.navercorp.pinpoint.profiler.context.id.TransactionIdEncoder;
-import com.navercorp.pinpoint.profiler.context.provider.CommandDispatcherProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.ConnectionFactoryProviderProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.HeaderTBaseSerializerProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.MetadataMessageConverterProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.PinpointClientFactoryProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.SpanClientFactoryProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.SpanDataSenderProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.SpanProcessorProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.SpanStatChannelFactoryProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.SpanStatConnectTimerProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.StatClientFactoryProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.StatDataSenderProvider;
-import com.navercorp.pinpoint.profiler.context.provider.thrift.TcpDataSenderProvider;
-import com.navercorp.pinpoint.profiler.context.thrift.DefaultTransactionIdEncoder;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.SpanThriftMessageConverterProvider;
-import com.navercorp.pinpoint.profiler.context.thrift.StatThriftMessageConverterProvider;
-import com.navercorp.pinpoint.profiler.context.thrift.ThriftMessageToResultConverterProvider;
-import com.navercorp.pinpoint.profiler.context.thrift.config.DefaultThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.receiver.CommandDispatcher;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
-import com.navercorp.pinpoint.rpc.client.ConnectionFactoryProvider;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import com.navercorp.pinpoint.thrift.dto.TSpan;
-import com.navercorp.pinpoint.thrift.dto.TSpanChunk;
-import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
-import org.apache.thrift.TBase;
-import org.jboss.netty.channel.ChannelFactory;
-import org.jboss.netty.util.Timer;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Objects;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class ThriftModule extends PrivateModule {
- private final Logger logger = LogManager.getLogger(this.getClass());
-
- private final ProfilerConfig profilerConfig;
-
- public ThriftModule(ProfilerConfig profilerConfig) {
- this.profilerConfig = Objects.requireNonNull(profilerConfig, "profilerConfig");
- }
-
- @Override
- protected void configure() {
- logger.info("configure {}", this.getClass().getSimpleName());
-
- ThriftTransportConfig thriftTransportConfig = loadThriftTransportConfig();
- bind(ThriftTransportConfig.class).toInstance(thriftTransportConfig);
-
- bind(TransactionIdEncoder.class).to(DefaultTransactionIdEncoder.class).in(Scopes.SINGLETON);
-
- Key commandDispatcher = Key.get(CommandDispatcher.class);
- bind(commandDispatcher).toProvider(CommandDispatcherProvider.class).in(Scopes.SINGLETON);
-// expose(commandDispatcher);
-
- TypeLiteral> spanPostProcessorType = new TypeLiteral>() {
- };
- bind(spanPostProcessorType).toProvider(SpanProcessorProvider.class).in(Scopes.SINGLETON);
-
- bind(ConnectionFactoryProvider.class).toProvider(ConnectionFactoryProviderProvider.class).in(Scopes.SINGLETON);
-
- Key pinpointClientFactory = Key.get(PinpointClientFactory.class, DefaultClientFactory.class);
- bind(pinpointClientFactory).toProvider(PinpointClientFactoryProvider.class).in(Scopes.SINGLETON);
-// expose(pinpointClientFactory);
-
- bind(HeaderTBaseSerializer.class).toProvider(HeaderTBaseSerializerProvider.class).in(Scopes.SINGLETON);
- // EnhancedDataSender
- TypeLiteral> dataSenderTypeLiteral = new TypeLiteral>() {};
- bind(dataSenderTypeLiteral).toProvider(TcpDataSenderProvider.class).in(Scopes.SINGLETON);
- expose(dataSenderTypeLiteral);
- // Bind AgentDataSender to EnhancedDataSender
- Key> agentDataSender = Key.get(dataSenderTypeLiteral, AgentDataSender.class);
- bind(agentDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
- expose(agentDataSender);
- // Bind MetadataDataSender to EnhancedDataSender
- Key> metadataDataSender = Key.get(dataSenderTypeLiteral, MetadataDataSender.class);
- bind(metadataDataSender).to(dataSenderTypeLiteral).in(Scopes.SINGLETON);
- expose(metadataDataSender);
-
- Key spanStatConnectTimer = Key.get(Timer.class, SpanStatChannelFactory.class);
- bind(spanStatConnectTimer).toProvider(SpanStatConnectTimerProvider.class).in(Scopes.SINGLETON);
-
- Key spanStatChannelFactory = Key.get(ChannelFactory.class, SpanStatChannelFactory.class);
- bind(spanStatChannelFactory).toProvider(SpanStatChannelFactoryProvider.class).in(Scopes.SINGLETON);
-
- Key spanClientFactory = Key.get(PinpointClientFactory.class, SpanDataSender.class);
- bind(spanClientFactory).toProvider(SpanClientFactoryProvider.class).in(Scopes.SINGLETON);
-
- Key statClientFactory = Key.get(PinpointClientFactory.class, StatDataSender.class);
- bind(statClientFactory).toProvider(StatClientFactoryProvider.class).in(Scopes.SINGLETON);
-
- TypeLiteral>> thriftMessageConverter = new TypeLiteral>>() {};
- Key>> spanMessageConverterKey = Key.get(thriftMessageConverter, SpanDataSender.class);
- bind(spanMessageConverterKey).toProvider(SpanThriftMessageConverterProvider.class).in(Scopes.SINGLETON);
-// expose(spanMessageConverterKey);
-
- TypeLiteral>> metadataMessageConverter = new TypeLiteral>>() {};
- Key>> metadataMessageConverterKey = Key.get(metadataMessageConverter, MetadataDataSender.class);
- bind(metadataMessageConverterKey).toProvider(MetadataMessageConverterProvider.class).in(Scopes.SINGLETON);
-// expose(metadataMessageConverterKey);
-
-
- // Stat Thrift Converter
- TypeLiteral>> statMessageConverter = new TypeLiteral>>() {};
- Key>> statMessageConverterKey = Key.get(statMessageConverter, StatDataSender.class);
- bind(statMessageConverterKey).toProvider(StatThriftMessageConverterProvider.class).in(Scopes.SINGLETON);
-
- TypeLiteral> spanDataSenderType = new TypeLiteral>() {};
- Key> spanDataSender = Key.get(spanDataSenderType, SpanDataSender.class);
- bind(spanDataSender).toProvider(SpanDataSenderProvider.class).in(Scopes.SINGLETON);
- expose(spanDataSender);
-
- TypeLiteral> statDataSenderType = new TypeLiteral>() {};
- Key> statDataSender = Key.get(statDataSenderType, StatDataSender.class);
- bind(statDataSender).toProvider(StatDataSenderProvider.class).in(Scopes.SINGLETON);
- expose(statDataSender);
-
- // For AgentInfoSender
-// TypeLiteral agentInfoFactoryTypeLiteral = new TypeLiteral() {};
-// bind(agentInfoFactoryTypeLiteral).toProvider(AgentInfoFactoryProvider.class).in(Scopes.SINGLETON);
-// expose(agentInfoFactoryTypeLiteral);
-
- TypeLiteral> resultMessageConverter = new TypeLiteral>() {};
- Key> resultMessageConverterKey = Key.get(resultMessageConverter, ResultConverter.class);
- bind(resultMessageConverterKey).toProvider(ThriftMessageToResultConverterProvider.class).in(Scopes.SINGLETON);
- expose(resultMessageConverterKey);
-
- Key rpcModuleLifeCycleKey = Key.get(ModuleLifeCycle.class, Names.named("RPC-MODULE"));
- bind(rpcModuleLifeCycleKey).to(ThriftModuleLifeCycle.class).in(Scopes.SINGLETON);
- expose(rpcModuleLifeCycleKey);
- }
-
- public ThriftTransportConfig loadThriftTransportConfig() {
- DefaultThriftTransportConfig thriftTransportConfig = new DefaultThriftTransportConfig();
- thriftTransportConfig.read(profilerConfig.getProperties());
- logger.info("{}", thriftTransportConfig);
- return thriftTransportConfig;
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModuleLifeCycle.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModuleLifeCycle.java
deleted file mode 100644
index 36a9f75e7f93..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftModuleLifeCycle.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.module;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.bootstrap.logging.PLogger;
-import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory;
-import com.navercorp.pinpoint.profiler.context.SpanType;
-import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.receiver.CommandDispatcher;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.jboss.netty.channel.ChannelFactory;
-import org.jboss.netty.util.Timeout;
-import org.jboss.netty.util.Timer;
-
-import java.util.Objects;
-import java.util.Set;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class ThriftModuleLifeCycle implements ModuleLifeCycle {
-
- private final PLogger logger = PLoggerFactory.getLogger(this.getClass());
-
- private final Provider commandDispatcherProvider;
- private final Provider clientFactoryProvider;
- private final Provider> tcpDataSenderProvider;
-
- private final Provider spanStatConnectTimerProvider;
- private final Provider spanStatChannelFactoryProvider;
-
- private final Provider spanClientFactoryProvider;
- private final Provider statClientFactoryProvider;
-
- private final Provider> spanDataSenderProvider;
- private final Provider> statDataSenderProvider;
-
- private CommandDispatcher commandDispatcher;
-
- private PinpointClientFactory clientFactory;
- private EnhancedDataSender tcpDataSender;
-
- private Timer spanStatConnectTimer;
- private ChannelFactory spanStatChannelFactory;
-
- private PinpointClientFactory spanClientFactory;
- private PinpointClientFactory statClientFactory;
-
- private DataSender spanDataSender;
- private DataSender statDataSender;
-
- @Inject
- public ThriftModuleLifeCycle(
- Provider commandDispatcherProvider,
- @DefaultClientFactory Provider clientFactoryProvider,
- @AgentDataSender Provider> tcpDataSenderProvider,
- @SpanStatChannelFactory Provider spanStatConnectTimerProvider,
- @SpanStatChannelFactory Provider spanStatChannelFactoryProvider,
- @SpanDataSender Provider spanClientFactoryProvider,
- @StatDataSender Provider statClientFactoryProvider,
- @SpanDataSender Provider> spanDataSenderProvider,
- @StatDataSender Provider> statDataSenderProvider
- ) {
- this.commandDispatcherProvider = Objects.requireNonNull(commandDispatcherProvider, "commandDispatcherProvider");
- this.clientFactoryProvider = Objects.requireNonNull(clientFactoryProvider, "clientFactoryProvider");
- this.tcpDataSenderProvider = Objects.requireNonNull(tcpDataSenderProvider, "tcpDataSenderProvider");
-
- this.spanStatConnectTimerProvider = Objects.requireNonNull(spanStatConnectTimerProvider, "spanStatConnectTimerProvider");
-
- this.spanStatChannelFactoryProvider = Objects.requireNonNull(spanStatChannelFactoryProvider, "spanStatChannelFactoryProvider");
-
- this.spanClientFactoryProvider = Objects.requireNonNull(spanClientFactoryProvider, "spanClientFactoryProvider");
- this.statClientFactoryProvider = Objects.requireNonNull(statClientFactoryProvider, "statClientFactoryProvider");
-
- this.spanDataSenderProvider = Objects.requireNonNull(spanDataSenderProvider, "spanDataSenderProvider");
- this.statDataSenderProvider = Objects.requireNonNull(statDataSenderProvider, "statDataSenderProvider");
- }
-
- @Override
- public void start() {
- logger.info("start()");
- this.commandDispatcher = this.commandDispatcherProvider.get();
- logger.info("commandDispatcher:{}", commandDispatcher);
-
- this.clientFactory = clientFactoryProvider.get();
- logger.info("pinpointClientFactory:{}", clientFactory);
-
- this.tcpDataSender = tcpDataSenderProvider.get();
- logger.info("tcpDataSenderProvider:{}", tcpDataSender);
-
- this.spanStatConnectTimer = spanStatConnectTimerProvider.get();
- logger.info("spanStatConnectTimer:{}", spanStatConnectTimer);
-
- this.spanStatChannelFactory = spanStatChannelFactoryProvider.get();
- logger.info("spanStatChannelFactory:{}", spanStatChannelFactory);
-
- this.spanClientFactory = spanClientFactoryProvider.get();
- logger.info("spanClientFactory:{}", spanClientFactory);
-
- this.statClientFactory = statClientFactoryProvider.get();
- logger.info("statClientFactory:{}", statClientFactory);
-
- this.spanDataSender = spanDataSenderProvider.get();
- logger.info("spanDataSenderProvider:{}", spanDataSender);
-
- this.statDataSender = this.statDataSenderProvider.get();
- logger.info("statDataSenderProvider:{}", statDataSender);
- }
-
- @Override
- public void shutdown() {
- logger.info("shutdown()");
- if (spanDataSender != null) {
- this.spanDataSender.stop();
- }
- if (statDataSender != null) {
- this.statDataSender.stop();
- }
-
- if (spanClientFactory != null) {
- this.spanClientFactory.release();
- }
- if (statClientFactory!= null) {
- this.statClientFactory.release();
- }
-
- if (spanStatChannelFactory != null) {
- spanStatChannelFactory.releaseExternalResources();
- }
-
- if (spanStatConnectTimer != null) {
- Set stop = spanStatConnectTimer.stop();
- if (!stop.isEmpty()) {
- logger.info("stop Timeout:{}", stop.size());
- }
- }
-
- if (tcpDataSender != null) {
- this.tcpDataSender.stop();
- }
- if (clientFactory != null) {
- clientFactory.release();
- }
-
- if (commandDispatcher != null) {
- this.commandDispatcher.close();
- }
- }
-
- @Override
- public String toString() {
- return "ThriftModuleLifeCycle{" +
- "commandDispatcherProvider=" + commandDispatcherProvider +
- ", clientFactoryProvider=" + clientFactoryProvider +
- ", tcpDataSenderProvider=" + tcpDataSenderProvider +
- ", spanStatConnectTimerProvider=" + spanStatConnectTimerProvider +
- ", spanStatChannelFactoryProvider=" + spanStatChannelFactoryProvider +
- ", spanClientFactoryProvider=" + spanClientFactoryProvider +
- ", statClientFactoryProvider=" + statClientFactoryProvider +
- ", spanDataSenderProvider=" + spanDataSenderProvider +
- ", statDataSenderProvider=" + statDataSenderProvider +
- '}';
- }
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftStatsModule.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftStatsModule.java
index 32cc5e402624..12b3b81b0c89 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftStatsModule.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/ThriftStatsModule.java
@@ -16,6 +16,10 @@
package com.navercorp.pinpoint.profiler.context.module;
+import com.google.inject.AbstractModule;
+import com.google.inject.Scopes;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
import com.navercorp.pinpoint.profiler.context.active.ActiveTraceHistogram;
import com.navercorp.pinpoint.profiler.context.provider.stat.activethread.ActiveTraceMetricCollectorProvider;
import com.navercorp.pinpoint.profiler.context.provider.stat.buffer.BufferMetricCollectorProvider;
@@ -41,75 +45,70 @@
import com.navercorp.pinpoint.profiler.monitor.metric.response.ResponseTimeValue;
import com.navercorp.pinpoint.profiler.monitor.metric.totalthread.TotalThreadMetricSnapshot;
import com.navercorp.pinpoint.profiler.monitor.metric.transaction.TransactionMetricSnapshot;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Scopes;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* @author Woonduk Kang(emeroad)
*/
-public class ThriftStatsModule extends AbstractModule {
- private final Logger logger = LogManager.getLogger(this.getClass());
+public class ThriftStatsModule extends AbstractModule{
+ private final Logger logger=LogManager.getLogger(this.getClass());
@Override
- protected void configure() {
- logger.info("configure {}", this.getClass().getSimpleName());
+ protected void configure(){
+ logger.info("configure {}",this.getClass().getSimpleName());
binder().requireExplicitBindings();
binder().requireAtInjectOnConstructors();
binder().disableCircularProxies();
// gc
- TypeLiteral> jvmGcCollector = new TypeLiteral>() {};
+ TypeLiteral>jvmGcCollector=new TypeLiteral>(){};
bind(jvmGcCollector).toProvider(JvmGcMetricCollectorProvider.class).in(Scopes.SINGLETON);
// cpu
- TypeLiteral> cpuLoadCollector = new TypeLiteral>() {};
+ TypeLiteral>cpuLoadCollector=new TypeLiteral>(){};
bind(cpuLoadCollector).toProvider(CpuLoadMetricCollectorProvider.class).in(Scopes.SINGLETON);
// FD
- TypeLiteral> fdCollector = new TypeLiteral>() {};
+ TypeLiteral>fdCollector=new TypeLiteral>(){};
bind(fdCollector).toProvider(FileDescriptorMetricCollectorProvider.class).in(Scopes.SINGLETON);
// buffer
- TypeLiteral> bufferCollector = new TypeLiteral>() {};
+ TypeLiteral>bufferCollector=new TypeLiteral>(){};
bind(bufferCollector).toProvider(BufferMetricCollectorProvider.class).in(Scopes.SINGLETON);
// transaction
- TypeLiteral> transactionCollector = new TypeLiteral>() {};
+ TypeLiteral>transactionCollector=new TypeLiteral>(){};
bind(transactionCollector).toProvider(TransactionMetricCollectorProvider.class).in(Scopes.SINGLETON);
// activeTrace
- TypeLiteral> activeTraceCollector = new TypeLiteral>() {};
+ TypeLiteral>activeTraceCollector=new TypeLiteral>(){};
bind(activeTraceCollector).toProvider(ActiveTraceMetricCollectorProvider.class).in(Scopes.SINGLETON);
// responseTime
- TypeLiteral> responseTimeCollector = new TypeLiteral>() {};
+ TypeLiteral>responseTimeCollector=new TypeLiteral>(){};
bind(responseTimeCollector).toProvider(ResponseTimeMetricCollectorProvider.class).in(Scopes.SINGLETON);
// datasource
- TypeLiteral> datasourceCollector = new TypeLiteral>() {};
+ TypeLiteral>datasourceCollector=new TypeLiteral>(){};
bind(datasourceCollector).toProvider(DataSourceMetricCollectorProvider.class).in(Scopes.SINGLETON);
// deadlock
- TypeLiteral> deadlockCollector = new TypeLiteral>() {};
+ TypeLiteral>deadlockCollector=new TypeLiteral>(){};
bind(deadlockCollector).toProvider(DeadlockMetricCollectorProvider.class).in(Scopes.SINGLETON);
// totalThread
- TypeLiteral> totalThreadCountCollector = new TypeLiteral>() {};
+ TypeLiteral>totalThreadCountCollector=new TypeLiteral>(){};
bind(totalThreadCountCollector).toProvider(TotalThreadMetricCollectorProvider.class).in(Scopes.SINGLETON);
// loadedClass
- TypeLiteral> loadedClassCollector = new TypeLiteral>() {};
+ TypeLiteral>loadedClassCollector=new TypeLiteral>(){};
bind(loadedClassCollector).toProvider(LoadedClassMetricCollectorProvider.class).in(Scopes.SINGLETON);
// stat
- TypeLiteral> statMetric = new TypeLiteral>() {};
+ TypeLiteral>statMetric=new TypeLiteral>(){};
bind(statMetric).annotatedWith(Names.named("AgentStatCollector"))
- .to(AgentStatCollector.class).in(Scopes.SINGLETON);
+ .to(AgentStatCollector.class).in(Scopes.SINGLETON);
}
}
\ No newline at end of file
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/AgentInfoSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/AgentInfoSenderProvider.java
index f255ac4535da..523b25949815 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/AgentInfoSenderProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/AgentInfoSenderProvider.java
@@ -18,15 +18,16 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
+import com.navercorp.pinpoint.common.profiler.message.ResultResponse;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.AgentInfoSender;
import com.navercorp.pinpoint.profiler.context.ServerMetaDataRegistryService;
import com.navercorp.pinpoint.profiler.context.config.ContextConfig;
import com.navercorp.pinpoint.profiler.context.module.AgentDataSender;
import com.navercorp.pinpoint.profiler.context.module.ResultConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.ResultResponse;
import com.navercorp.pinpoint.profiler.util.AgentInfoFactory;
import java.util.Objects;
@@ -38,7 +39,7 @@
public class AgentInfoSenderProvider implements Provider {
private final ContextConfig contextConfig;
- private final Provider> enhancedDataSenderProvider;
+ private final Provider> enhancedDataSenderProvider;
private final Provider agentInfoFactoryProvider;
private final ServerMetaDataRegistryService serverMetaDataRegistryService;
private final MessageConverter messageConverter;
@@ -46,7 +47,7 @@ public class AgentInfoSenderProvider implements Provider {
@Inject
public AgentInfoSenderProvider(
ContextConfig contextConfig,
- @AgentDataSender Provider> enhancedDataSenderProvider,
+ @AgentDataSender Provider> enhancedDataSenderProvider,
Provider agentInfoFactoryProvider,
ServerMetaDataRegistryService serverMetaDataRegistryService,
@ResultConverter MessageConverter messageConverter) {
@@ -59,7 +60,7 @@ public AgentInfoSenderProvider(
@Override
public AgentInfoSender get() {
- final EnhancedDataSender enhancedDataSender = this.enhancedDataSenderProvider.get();
+ final EnhancedDataSender enhancedDataSender = this.enhancedDataSenderProvider.get();
final AgentInfoFactory agentInfoFactory = this.agentInfoFactoryProvider.get();
final AgentInfoSender agentInfoSender = new AgentInfoSender.Builder(enhancedDataSender, agentInfoFactory)
.sendInterval(contextConfig.getAgentInfoSendRetryInterval())
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/CommandDispatcherProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/CommandDispatcherProvider.java
deleted file mode 100644
index c0d061c5b437..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/CommandDispatcherProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2017 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import java.util.Objects;
-import com.navercorp.pinpoint.profiler.context.active.ActiveTraceRepository;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.receiver.CommandDispatcher;
-import com.navercorp.pinpoint.profiler.receiver.ProfilerCommandLocatorBuilder;
-import com.navercorp.pinpoint.profiler.receiver.ProfilerCommandServiceLocator;
-import com.navercorp.pinpoint.profiler.receiver.service.ActiveThreadService;
-import com.navercorp.pinpoint.profiler.receiver.service.EchoService;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class CommandDispatcherProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
- private final ActiveTraceRepository activeTraceRepository;
-
- @Inject
- public CommandDispatcherProvider(ThriftTransportConfig thriftTransportConfig, Provider activeTraceRepositoryProvider) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- Objects.requireNonNull(activeTraceRepositoryProvider, "activeTraceRepositoryProvider");
- this.activeTraceRepository = activeTraceRepositoryProvider.get();
- }
-
- @Override
- public CommandDispatcher get() {
- ProfilerCommandLocatorBuilder builder = new ProfilerCommandLocatorBuilder();
- builder.addService(new EchoService());
- if (activeTraceRepository != null) {
- ActiveThreadService activeThreadService = new ActiveThreadService(thriftTransportConfig, activeTraceRepository);
- builder.addService(activeThreadService);
- }
-
- ProfilerCommandServiceLocator commandServiceLocator = builder.build();
- CommandDispatcher commandDispatcher = new CommandDispatcher(commandServiceLocator);
- return commandDispatcher;
- }
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/StorageFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/StorageFactoryProvider.java
index d4c3fa57f265..d9f8bc646686 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/StorageFactoryProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/StorageFactoryProvider.java
@@ -18,6 +18,7 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.context.config.ContextConfig;
import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
@@ -25,9 +26,8 @@
import com.navercorp.pinpoint.profiler.context.storage.StorageFactory;
import com.navercorp.pinpoint.profiler.context.storage.TraceLogDelegateStorage;
import com.navercorp.pinpoint.profiler.context.storage.TraceLogDelegateStorageFactory;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import java.util.Objects;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/TraceDataFormatVersionProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/TraceDataFormatVersionProvider.java
index 185ae3a3104f..65ee6b158097 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/TraceDataFormatVersionProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/TraceDataFormatVersionProvider.java
@@ -21,8 +21,8 @@
import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
import com.navercorp.pinpoint.bootstrap.config.TransportModule;
import com.navercorp.pinpoint.profiler.context.TraceDataFormatVersion;
-import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* @author Woonduk Kang(emeroad)
@@ -40,15 +40,6 @@ public TraceDataFormatVersionProvider(ProfilerConfig profilerConfig) {
private TraceDataFormatVersion getVersion(ProfilerConfig profilerConfig) {
final TransportModule transportModule = profilerConfig.getTransportModule();
logger.info("TransportModule:{}", transportModule);
- if (TransportModule.THRIFT == transportModule) {
- final String version = profilerConfig.readString(TraceDataFormatVersion.THRIFT_TRACE_VERSION_KEY, "v1");
- if ("v1".equalsIgnoreCase(version)) {
- return TraceDataFormatVersion.V1;
- }
- throw new UnsupportedOperationException("unknown " + TraceDataFormatVersion.THRIFT_TRACE_VERSION_KEY + ":" + version);
- }
-
-
if (TransportModule.GRPC == transportModule) {
final String version = profilerConfig.readString(TraceDataFormatVersion.GRPC_TRACE_VERSION_KEY, "v2");
if ("v2".equalsIgnoreCase(version)) {
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/AgentGrpcDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/AgentGrpcDataSenderProvider.java
index a20fe80c5f03..7c6386618dd0 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/AgentGrpcDataSenderProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/AgentGrpcDataSenderProvider.java
@@ -19,17 +19,19 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.client.ChannelFactory;
import com.navercorp.pinpoint.grpc.client.ChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.DefaultChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.HeaderFactory;
import com.navercorp.pinpoint.grpc.client.UnaryCallDeadlineInterceptor;
import com.navercorp.pinpoint.grpc.client.config.ClientOption;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.active.ActiveTraceRepository;
import com.navercorp.pinpoint.profiler.context.grpc.config.GrpcTransportConfig;
import com.navercorp.pinpoint.profiler.context.module.AgentDataSender;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
import com.navercorp.pinpoint.profiler.receiver.ProfilerCommandLocatorBuilder;
import com.navercorp.pinpoint.profiler.receiver.ProfilerCommandServiceLocator;
@@ -37,7 +39,6 @@
import com.navercorp.pinpoint.profiler.receiver.grpc.GrpcActiveThreadDumpService;
import com.navercorp.pinpoint.profiler.receiver.grpc.GrpcActiveThreadLightDumpService;
import com.navercorp.pinpoint.profiler.receiver.grpc.GrpcEchoService;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.AgentGrpcDataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.ReconnectExecutor;
import io.grpc.ClientInterceptor;
@@ -54,7 +55,7 @@
/**
* @author jaehong.kim
*/
-public class AgentGrpcDataSenderProvider implements Provider> {
+public class AgentGrpcDataSenderProvider implements Provider> {
private final Logger logger = LogManager.getLogger(this.getClass());
@@ -100,7 +101,7 @@ public void setClientInterceptor(@AgentDataSender List client
}
@Override
- public EnhancedDataSender get() {
+ public EnhancedDataSender get() {
final String collectorIp = grpcTransportConfig.getAgentCollectorIp();
final int collectorPort = grpcTransportConfig.getAgentCollectorPort();
final boolean sslEnable = grpcTransportConfig.isAgentSslEnable();
@@ -118,7 +119,7 @@ public EnhancedDataSender get() {
channelFactory, reconnectExecutor, retransmissionExecutor, profilerCommandServiceLocator);
}
- protected EnhancedDataSender newAgentGrpcDataSender(String collectorIp, int collectorPort, int senderExecutorQueueSize,
+ protected EnhancedDataSender newAgentGrpcDataSender(String collectorIp, int collectorPort, int senderExecutorQueueSize,
MessageConverter messageConverter,
ChannelFactory channelFactory, ReconnectExecutor reconnectExecutor,
ScheduledExecutorService retransmissionExecutor,
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/MetadataGrpcDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/MetadataGrpcDataSenderProvider.java
index 371f69a85a85..11df22b3dc6b 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/MetadataGrpcDataSenderProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/MetadataGrpcDataSenderProvider.java
@@ -19,17 +19,18 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.client.ChannelFactory;
import com.navercorp.pinpoint.grpc.client.ChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.DefaultChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.HeaderFactory;
import com.navercorp.pinpoint.grpc.client.UnaryCallDeadlineInterceptor;
import com.navercorp.pinpoint.grpc.client.config.ClientOption;
+import com.navercorp.pinpoint.io.ResponseMessage;
import com.navercorp.pinpoint.profiler.context.grpc.config.GrpcTransportConfig;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.MetadataGrpcDataSender;
import io.grpc.ClientInterceptor;
import io.grpc.NameResolverProvider;
@@ -43,7 +44,7 @@
/**
* @author jaehong.kim
*/
-public class MetadataGrpcDataSenderProvider implements Provider> {
+public class MetadataGrpcDataSenderProvider implements Provider> {
private final Logger logger = LogManager.getLogger(this.getClass());
@@ -74,7 +75,7 @@ public void setClientInterceptor(@MetadataDataSender List cli
}
@Override
- public EnhancedDataSender get() {
+ public EnhancedDataSender get() {
final String collectorIp = grpcTransportConfig.getMetadataCollectorIp();
final int collectorPort = grpcTransportConfig.getMetadataCollectorPort();
final boolean sslEnable = grpcTransportConfig.isMetadataSslEnable();
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/SpanGrpcDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/SpanGrpcDataSenderProvider.java
index db1b0ca74dee..a6efa52311b0 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/SpanGrpcDataSenderProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/SpanGrpcDataSenderProvider.java
@@ -19,6 +19,8 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.client.ChannelFactory;
import com.navercorp.pinpoint.grpc.client.ChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.DefaultChannelFactoryBuilder;
@@ -31,8 +33,6 @@
import com.navercorp.pinpoint.profiler.context.SpanType;
import com.navercorp.pinpoint.profiler.context.grpc.config.GrpcTransportConfig;
import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.ReconnectExecutor;
import com.navercorp.pinpoint.profiler.sender.grpc.SimpleStreamState;
import com.navercorp.pinpoint.profiler.sender.grpc.SpanGrpcDataSender;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/StatGrpcDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/StatGrpcDataSenderProvider.java
index a164d2ba08fd..49d3ad7cab16 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/StatGrpcDataSenderProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/grpc/StatGrpcDataSenderProvider.java
@@ -19,6 +19,8 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.protobuf.GeneratedMessageV3;
+import com.navercorp.pinpoint.common.profiler.message.DataSender;
+import com.navercorp.pinpoint.common.profiler.message.MessageConverter;
import com.navercorp.pinpoint.grpc.client.ChannelFactory;
import com.navercorp.pinpoint.grpc.client.ChannelFactoryBuilder;
import com.navercorp.pinpoint.grpc.client.DefaultChannelFactoryBuilder;
@@ -27,9 +29,7 @@
import com.navercorp.pinpoint.grpc.client.config.ClientOption;
import com.navercorp.pinpoint.profiler.context.grpc.config.GrpcTransportConfig;
import com.navercorp.pinpoint.profiler.context.module.StatDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
import com.navercorp.pinpoint.profiler.sender.grpc.ReconnectExecutor;
import com.navercorp.pinpoint.profiler.sender.grpc.StatGrpcDataSender;
import io.grpc.ClientInterceptor;
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/ApiMetaDataServiceProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/ApiMetaDataServiceProvider.java
index 6f9b362cdf4d..a13a29e3c264 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/ApiMetaDataServiceProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/ApiMetaDataServiceProvider.java
@@ -18,12 +18,13 @@
import com.google.inject.Inject;
import com.google.inject.Provider;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
+import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
import com.navercorp.pinpoint.profiler.metadata.ApiMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.DefaultApiMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.cache.SimpleCache;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import java.util.Objects;
@@ -32,11 +33,11 @@
*/
public class ApiMetaDataServiceProvider implements Provider {
- private final Provider> enhancedDataSenderProvider;
+ private final Provider> enhancedDataSenderProvider;
private final SimpleCacheFactory simpleCacheFactory;
@Inject
- public ApiMetaDataServiceProvider(@MetadataDataSender Provider> enhancedDataSenderProvider, SimpleCacheFactory simpleCacheFactory) {
+ public ApiMetaDataServiceProvider(@MetadataDataSender Provider> enhancedDataSenderProvider, SimpleCacheFactory simpleCacheFactory) {
this.enhancedDataSenderProvider = Objects.requireNonNull(enhancedDataSenderProvider, "enhancedDataSenderProvider");
this.simpleCacheFactory = Objects.requireNonNull(simpleCacheFactory, "simpleCacheFactory");
@@ -44,7 +45,7 @@ public ApiMetaDataServiceProvider(@MetadataDataSender Provider enhancedDataSender = this.enhancedDataSenderProvider.get();
+ final EnhancedDataSender enhancedDataSender = this.enhancedDataSenderProvider.get();
final SimpleCache simpleCache = simpleCacheFactory.newSimpleCache();
return new DefaultApiMetaDataService(enhancedDataSender, simpleCache);
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SimpleCacheFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SimpleCacheFactoryProvider.java
index 2b3f771e618e..8df92af604a5 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SimpleCacheFactoryProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SimpleCacheFactoryProvider.java
@@ -30,9 +30,10 @@ public class SimpleCacheFactoryProvider implements Provider
@Inject
public SimpleCacheFactoryProvider(TransportModule transportModule) {
- if (TransportModule.THRIFT == transportModule) {
- this.type = IdAllocator.ID_TYPE.ZIGZAG;
- } else if (TransportModule.GRPC == transportModule) {
+// if (TransportModule.THRIFT == transportModule) {
+// this.type = IdAllocator.ID_TYPE.ZIGZAG;
+// }
+ if (TransportModule.GRPC == transportModule) {
this.type = IdAllocator.ID_TYPE.BYPASS;
} else {
throw new IllegalStateException("Unsupported transportModule:" + transportModule);
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SqlMetadataServiceProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SqlMetadataServiceProvider.java
index e5714e382710..f4fa78224a87 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SqlMetadataServiceProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/SqlMetadataServiceProvider.java
@@ -18,12 +18,13 @@
import com.google.inject.Inject;
import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
+import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
import com.navercorp.pinpoint.profiler.metadata.DefaultSqlMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.metadata.SqlMetaDataService;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import javax.inject.Provider;
import java.util.Objects;
@@ -34,12 +35,12 @@
public class SqlMetadataServiceProvider implements Provider {
private final ProfilerConfig profilerConfig;
- private final EnhancedDataSender enhancedDataSender;
+ private final EnhancedDataSender enhancedDataSender;
private final SimpleCacheFactory simpleCacheFactory;
@Inject
public SqlMetadataServiceProvider(ProfilerConfig profilerConfig,
- @MetadataDataSender EnhancedDataSender enhancedDataSender,
+ @MetadataDataSender EnhancedDataSender enhancedDataSender,
SimpleCacheFactory simpleCacheFactory) {
this.profilerConfig = Objects.requireNonNull(profilerConfig, "profilerConfig");
this.enhancedDataSender = Objects.requireNonNull(enhancedDataSender, "enhancedDataSender");
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/StringMetadataServiceProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/StringMetadataServiceProvider.java
index 888148c7faef..9b1e73d09728 100644
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/StringMetadataServiceProvider.java
+++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/metadata/StringMetadataServiceProvider.java
@@ -17,12 +17,13 @@
package com.navercorp.pinpoint.profiler.context.provider.metadata;
import com.google.inject.Inject;
+import com.navercorp.pinpoint.common.profiler.message.EnhancedDataSender;
+import com.navercorp.pinpoint.io.ResponseMessage;
+import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
import com.navercorp.pinpoint.profiler.metadata.DefaultStringMetaDataService;
import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.cache.SimpleCache;
import com.navercorp.pinpoint.profiler.metadata.StringMetaDataService;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
import javax.inject.Provider;
import java.util.Objects;
@@ -33,11 +34,11 @@
*/
public class StringMetadataServiceProvider implements Provider {
- private final EnhancedDataSender enhancedDataSender;
+ private final EnhancedDataSender enhancedDataSender;
private final SimpleCacheFactory simpleCacheFactory;
@Inject
- public StringMetadataServiceProvider(@MetadataDataSender EnhancedDataSender enhancedDataSender, SimpleCacheFactory simpleCacheFactory) {
+ public StringMetadataServiceProvider(@MetadataDataSender EnhancedDataSender enhancedDataSender, SimpleCacheFactory simpleCacheFactory) {
this.enhancedDataSender = Objects.requireNonNull(enhancedDataSender, "enhancedDataSender");
this.simpleCacheFactory = Objects.requireNonNull(simpleCacheFactory, "simpleCacheFactory");
}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/AbstractClientFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/AbstractClientFactoryProvider.java
deleted file mode 100644
index 275f658262d9..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/AbstractClientFactoryProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.navercorp.pinpoint.common.util.ByteSizeUnit;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-/**
- * @author Taejin Koo
- */
-public abstract class AbstractClientFactoryProvider {
-
- protected final Logger logger = LogManager.getLogger(this.getClass());
-
- protected int getByteSize(String value, int defaultSize) {
- try {
- long byteSize = ByteSizeUnit.getByteSize(value);
- if (byteSize > Integer.MAX_VALUE) {
- logger.warn("must be writeBufferWaterMark({}) range is 0 ~ {}", value, Integer.MAX_VALUE);
- byteSize = Integer.MAX_VALUE;
- } else if (byteSize <= 0) {
- logger.warn("must be writeBufferWaterMark({}) range is 0 ~ {}", value, Integer.MAX_VALUE);
- byteSize = defaultSize;
- }
- return (int) byteSize;
- } catch (Exception e) {
- logger.warn("Failed to get byteSize({}). byteSize will be defaultSize:{}", value, defaultSize);
- }
- return defaultSize;
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/ConnectionFactoryProviderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/ConnectionFactoryProviderProvider.java
deleted file mode 100644
index 69145efc5c7c..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/ConnectionFactoryProviderProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.rpc.client.ClientCodecPipelineFactory;
-import com.navercorp.pinpoint.rpc.client.ConnectionFactoryProvider;
-import com.navercorp.pinpoint.rpc.client.DefaultConnectionFactoryProvider;
-
-/**
- * @author Taejin Koo
- */
-public class ConnectionFactoryProviderProvider implements Provider {
-
- @Inject
- public ConnectionFactoryProviderProvider() {
- }
-
- @Override
- public ConnectionFactoryProvider get() {
- return new DefaultConnectionFactoryProvider(new ClientCodecPipelineFactory());
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/HeaderTBaseSerializerProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/HeaderTBaseSerializerProvider.java
deleted file mode 100644
index cb9902cab9bc..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/HeaderTBaseSerializerProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
-import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializerFactory;
-
-/**
- * @author Taejin Koo
- */
-public class HeaderTBaseSerializerProvider implements Provider {
-
- private final HeaderTBaseSerializerFactory serializerFactory = new HeaderTBaseSerializerFactory();
-
- @Inject
- public HeaderTBaseSerializerProvider() {
- }
-
- @Override
- public HeaderTBaseSerializer get() {
- return serializerFactory.createSerializer();
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/MetadataMessageConverterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/MetadataMessageConverterProvider.java
deleted file mode 100644
index 5e27099f0bdd..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/MetadataMessageConverterProvider.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.module.AgentId;
-import com.navercorp.pinpoint.profiler.context.module.AgentStartTime;
-import com.navercorp.pinpoint.profiler.context.module.ApplicationName;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.MetadataMessageConverter;
-import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import org.apache.thrift.TBase;
-
-import java.util.Objects;
-
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class MetadataMessageConverterProvider implements Provider>> {
-
- private final String applicationName;
- private final String agentId;
- private final long agentStartTime;
-
- @Inject
- public MetadataMessageConverterProvider(@ApplicationName String applicationName, @AgentId String agentId, @AgentStartTime long agentStartTime) {
- this.applicationName = Objects.requireNonNull(applicationName, "applicationName");
- this.agentId = Objects.requireNonNull(agentId, "agentId");
- this.agentStartTime = agentStartTime;
- }
-
-
- @Override
- public MessageConverter> get() {
- return new MetadataMessageConverter(applicationName, agentId, agentStartTime);
- }
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/PinpointClientFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/PinpointClientFactoryProvider.java
deleted file mode 100644
index 1a59a5817948..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/PinpointClientFactoryProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.common.util.ByteSizeUnit;
-import com.navercorp.pinpoint.profiler.AgentInformation;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.receiver.CommandDispatcher;
-import com.navercorp.pinpoint.rpc.client.ConnectionFactoryProvider;
-import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import com.navercorp.pinpoint.rpc.packet.HandshakePropertyType;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class PinpointClientFactoryProvider extends AbstractClientFactoryProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
- private final Provider agentInformation;
- private final Provider connectionFactoryProvider;
- private final CommandDispatcher commandDispatcher;
-
- @Inject
- public PinpointClientFactoryProvider(ThriftTransportConfig thriftTransportConfig, Provider agentInformation, CommandDispatcher commandDispatcher, Provider connectionFactoryProvider) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- this.agentInformation = Objects.requireNonNull(agentInformation, "agentInformation");
- this.commandDispatcher = Objects.requireNonNull(commandDispatcher, "commandDispatcher");
- this.connectionFactoryProvider = Objects.requireNonNull(connectionFactoryProvider, "connectionFactoryProvider");
-
- }
-
- public PinpointClientFactory get() {
- PinpointClientFactory pinpointClientFactory = new DefaultPinpointClientFactory(connectionFactoryProvider.get());
- pinpointClientFactory.setWriteTimeoutMillis(thriftTransportConfig.getTcpDataSenderPinpointClientWriteTimeout());
- pinpointClientFactory.setRequestTimeoutMillis(thriftTransportConfig.getTcpDataSenderPinpointClientRequestTimeout());
- pinpointClientFactory.setReconnectDelay(thriftTransportConfig.getTcpDataSenderPinpointClientReconnectInterval());
- pinpointClientFactory.setPingDelay(thriftTransportConfig.getTcpDataSenderPinpointClientPingInterval());
- pinpointClientFactory.setEnableWorkerPacketDelay(thriftTransportConfig.getTcpDataSenderPinpointClientHandshakeInterval());
-
- int writeBufferHighWaterMark = getByteSize(thriftTransportConfig.getTcpDataSenderPinpointClientWriteBufferHighWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(32));
- int writeBufferLowWaterMark = getByteSize(thriftTransportConfig.getTcpDataSenderPinpointClientWriteBufferLowWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(16));
- if (writeBufferLowWaterMark > writeBufferHighWaterMark) {
- logger.warn("must be writeBufferHighWaterMark({}) >= writeBufferLowWaterMark({})", writeBufferHighWaterMark, writeBufferLowWaterMark);
- writeBufferLowWaterMark = writeBufferHighWaterMark;
- }
- pinpointClientFactory.setWriteBufferHighWaterMark(writeBufferHighWaterMark);
- pinpointClientFactory.setWriteBufferLowWaterMark(writeBufferLowWaterMark);
-
- AgentInformation agentInformation = this.agentInformation.get();
- Map properties = toMap(agentInformation);
-
- boolean isSupportServerMode = thriftTransportConfig.isTcpDataSenderCommandAcceptEnable();
-
- if (isSupportServerMode) {
- pinpointClientFactory.setMessageListener(commandDispatcher);
- pinpointClientFactory.setServerStreamChannelMessageHandler(commandDispatcher);
-
- properties.put(HandshakePropertyType.SUPPORT_SERVER.getName(), true);
- properties.put(HandshakePropertyType.SUPPORT_COMMAND_LIST.getName(), commandDispatcher.getRegisteredCommandServiceCodes());
- } else {
- properties.put(HandshakePropertyType.SUPPORT_SERVER.getName(), false);
- }
-
- pinpointClientFactory.setProperties(properties);
- return pinpointClientFactory;
- }
-
- private Map toMap(AgentInformation agentInformation) {
- Map map = new HashMap();
-
- map.put(HandshakePropertyType.AGENT_ID.getName(), agentInformation.getAgentId());
- map.put(HandshakePropertyType.APPLICATION_NAME.getName(), agentInformation.getApplicationName());
- map.put(HandshakePropertyType.HOSTNAME.getName(), agentInformation.getMachineName());
- map.put(HandshakePropertyType.IP.getName(), agentInformation.getHostIp());
- map.put(HandshakePropertyType.PID.getName(), agentInformation.getPid());
- map.put(HandshakePropertyType.SERVICE_TYPE.getName(), agentInformation.getServerType().getCode());
- map.put(HandshakePropertyType.START_TIMESTAMP.getName(), agentInformation.getStartTime());
- map.put(HandshakePropertyType.VERSION.getName(), agentInformation.getAgentVersion());
-
- return map;
- }
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanClientFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanClientFactoryProvider.java
deleted file mode 100644
index ddc8c8e28607..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanClientFactoryProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.common.util.ByteSizeUnit;
-import com.navercorp.pinpoint.profiler.context.module.SpanStatChannelFactory;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.jboss.netty.channel.ChannelFactory;
-import org.jboss.netty.util.Timer;
-
-import java.util.Objects;
-
-/**
- * @author Taejin Koo
- */
-public class SpanClientFactoryProvider extends AbstractClientFactoryProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
- private final Provider channelFactoryProvider;
- private final Provider spanStatConnectTimer;
-
- @Inject
- public SpanClientFactoryProvider(ThriftTransportConfig thriftTransportConfig,
- @SpanStatChannelFactory Provider channelFactoryProvider,
- @SpanStatChannelFactory Provider spanStatConnectTimer) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- this.channelFactoryProvider = Objects.requireNonNull(channelFactoryProvider, "channelFactoryProvider");
- this.spanStatConnectTimer = Objects.requireNonNull(spanStatConnectTimer, "spanStatConnectTimer");
- }
-
- public PinpointClientFactory get() {
- if (!"TCP".equalsIgnoreCase(thriftTransportConfig.getSpanDataSenderTransportType())) {
- return null;
- }
-
- PinpointClientFactory pinpointClientFactory = new DefaultPinpointClientFactory(channelFactoryProvider.get(), spanStatConnectTimer.get());
- pinpointClientFactory.setWriteTimeoutMillis(1000 * 3);
- pinpointClientFactory.setRequestTimeoutMillis(1000 * 5);
-
- int writeBufferHighWaterMark = getByteSize(thriftTransportConfig.getSpanDataSenderWriteBufferHighWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(16));
- int writeBufferLowWaterMark = getByteSize(thriftTransportConfig.getSpanDataSenderWriteBufferLowWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(8));
- if (writeBufferLowWaterMark > writeBufferHighWaterMark) {
- logger.warn("must be writeBufferHighWaterMark({}) >= writeBufferLowWaterMark({})", writeBufferHighWaterMark, writeBufferLowWaterMark);
- writeBufferLowWaterMark = writeBufferHighWaterMark;
- }
- pinpointClientFactory.setWriteBufferHighWaterMark(writeBufferHighWaterMark);
- pinpointClientFactory.setWriteBufferLowWaterMark(writeBufferLowWaterMark);
-
- return pinpointClientFactory;
- }
-
-}
\ No newline at end of file
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanDataSenderProvider.java
deleted file mode 100644
index 691075087799..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanDataSenderProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.SpanType;
-import com.navercorp.pinpoint.profiler.context.module.SpanDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.MessageSerializer;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
-import com.navercorp.pinpoint.profiler.sender.ThriftMessageSerializer;
-import com.navercorp.pinpoint.profiler.sender.UdpDataSenderFactory;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.apache.thrift.TBase;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Objects;
-
-/**
- * @author Taejin Koo
- */
-public class SpanDataSenderProvider implements Provider> {
-
- private final Logger logger = LogManager.getLogger(this.getClass());
-
- private static final String UDP_EXECUTOR_NAME = "Pinpoint-UdpSpanDataExecutor";
-
- private final Provider clientFactoryProvider;
-
- private final String ip;
- private final int port;
- private final int writeQueueSize;
- private final int timeout;
- private final int sendBufferSize;
- private final String ioType;
- private final String transportType;
- private final MessageConverter> messageConverter;
-
- @Inject
- public SpanDataSenderProvider(ThriftTransportConfig thriftTransportConfig,
- @SpanDataSender Provider clientFactoryProvider,
- @SpanDataSender MessageConverter> messageConverter) {
- Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- this.clientFactoryProvider = Objects.requireNonNull(clientFactoryProvider, "clientFactoryProvider");
-
- this.ip = thriftTransportConfig.getCollectorSpanServerIp();
- this.port = thriftTransportConfig.getCollectorSpanServerPort();
- this.writeQueueSize = thriftTransportConfig.getSpanDataSenderWriteQueueSize();
- this.timeout = thriftTransportConfig.getSpanDataSenderSocketTimeout();
- this.sendBufferSize = thriftTransportConfig.getSpanDataSenderSocketSendBufferSize();
- this.ioType = thriftTransportConfig.getSpanDataSenderSocketType();
- this.transportType = thriftTransportConfig.getSpanDataSenderTransportType();
- this.messageConverter = Objects.requireNonNull(messageConverter, "messageConverter");
- }
-
- @Override
- public DataSender get() {
- if ("TCP".equalsIgnoreCase(transportType)) {
- if ("OIO".equalsIgnoreCase(ioType)) {
- logger.warn("TCP transport not support OIO type.(only support NIO)");
- }
-
- PinpointClientFactory pinpointClientFactory = clientFactoryProvider.get();
- MessageSerializer messageSerializer = new ThriftMessageSerializer<>(messageConverter);
- return new TcpDataSender<>("SpanDataSender", ip, port, pinpointClientFactory, messageSerializer, writeQueueSize);
- } else {
- UdpDataSenderFactory factory = new UdpDataSenderFactory<>(ip, port, UDP_EXECUTOR_NAME, writeQueueSize, timeout, sendBufferSize, messageConverter);
- return factory.create(ioType);
- }
- }
-
- @Override
- public String toString() {
- final StringBuilder sb = new StringBuilder("SpanDataSenderProvider{");
- sb.append("ip='").append(ip).append('\'');
- sb.append(", port=").append(port);
- sb.append(", writeQueueSize=").append(writeQueueSize);
- sb.append(", timeout=").append(timeout);
- sb.append(", sendBufferSize=").append(sendBufferSize);
- sb.append(", ioType='").append(ioType).append('\'');
- sb.append(", transportType='").append(transportType).append('\'');
- sb.append('}');
- return sb.toString();
- }
-
-}
-
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanProcessorProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanProcessorProvider.java
deleted file mode 100644
index 5ff1f3a5f908..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanProcessorProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.TraceDataFormatVersion;
-import com.navercorp.pinpoint.profiler.context.compress.SpanProcessor;
-import com.navercorp.pinpoint.profiler.context.compress.SpanProcessorV1;
-import com.navercorp.pinpoint.thrift.dto.TSpan;
-import com.navercorp.pinpoint.thrift.dto.TSpanChunk;
-
-import java.util.Objects;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class SpanProcessorProvider implements Provider> {
-
- private final TraceDataFormatVersion version;
-
- @Inject
- public SpanProcessorProvider(TraceDataFormatVersion version) {
- this.version = Objects.requireNonNull(version, "version");
- }
-
- @Override
- public SpanProcessor get() {
- if (version == TraceDataFormatVersion.V1) {
- return new SpanProcessorV1();
- }
- throw new UnsupportedOperationException("unknown version :" + version);
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatChannelFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatChannelFactoryProvider.java
deleted file mode 100644
index 8efbdd4227c2..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatChannelFactoryProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.module.SpanStatChannelFactory;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.rpc.client.ClientChannelFactory;
-import org.jboss.netty.channel.ChannelFactory;
-import org.jboss.netty.util.Timer;
-
-import java.util.Objects;
-
-/**
- * @author Taejin Koo
- */
-public class SpanStatChannelFactoryProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
- private final Provider connectTimerProvider;
-
- @Inject
- public SpanStatChannelFactoryProvider(ThriftTransportConfig thriftTransportConfig, @SpanStatChannelFactory Provider connectTimerProvider) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- this.connectTimerProvider = Objects.requireNonNull(connectTimerProvider, "connectTimerProvider");
- }
-
- @Override
- public ChannelFactory get() {
- int workerCount = 0;
-
- if ("TCP".equalsIgnoreCase(thriftTransportConfig.getSpanDataSenderTransportType())) {
- workerCount++;
- }
- if ("TCP".equalsIgnoreCase(thriftTransportConfig.getStatDataSenderTransportType())) {
- workerCount++;
- }
-
- if (workerCount == 0) {
- return null;
- } else {
- Timer timer = connectTimerProvider.get();
-
- final ClientChannelFactory clientChannelFactory = new ClientChannelFactory();
- return clientChannelFactory.createChannelFactory(1, workerCount, timer);
- }
- }
-
-}
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatConnectTimerProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatConnectTimerProvider.java
deleted file mode 100644
index dd6d5f65039a..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/SpanStatConnectTimerProvider.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.rpc.util.TimerFactory;
-import org.jboss.netty.util.HashedWheelTimer;
-import org.jboss.netty.util.Timer;
-
-import java.util.Objects;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author Taejin Koo
- */
-public class SpanStatConnectTimerProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
-
- @Inject
- public SpanStatConnectTimerProvider(ThriftTransportConfig thriftTransportConfig) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- }
-
- @Override
- public Timer get() {
- if ("TCP".equalsIgnoreCase(thriftTransportConfig.getSpanDataSenderTransportType()) || "TCP".equalsIgnoreCase(thriftTransportConfig.getStatDataSenderTransportType())) {
- return createTimer("Pinpoint-SpanStatConnect-Timer");
- }
- return null;
- }
-
- private static Timer createTimer(String timerName) {
- HashedWheelTimer timer = TimerFactory.createHashedWheelTimer(timerName, 100, TimeUnit.MILLISECONDS, 512);
- timer.start();
- return timer;
- }
-
-}
-
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatClientFactoryProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatClientFactoryProvider.java
deleted file mode 100644
index 49e27128dc4f..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatClientFactoryProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.common.util.ByteSizeUnit;
-import com.navercorp.pinpoint.profiler.context.module.SpanStatChannelFactory;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.rpc.client.DefaultPinpointClientFactory;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.jboss.netty.channel.ChannelFactory;
-import org.jboss.netty.util.Timer;
-
-import java.util.Objects;
-
-/**
- * @author Taejin Koo
- */
-public class StatClientFactoryProvider extends AbstractClientFactoryProvider implements Provider {
-
- private final ThriftTransportConfig thriftTransportConfig;
- private final Provider channelFactoryProvider;
- private final Provider connectTimerProvider;
-
- @Inject
- public StatClientFactoryProvider(ThriftTransportConfig thriftTransportConfig,
- @SpanStatChannelFactory Provider channelFactoryProvider,
- @SpanStatChannelFactory Provider connectTimerProvider) {
- this.thriftTransportConfig = Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
- this.channelFactoryProvider = Objects.requireNonNull(channelFactoryProvider, "channelFactoryProvider");
- this.connectTimerProvider = Objects.requireNonNull(connectTimerProvider, "connectTimerProvider");
- }
-
- public PinpointClientFactory get() {
- if (!"TCP".equalsIgnoreCase(thriftTransportConfig.getStatDataSenderTransportType())) {
- return null;
- }
-
- PinpointClientFactory pinpointClientFactory = new DefaultPinpointClientFactory(channelFactoryProvider.get(), connectTimerProvider.get());
- pinpointClientFactory.setWriteTimeoutMillis(1000 * 3);
- pinpointClientFactory.setRequestTimeoutMillis(1000 * 5);
-
- int writeBufferHighWaterMark = getByteSize(thriftTransportConfig.getStatDataSenderWriteBufferHighWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(16));
- int writeBufferLowWaterMark = getByteSize(thriftTransportConfig.getStatDataSenderWriteBufferLowWaterMark(), ByteSizeUnit.MEGA_BYTES.toBytesSizeAsInt(8));
- if (writeBufferLowWaterMark > writeBufferHighWaterMark) {
- logger.warn("must be writeBufferHighWaterMark({}) >= writeBufferLowWaterMark({})", writeBufferHighWaterMark, writeBufferLowWaterMark);
- writeBufferLowWaterMark = writeBufferHighWaterMark;
- }
- pinpointClientFactory.setWriteBufferHighWaterMark(writeBufferHighWaterMark);
- pinpointClientFactory.setWriteBufferLowWaterMark(writeBufferLowWaterMark);
-
- return pinpointClientFactory;
- }
-
-}
\ No newline at end of file
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatDataSenderProvider.java
deleted file mode 100644
index 95879f409e07..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/StatDataSenderProvider.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.module.StatDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.monitor.metric.MetricType;
-import com.navercorp.pinpoint.profiler.sender.DataSender;
-import com.navercorp.pinpoint.profiler.sender.MessageSerializer;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
-import com.navercorp.pinpoint.profiler.sender.ThriftMessageSerializer;
-import com.navercorp.pinpoint.profiler.sender.UdpDataSenderFactory;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import org.apache.thrift.TBase;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LogManager;
-
-import java.util.Objects;
-
-/**
- * @author Taejin Koo
- */
-public class StatDataSenderProvider implements Provider> {
-
- private final Logger logger = LogManager.getLogger(this.getClass());
-
- private static final String UDP_EXECUTOR_NAME = "Pinpoint-UdpStatDataExecutor";
-
- private final Provider clientFactoryProvider;
-
- private final String ip;
- private final int port;
- private final int writeQueueSize;
- private final int timeout;
- private final int sendBufferSize;
- private final String ioType;
- private final String transportType;
-
- private final MessageConverter> messageConverter;
-
- @Inject
- public StatDataSenderProvider(ThriftTransportConfig thriftTransportConfig,
- @StatDataSender Provider clientFactoryProvider,
- @StatDataSender MessageConverter> messageConverter) {
- Objects.requireNonNull(thriftTransportConfig, "thriftTransportConfig");
-
- this.clientFactoryProvider = Objects.requireNonNull(clientFactoryProvider, "clientFactoryProvider");
-
- this.ip = thriftTransportConfig.getCollectorStatServerIp();
- this.port = thriftTransportConfig.getCollectorStatServerPort();
- this.writeQueueSize = thriftTransportConfig.getStatDataSenderWriteQueueSize();
- this.timeout = thriftTransportConfig.getStatDataSenderSocketTimeout();
- this.sendBufferSize = thriftTransportConfig.getStatDataSenderSocketSendBufferSize();
- this.ioType = thriftTransportConfig.getStatDataSenderSocketType();
- this.transportType = thriftTransportConfig.getStatDataSenderTransportType();
- this.messageConverter = messageConverter;
- }
-
- @Override
- public DataSender get() {
- if ("TCP".equalsIgnoreCase(transportType)) {
- if ("OIO".equalsIgnoreCase(ioType)) {
- logger.warn("TCP transport not support OIO type.(only support NIO)");
- }
-
- PinpointClientFactory pinpointClientFactory = clientFactoryProvider.get();
- MessageSerializer messageSerializer = new ThriftMessageSerializer<>(messageConverter);
- return new TcpDataSender<>("StatDataSender", ip, port, pinpointClientFactory, messageSerializer, writeQueueSize);
- } else {
- UdpDataSenderFactory factory = new UdpDataSenderFactory<>(ip, port, UDP_EXECUTOR_NAME, writeQueueSize, timeout, sendBufferSize, messageConverter);
- return factory.create(ioType);
- }
- }
-
- @Override
- public String toString() {
- final StringBuilder sb = new StringBuilder("StatDataSenderProvider{");
- sb.append("ip='").append(ip).append('\'');
- sb.append(", port=").append(port);
- sb.append(", writeQueueSize=").append(writeQueueSize);
- sb.append(", timeout=").append(timeout);
- sb.append(", sendBufferSize=").append(sendBufferSize);
- sb.append(", ioType='").append(ioType).append('\'');
- sb.append(", transportType='").append(transportType).append('\'');
- sb.append('}');
- return sb.toString();
- }
-
-}
-
diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/TcpDataSenderProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/TcpDataSenderProvider.java
deleted file mode 100644
index 75ec72e9afc1..000000000000
--- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/thrift/TcpDataSenderProvider.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2019 NAVER Corp.
- *
- * 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.
- */
-
-package com.navercorp.pinpoint.profiler.context.provider.thrift;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-import com.navercorp.pinpoint.profiler.context.module.DefaultClientFactory;
-import com.navercorp.pinpoint.profiler.context.module.MetadataDataSender;
-import com.navercorp.pinpoint.profiler.context.thrift.MessageConverter;
-import com.navercorp.pinpoint.profiler.context.thrift.config.ThriftTransportConfig;
-import com.navercorp.pinpoint.profiler.metadata.MetaDataType;
-import com.navercorp.pinpoint.profiler.sender.EnhancedDataSender;
-import com.navercorp.pinpoint.profiler.sender.MessageSerializer;
-import com.navercorp.pinpoint.profiler.sender.TcpDataSender;
-import com.navercorp.pinpoint.profiler.sender.ThriftMessageSerializer;
-import com.navercorp.pinpoint.rpc.client.PinpointClientFactory;
-import com.navercorp.pinpoint.thrift.io.HeaderTBaseSerializer;
-import org.apache.thrift.TBase;
-
-import java.util.Objects;
-
-/**
- * @author Woonduk Kang(emeroad)
- */
-public class TcpDataSenderProvider implements Provider> {
- private final ThriftTransportConfig thriftTransportConfig;
- private final Provider clientFactoryProvider;
- private final Provider tBaseSerializerProvider;
- private final MessageConverter