Loading apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe long heartBeatTime) { InstanceHeartBeatDataDefine.InstanceHeartBeat heartBeat = new InstanceHeartBeatDataDefine.InstanceHeartBeat(); heartBeat.setId(String.valueOf(applicationInstanceId)); heartBeat.setHeartBeatTime(heartBeatTime); heartBeat.setHeartBeatTime(TimeBucketUtils.INSTANCE.getSecondTimeBucket(heartBeatTime)); heartBeat.setInstanceId(applicationInstanceId); try { logger.debug("send to instance heart beat persistence worker, id: {}", heartBeat.getId()); Loading apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/InstanceDiscoveryServiceHandler.java +5 −9 Original line number Diff line number Diff line Loading @@ -4,9 +4,9 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agentregister.instance.InstanceIDService; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.ApplicationInstance; import org.skywalking.apm.network.proto.ApplicationInstanceHeartbeat; import org.skywalking.apm.network.proto.ApplicationInstanceMapping; import org.skywalking.apm.network.proto.ApplicationInstanceRecover; import org.skywalking.apm.network.proto.Downstream; Loading @@ -26,7 +26,8 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void register(ApplicationInstance request, StreamObserver<ApplicationInstanceMapping> responseObserver) { int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), request.getRegisterTime(), buildOsInfo(request.getOsinfo())); long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); ApplicationInstanceMapping.Builder builder = ApplicationInstanceMapping.newBuilder(); builder.setApplicationId(request.getApplicationId()); builder.setApplicationInstanceId(instanceId); Loading @@ -34,15 +35,10 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp responseObserver.onCompleted(); } @Override public void heartbeat(ApplicationInstanceHeartbeat request, StreamObserver<Downstream> responseObserver) { instanceIDService.heartBeat(request.getApplicationInstanceId(), request.getHeartbeatTime()); responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } @Override public void registerRecover(ApplicationInstanceRecover request, StreamObserver<Downstream> responseObserver) { instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), request.getRegisterTime(), buildOsInfo(request.getOsinfo())); long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } Loading apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java +1 −7 Original line number Diff line number Diff line package org.skywalking.apm.collector.agentregister.instance; import org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationRegisterRemoteWorker; import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.IInstanceDAO; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; import org.skywalking.apm.collector.storage.dao.DAOContainer; import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; import org.skywalking.apm.collector.stream.StreamModuleContext; import org.skywalking.apm.collector.stream.StreamModuleGroupDefine; import org.skywalking.apm.collector.stream.worker.WorkerInvokeException; Loading Loading @@ -36,12 +36,6 @@ public class InstanceIDService { return applicationId; } public void heartBeat(int instanceId, long heartbeatTime) { logger.debug("instance heart beat, instance id: {}, heartbeat time: {}", instanceId, heartbeatTime); IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); dao.updateHeartbeatTime(instanceId, heartbeatTime); } public void recover(int instanceId, int applicationId, long registerTime, String osInfo) { logger.debug("instance recover, instance id: {}, application id: {}, register time: {}", instanceId, applicationId, registerTime); IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); Loading apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/handler/TraceSegmentServletHandler.java +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ public class TraceSegmentServletHandler extends JettyHandler { private void read(BufferedReader bufferedReader) throws IOException { JsonReader reader = new JsonReader(bufferedReader); reader.beginArray(); while (reader.hasNext()) { SegmentParse segmentParse = new SegmentParse(); Loading apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceNameCache.java→apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java +7 −7 Original line number Diff line number Diff line Loading @@ -2,25 +2,25 @@ package org.skywalking.apm.collector.agentstream.worker.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.IServiceNameDAO; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.storage.dao.DAOContainer; /** * @author pengys5 */ public class ServiceNameCache { public class ServiceCache { private static Cache<String, Integer> CACHE = CacheBuilder.newBuilder().maximumSize(2000).build(); private static Cache<Integer, String> CACHE = CacheBuilder.newBuilder().maximumSize(10000).build(); public static int get(int applicationId, String serviceName) { public static String getServiceName(int serviceId) { try { return CACHE.get(applicationId + Const.ID_SPLIT + serviceName, () -> { return CACHE.get(serviceId, () -> { IServiceNameDAO dao = (IServiceNameDAO)DAOContainer.INSTANCE.get(IServiceNameDAO.class.getName()); return dao.getServiceId(applicationId, serviceName); return dao.getServiceName(serviceId); }); } catch (Throwable e) { return 0; return Const.EMPTY_STRING; } } } Loading
apm-collector/apm-collector-agentjvm/src/main/java/org/skywalking/apm/collector/agentjvm/grpc/handler/JVMMetricsServiceHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -59,7 +59,7 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe long heartBeatTime) { InstanceHeartBeatDataDefine.InstanceHeartBeat heartBeat = new InstanceHeartBeatDataDefine.InstanceHeartBeat(); heartBeat.setId(String.valueOf(applicationInstanceId)); heartBeat.setHeartBeatTime(heartBeatTime); heartBeat.setHeartBeatTime(TimeBucketUtils.INSTANCE.getSecondTimeBucket(heartBeatTime)); heartBeat.setInstanceId(applicationInstanceId); try { logger.debug("send to instance heart beat persistence worker, id: {}", heartBeat.getId()); Loading
apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/grpc/handler/InstanceDiscoveryServiceHandler.java +5 −9 Original line number Diff line number Diff line Loading @@ -4,9 +4,9 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import io.grpc.stub.StreamObserver; import org.skywalking.apm.collector.agentregister.instance.InstanceIDService; import org.skywalking.apm.collector.core.util.TimeBucketUtils; import org.skywalking.apm.collector.server.grpc.GRPCHandler; import org.skywalking.apm.network.proto.ApplicationInstance; import org.skywalking.apm.network.proto.ApplicationInstanceHeartbeat; import org.skywalking.apm.network.proto.ApplicationInstanceMapping; import org.skywalking.apm.network.proto.ApplicationInstanceRecover; import org.skywalking.apm.network.proto.Downstream; Loading @@ -26,7 +26,8 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp @Override public void register(ApplicationInstance request, StreamObserver<ApplicationInstanceMapping> responseObserver) { int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), request.getRegisterTime(), buildOsInfo(request.getOsinfo())); long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); int instanceId = instanceIDService.getOrCreate(request.getApplicationId(), request.getAgentUUID(), timeBucket, buildOsInfo(request.getOsinfo())); ApplicationInstanceMapping.Builder builder = ApplicationInstanceMapping.newBuilder(); builder.setApplicationId(request.getApplicationId()); builder.setApplicationInstanceId(instanceId); Loading @@ -34,15 +35,10 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp responseObserver.onCompleted(); } @Override public void heartbeat(ApplicationInstanceHeartbeat request, StreamObserver<Downstream> responseObserver) { instanceIDService.heartBeat(request.getApplicationInstanceId(), request.getHeartbeatTime()); responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } @Override public void registerRecover(ApplicationInstanceRecover request, StreamObserver<Downstream> responseObserver) { instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), request.getRegisterTime(), buildOsInfo(request.getOsinfo())); long timeBucket = TimeBucketUtils.INSTANCE.getSecondTimeBucket(request.getRegisterTime()); instanceIDService.recover(request.getApplicationInstanceId(), request.getApplicationId(), timeBucket, buildOsInfo(request.getOsinfo())); responseObserver.onNext(Downstream.newBuilder().build()); responseObserver.onCompleted(); } Loading
apm-collector/apm-collector-agentregister/src/main/java/org/skywalking/apm/collector/agentregister/instance/InstanceIDService.java +1 −7 Original line number Diff line number Diff line package org.skywalking.apm.collector.agentregister.instance; import org.skywalking.apm.collector.agentstream.worker.register.application.ApplicationRegisterRemoteWorker; import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; import org.skywalking.apm.collector.agentstream.worker.register.instance.dao.IInstanceDAO; import org.skywalking.apm.collector.core.framework.CollectorContextHelper; import org.skywalking.apm.collector.storage.dao.DAOContainer; import org.skywalking.apm.collector.storage.define.register.InstanceDataDefine; import org.skywalking.apm.collector.stream.StreamModuleContext; import org.skywalking.apm.collector.stream.StreamModuleGroupDefine; import org.skywalking.apm.collector.stream.worker.WorkerInvokeException; Loading Loading @@ -36,12 +36,6 @@ public class InstanceIDService { return applicationId; } public void heartBeat(int instanceId, long heartbeatTime) { logger.debug("instance heart beat, instance id: {}, heartbeat time: {}", instanceId, heartbeatTime); IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); dao.updateHeartbeatTime(instanceId, heartbeatTime); } public void recover(int instanceId, int applicationId, long registerTime, String osInfo) { logger.debug("instance recover, instance id: {}, application id: {}, register time: {}", instanceId, applicationId, registerTime); IInstanceDAO dao = (IInstanceDAO)DAOContainer.INSTANCE.get(IInstanceDAO.class.getName()); Loading
apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/jetty/handler/TraceSegmentServletHandler.java +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ public class TraceSegmentServletHandler extends JettyHandler { private void read(BufferedReader bufferedReader) throws IOException { JsonReader reader = new JsonReader(bufferedReader); reader.beginArray(); while (reader.hasNext()) { SegmentParse segmentParse = new SegmentParse(); Loading
apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceNameCache.java→apm-collector/apm-collector-agentstream/src/main/java/org/skywalking/apm/collector/agentstream/worker/cache/ServiceCache.java +7 −7 Original line number Diff line number Diff line Loading @@ -2,25 +2,25 @@ package org.skywalking.apm.collector.agentstream.worker.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.agentstream.worker.register.servicename.dao.IServiceNameDAO; import org.skywalking.apm.collector.core.util.Const; import org.skywalking.apm.collector.storage.dao.DAOContainer; /** * @author pengys5 */ public class ServiceNameCache { public class ServiceCache { private static Cache<String, Integer> CACHE = CacheBuilder.newBuilder().maximumSize(2000).build(); private static Cache<Integer, String> CACHE = CacheBuilder.newBuilder().maximumSize(10000).build(); public static int get(int applicationId, String serviceName) { public static String getServiceName(int serviceId) { try { return CACHE.get(applicationId + Const.ID_SPLIT + serviceName, () -> { return CACHE.get(serviceId, () -> { IServiceNameDAO dao = (IServiceNameDAO)DAOContainer.INSTANCE.get(IServiceNameDAO.class.getName()); return dao.getServiceId(applicationId, serviceName); return dao.getServiceName(serviceId); }); } catch (Throwable e) { return 0; return Const.EMPTY_STRING; } } }