From 89bf49985fd2de68a3f3e2ff5aeaf4c068fb0f74 Mon Sep 17 00:00:00 2001 From: Woonduk Kang Date: Wed, 21 Aug 2013 10:20:07 +0000 Subject: [PATCH] =?UTF-8?q?[=EA=B0=95=EC=9A=B4=EB=8D=95]=20[LUCYSUS-1744]?= =?UTF-8?q?=20HbaseApplicationStatisticsDao=EC=97=90=EC=84=9C=20agentId?= =?UTF-8?q?=EA=B0=80=20null=EC=9D=B8=20=EC=BC=80=EC=9D=B4=EC=8A=A4?= =?UTF-8?q?=EA=B0=80=20=EC=A0=95=EC=83=81=EC=9D=B4=EB=9D=BC=20null?= =?UTF-8?q?=EC=9D=BC=EA=B2=BD=EC=9A=B0=EB=A5=BC=20=EB=8C=80=EB=B9=84?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95=ED=95=A8.=20?= =?UTF-8?q?=20-=20interceptor=EC=97=90=EC=84=9C=20destinationId=EC=99=80?= =?UTF-8?q?=20endpoint=EA=B0=80=20=EB=8F=99=EC=9D=BC=ED=95=9C=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20endpoint=EB=A5=BC=20=EC=A0=80=EC=9E=A5=ED=95=98?= =?UTF-8?q?=EB=8A=94=EC=A7=80=20=EC=95=8A=EB=8A=94=EA=B2=8C=20=EB=A7=9E?= =?UTF-8?q?=EC=95=84=20=EB=8B=A4=EC=8B=9C=20=EB=A1=A4=EB=B9=BD=ED=95=A8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-server/trunk@2177 84d0f5b1-2673-498c-a247-62c4ff18d310 --- .../dao/hbase/HbaseApplicationMapStatisticsCalleeDao.java | 3 ++- .../dao/hbase/HbaseApplicationMapStatisticsCallerDao.java | 4 +++- .../collector/dao/hbase/HbaseApplicationStatisticsDao.java | 5 +++++ .../java/com/nhn/pinpoint/collector/handler/SpanHandler.java | 2 +- .../com/nhn/pinpoint/collector/receiver/udp/UDPReceiver.java | 5 +++-- .../pinpoint/collector/spring/ApplicationContextUtils.java | 2 +- src/main/resources/applicationContext.xml | 2 +- 7 files changed, 16 insertions(+), 7 deletions(-) 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 @@ - +