diff --git a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCalleeDao.java b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCalleeDao.java index c94646e0b..597359a39 100644 --- a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCalleeDao.java +++ b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCalleeDao.java @@ -70,8 +70,9 @@ public class HbaseApplicationMapStatisticsCalleeDao implements ApplicationMapSta // make row key. rowkey는 나. long acceptedTime = acceptedTimeService.getAcceptedTime(); long rowTimeSlot = TimeSlot.getStatisticsRowSlot(acceptedTime); - short callerSlotNumber = ApplicationMapStatisticsUtils.getSlotNumber(callerServiceType, elapsed, isError); RowKey calleeRowKey = new CallRowKey(calleeApplicationName, calleeServiceType, rowTimeSlot); + + short callerSlotNumber = ApplicationMapStatisticsUtils.getSlotNumber(callerServiceType, elapsed, isError); ColumnName callerColumnName = new CallColumnName(callerServiceType, callerApplicationName, calleeHost, callerSlotNumber); if (useBulk) { RowInfo rowInfo = new DefaultRowInfo(calleeRowKey, callerColumnName); diff --git a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCallerDao.java b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCallerDao.java index 33c0c4e29..655c23ad1 100644 --- a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCallerDao.java +++ b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationMapStatisticsCallerDao.java @@ -75,9 +75,11 @@ public class HbaseApplicationMapStatisticsCallerDao implements ApplicationMapSta // make row key. rowkey는 나. long acceptedTime = acceptedTimeService.getAcceptedTime(); long rowTimeSlot = TimeSlot.getStatisticsRowSlot(acceptedTime); - short calleeSlotNumber = ApplicationMapStatisticsUtils.getSlotNumber(calleeServiceType, elapsed, isError); RowKey callerRowKey = new CallRowKey(callerApplicationName, callerServiceType, rowTimeSlot); + + short calleeSlotNumber = ApplicationMapStatisticsUtils.getSlotNumber(calleeServiceType, elapsed, isError); ColumnName calleeColumnName = new CallColumnName(calleeServiceType, calleeApplicationName, callerHost, calleeSlotNumber); + if (useBulk) { RowInfo rowInfo = new DefaultRowInfo(callerRowKey, calleeColumnName); counter.increment(rowInfo, 1L); diff --git a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationStatisticsDao.java b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationStatisticsDao.java index 111beab32..b3052a0e2 100644 --- a/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationStatisticsDao.java +++ b/src/main/java/com/nhn/pinpoint/collector/dao/hbase/HbaseApplicationStatisticsDao.java @@ -68,6 +68,11 @@ public class HbaseApplicationStatisticsDao implements ApplicationStatisticsDao { logger.debug("[UpdatingApplicationMapStatistics] " + applicationName + ", " + ServiceType.findServiceType(serviceType) + ", " + agentId + ", " + elapsed + ", " + isError); } + // agentId는 null이 될수 있음. + if (agentId == null) { + agentId = ""; + } + // make row key. rowkey는 나. long acceptedTime = acceptedTimeService.getAcceptedTime(); long rowTimeSlot = TimeSlot.getStatisticsRowSlot(acceptedTime); diff --git a/src/main/java/com/nhn/pinpoint/collector/handler/SpanHandler.java b/src/main/java/com/nhn/pinpoint/collector/handler/SpanHandler.java index 48dbcb0a8..d5eb453c8 100644 --- a/src/main/java/com/nhn/pinpoint/collector/handler/SpanHandler.java +++ b/src/main/java/com/nhn/pinpoint/collector/handler/SpanHandler.java @@ -109,7 +109,7 @@ public class SpanHandler implements SimpleHandler { } } } catch (Exception e) { - logger.warn("Span handle error. Caused:{}", e.getMessage(), e); + logger.warn("Span handle error. Caused:{}. Span:{}", new Object[] {e.getMessage(), tbase, e}); } } } diff --git a/src/main/java/com/nhn/pinpoint/collector/receiver/udp/UDPReceiver.java b/src/main/java/com/nhn/pinpoint/collector/receiver/udp/UDPReceiver.java index be674a340..9caaa26a1 100644 --- a/src/main/java/com/nhn/pinpoint/collector/receiver/udp/UDPReceiver.java +++ b/src/main/java/com/nhn/pinpoint/collector/receiver/udp/UDPReceiver.java @@ -206,8 +206,9 @@ public class UDPReceiver implements DataReceiver { Timer.Context time = timer.time(); HeaderTBaseDeserializer deserializer = this.deserializer.get(); + TBase tBase = null; try { - TBase tBase = deserializer.deserialize(packet.getData()); + tBase = deserializer.deserialize(packet.getData()); // dispatch는 비지니스 로직 실행을 의미. dispatchHandler.dispatch(tBase, packet.getData(), Header.HEADER_SIZE, packet.getLength()); } catch (TException e) { @@ -220,7 +221,7 @@ public class UDPReceiver implements DataReceiver { } catch (Exception e) { // 잘못된 header가 도착할 경우 발생하는 케이스가 있음. if (logger.isWarnEnabled()) { - logger.warn("Unexpected error. SendSocketAddress:{} Cause:{}", new Object[]{packet.getSocketAddress(), e.getMessage(), e}); + logger.warn("Unexpected error. SendSocketAddress:{} Cause:{} tbase:{}", new Object[]{packet.getSocketAddress(), e.getMessage(), e, tBase}); } if (logger.isDebugEnabled()) { logger.debug("packet dump hex:{}", PacketUtils.dumpDatagramPacket(packet)); diff --git a/src/main/java/com/nhn/pinpoint/collector/spring/ApplicationContextUtils.java b/src/main/java/com/nhn/pinpoint/collector/spring/ApplicationContextUtils.java index d67ebbb02..d5189f728 100644 --- a/src/main/java/com/nhn/pinpoint/collector/spring/ApplicationContextUtils.java +++ b/src/main/java/com/nhn/pinpoint/collector/spring/ApplicationContextUtils.java @@ -17,7 +17,7 @@ public class ApplicationContextUtils { } public static DispatchHandler getDispatchHandler(AbstractApplicationContext context) { - return context.getBean("DispatchHandler", DispatchHandler.class); + return context.getBean("dispatchHandler", DispatchHandler.class); } private static GenericApplicationContext createContext0(String contextClassPath) { diff --git a/src/main/resources/applicationContext.xml b/src/main/resources/applicationContext.xml index 25630d5c8..0e5b5b528 100644 --- a/src/main/resources/applicationContext.xml +++ b/src/main/resources/applicationContext.xml @@ -41,7 +41,7 @@ - +