changeset 135:a8c44d8b2172

Bug 2795: [REFACTORING] Aggregate static variables for SNMP to trapSender.* Reviewed-by: ykubota GitHub: https://github.com/HeapStats/heapstats/pull/4
author Yasumasa Suenaga <yasuenag@gmail.com>
date Sat, 23 Jan 2016 17:39:05 +0900
parents 55b5034ab722
children 65bb27a1c262
files ChangeLog Makefile.in agent/Makefile.in agent/attacher/Makefile.in agent/src/Makefile.in agent/src/heapstats-engines/Makefile.am agent/src/heapstats-engines/Makefile.in agent/src/heapstats-engines/libmain.cpp agent/src/heapstats-engines/trapSender.cpp agent/src/heapstats-engines/trapSender.hpp agent/src/iotracer/Makefile.in mbean/Makefile.in mbean/native/Makefile.in
diffstat 13 files changed, 402 insertions(+), 220 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jan 22 01:50:58 2016 +0900
+++ b/ChangeLog	Sat Jan 23 17:39:05 2016 +0900
@@ -1,3 +1,7 @@
+2016-01-23  Yasumasa Suenaga <yasuenag@gmail.com>
+
+	* Bug 2795:  [REFACTORING] Aggregate static variables for SNMP to trapSender.*
+
 2016-01-22  KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
 
 	* Bug 2797: Sync docs and config between icedtea and github
--- a/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -261,6 +261,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/agent/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -236,6 +236,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/agent/attacher/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/attacher/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -177,6 +177,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/agent/src/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -282,6 +282,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/agent/src/heapstats-engines/Makefile.am	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/heapstats-engines/Makefile.am	Sat Jan 23 17:39:05 2016 +0900
@@ -8,7 +8,8 @@
                   archiveMaker.cpp cmdArchiver.cpp fsUtil.cpp                 \
                   jniZipArchiver.cpp deadlockFinder.cpp vmVariables.cpp       \
                   vmFunctions.cpp configuration.cpp overrider.cpp             \
-                  threadRecorder.cpp heapstatsMBean.cpp overrideFunc.S
+                  threadRecorder.cpp heapstatsMBean.cpp overrideFunc.S        \
+                  trapSender.cpp
 
 if USE_PCRE
   BASE_SOURCE += pcreRegex.cpp
--- a/agent/src/heapstats-engines/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/heapstats-engines/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -127,7 +127,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/x86/x86BitMapMarker.cpp \
 	arch/x86/sse2/sse2BitMapMarker.cpp \
 	arch/x86/avx/avxBitMapMarker.cpp
@@ -162,6 +162,7 @@
 	libheapstats_engine_avx_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_avx_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_avx_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_avx_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_1)
 am__dirstamp = $(am__leading_dot)dirstamp
 @AVX_TRUE@@X86_TRUE@am_libheapstats_engine_avx_2_0_so_OBJECTS =  \
@@ -184,7 +185,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/arm/armBitMapMarker.cpp \
 	arch/arm/neon/neonBitMapMarker.cpp
 @USE_PCRE_TRUE@am__objects_3 = libheapstats_engine_neon_2_0_so-pcreRegex.$(OBJEXT)
@@ -218,6 +219,7 @@
 	libheapstats_engine_neon_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_neon_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_neon_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_neon_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_3)
 @ARM_TRUE@am_libheapstats_engine_neon_2_0_so_OBJECTS =  \
 @ARM_TRUE@	$(am__objects_4) \
@@ -238,7 +240,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/arm/armBitMapMarker.cpp arch/x86/x86BitMapMarker.cpp
 @USE_PCRE_TRUE@am__objects_5 = libheapstats_engine_none_2_0_so-pcreRegex.$(OBJEXT)
 am__objects_6 = libheapstats_engine_none_2_0_so-libmain.$(OBJEXT) \
@@ -271,6 +273,7 @@
 	libheapstats_engine_none_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_none_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_none_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_none_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_5)
 @ARM_FALSE@@X86_TRUE@am_libheapstats_engine_none_2_0_so_OBJECTS =  \
 @ARM_FALSE@@X86_TRUE@	$(am__objects_6) \
@@ -293,7 +296,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/x86/x86BitMapMarker.cpp \
 	arch/x86/sse2/sse2BitMapMarker.cpp
 @USE_PCRE_TRUE@am__objects_7 = libheapstats_engine_sse2_2_0_so-pcreRegex.$(OBJEXT)
@@ -327,6 +330,7 @@
 	libheapstats_engine_sse2_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_sse2_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_sse2_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_sse2_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_7)
 @SSE2_TRUE@@X86_TRUE@am_libheapstats_engine_sse2_2_0_so_OBJECTS =  \
 @SSE2_TRUE@@X86_TRUE@	$(am__objects_8) \
@@ -347,7 +351,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/x86/x86BitMapMarker.cpp \
 	arch/x86/sse2/sse2BitMapMarker.cpp
 @USE_PCRE_TRUE@am__objects_9 = libheapstats_engine_sse3_2_0_so-pcreRegex.$(OBJEXT)
@@ -381,6 +385,7 @@
 	libheapstats_engine_sse3_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_sse3_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_sse3_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_sse3_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_9)
 @SSE3_TRUE@@X86_TRUE@am_libheapstats_engine_sse3_2_0_so_OBJECTS =  \
 @SSE3_TRUE@@X86_TRUE@	$(am__objects_10) \
@@ -401,7 +406,7 @@
 	cmdArchiver.cpp fsUtil.cpp jniZipArchiver.cpp \
 	deadlockFinder.cpp vmVariables.cpp vmFunctions.cpp \
 	configuration.cpp overrider.cpp threadRecorder.cpp \
-	heapstatsMBean.cpp overrideFunc.S pcreRegex.cpp \
+	heapstatsMBean.cpp overrideFunc.S trapSender.cpp pcreRegex.cpp \
 	arch/x86/x86BitMapMarker.cpp \
 	arch/x86/sse2/sse2BitMapMarker.cpp
 @USE_PCRE_TRUE@am__objects_11 = libheapstats_engine_sse4_2_0_so-pcreRegex.$(OBJEXT)
@@ -435,6 +440,7 @@
 	libheapstats_engine_sse4_2_0_so-threadRecorder.$(OBJEXT) \
 	libheapstats_engine_sse4_2_0_so-heapstatsMBean.$(OBJEXT) \
 	libheapstats_engine_sse4_2_0_so-overrideFunc.$(OBJEXT) \
+	libheapstats_engine_sse4_2_0_so-trapSender.$(OBJEXT) \
 	$(am__objects_11)
 @SSE4_TRUE@@X86_TRUE@am_libheapstats_engine_sse4_2_0_so_OBJECTS =  \
 @SSE4_TRUE@@X86_TRUE@	$(am__objects_12) \
@@ -592,6 +598,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -658,7 +665,7 @@
 	jniZipArchiver.cpp deadlockFinder.cpp vmVariables.cpp \
 	vmFunctions.cpp configuration.cpp overrider.cpp \
 	threadRecorder.cpp heapstatsMBean.cpp overrideFunc.S \
-	$(am__append_1)
+	trapSender.cpp $(am__append_1)
 BASE_CXX_FLAGS = -I@JDK_DIR@/include -I@JDK_DIR@/include/linux -Wall        \
                   -Wno-strict-aliasing -fPIC @VMSTRUCTS_CXX_FLAGS@           \
                   @VMSTRUCTS_CXX_FLAGS@ -DDEFAULT_CONF_DIR=\"$(sysconfdir)\"
@@ -885,6 +892,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_avx_2_0_so-vmStructScanner.Po@am__quote@
@@ -916,6 +924,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_neon_2_0_so-vmStructScanner.Po@am__quote@
@@ -947,6 +956,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_none_2_0_so-vmStructScanner.Po@am__quote@
@@ -978,6 +988,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse2_2_0_so-vmStructScanner.Po@am__quote@
@@ -1009,6 +1020,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse3_2_0_so-vmStructScanner.Po@am__quote@
@@ -1040,6 +1052,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-symbolFinder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-threadRecorder.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-timer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-util.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-vmFunctions.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libheapstats_engine_sse4_2_0_so-vmStructScanner.Po@am__quote@
@@ -1580,6 +1593,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_avx_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_avx_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_avx_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Tpo -c -o libheapstats_engine_avx_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_avx_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_avx_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_avx_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_avx_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Tpo -c -o libheapstats_engine_avx_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_avx_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_avx_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_avx_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_avx_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_avx_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_avx_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_avx_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_avx_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_avx_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_avx_2_0_so-pcreRegex.Po
@@ -2042,6 +2069,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_neon_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_neon_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_neon_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Tpo -c -o libheapstats_engine_neon_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_neon_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_neon_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_neon_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_neon_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Tpo -c -o libheapstats_engine_neon_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_neon_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_neon_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_neon_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_neon_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_neon_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_neon_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_neon_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_neon_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_neon_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_neon_2_0_so-pcreRegex.Po
@@ -2490,6 +2531,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_none_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_none_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_none_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Tpo -c -o libheapstats_engine_none_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_none_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_none_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_none_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_none_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Tpo -c -o libheapstats_engine_none_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_none_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_none_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_none_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_none_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_none_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_none_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_none_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_none_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_none_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_none_2_0_so-pcreRegex.Po
@@ -2938,6 +2993,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse2_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_sse2_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse2_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse2_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse2_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse2_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_sse2_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse2_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse2_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse2_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse2_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse2_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_sse2_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse2_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse2_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse2_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_sse2_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse2_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_sse2_2_0_so-pcreRegex.Po
@@ -3386,6 +3455,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse3_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_sse3_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse3_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse3_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse3_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse3_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_sse3_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse3_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse3_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse3_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse3_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse3_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_sse3_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse3_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse3_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse3_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_sse3_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse3_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_sse3_2_0_so-pcreRegex.Po
@@ -3834,6 +3917,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse4_2_0_so-heapstatsMBean.obj `if test -f 'heapstatsMBean.cpp'; then $(CYGPATH_W) 'heapstatsMBean.cpp'; else $(CYGPATH_W) '$(srcdir)/heapstatsMBean.cpp'; fi`
 
+libheapstats_engine_sse4_2_0_so-trapSender.o: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse4_2_0_so-trapSender.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse4_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse4_2_0_so-trapSender.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse4_2_0_so-trapSender.o `test -f 'trapSender.cpp' || echo '$(srcdir)/'`trapSender.cpp
+
+libheapstats_engine_sse4_2_0_so-trapSender.obj: trapSender.cpp
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse4_2_0_so-trapSender.obj -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Tpo -c -o libheapstats_engine_sse4_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Tpo $(DEPDIR)/libheapstats_engine_sse4_2_0_so-trapSender.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='trapSender.cpp' object='libheapstats_engine_sse4_2_0_so-trapSender.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -c -o libheapstats_engine_sse4_2_0_so-trapSender.obj `if test -f 'trapSender.cpp'; then $(CYGPATH_W) 'trapSender.cpp'; else $(CYGPATH_W) '$(srcdir)/trapSender.cpp'; fi`
+
 libheapstats_engine_sse4_2_0_so-pcreRegex.o: pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libheapstats_engine_sse4_2_0_so_CXXFLAGS) $(CXXFLAGS) -MT libheapstats_engine_sse4_2_0_so-pcreRegex.o -MD -MP -MF $(DEPDIR)/libheapstats_engine_sse4_2_0_so-pcreRegex.Tpo -c -o libheapstats_engine_sse4_2_0_so-pcreRegex.o `test -f 'pcreRegex.cpp' || echo '$(srcdir)/'`pcreRegex.cpp
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libheapstats_engine_sse4_2_0_so-pcreRegex.Tpo $(DEPDIR)/libheapstats_engine_sse4_2_0_so-pcreRegex.Po
--- a/agent/src/heapstats-engines/libmain.cpp	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/heapstats-engines/libmain.cpp	Sat Jan 23 17:39:05 2016 +0900
@@ -74,25 +74,6 @@
 long TElapsedTimer::clock_ticks = sysconf(_SC_CLK_TCK);
 
 /*!
- * \brief Datetime of agent initialization.
- */
-unsigned long int TTrapSender::initializeTime;
-
-/*!
- * \brief Mutex for TTrapSender.<br>
- * <br>
- * This mutex used in below process.<br>
- *   - TTrapSender::TTrapSender @ trapSender.hpp<br>
- *     To initialize SNMP trap section.<br>
- *   - TTrapSender::~TTrapSender @ trapSender.hpp<br>
- *     To finalize SNMP trap section.<br>
- *   - TTrapSender::sendTrap @ trapSender.hpp<br>
- *     To change SNMP trap section and send SNMP trap.<br>
- */
-pthread_mutex_t TTrapSender::senderMutex =
-    PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
-
-/*!
  * \brief Path of load configuration file at agent initialization.
  */
 char *loadConfigPath = NULL;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agent/src/heapstats-engines/trapSender.cpp	Sat Jan 23 17:39:05 2016 +0900
@@ -0,0 +1,277 @@
+/*!
+ * \file trapSender.cpp
+ * \brief This file is used to send SNMP trap.
+ * Copyright (C) 2016 Yasumasa Suenaga
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ */
+
+#include <set>
+#include <sys/time.h>
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <pthread.h>
+
+#include "globals.hpp"
+#include "util.hpp"
+#include "trapSender.hpp"
+
+
+/*!
+ * \brief Datetime of agent initialization.
+ */
+unsigned long int TTrapSender::initializeTime;
+
+/*!
+ * \brief Mutex for TTrapSender.<br>
+ * <br>
+ * This mutex used in below process.<br>
+ *   - TTrapSender::TTrapSender @ trapSender.hpp<br>
+ *     To initialize SNMP trap section.<br>
+ *   - TTrapSender::~TTrapSender @ trapSender.hpp<br>
+ *     To finalize SNMP trap section.<br>
+ *   - TTrapSender::sendTrap @ trapSender.hpp<br>
+ *     To change SNMP trap section and send SNMP trap.<br>
+ */
+pthread_mutex_t TTrapSender::senderMutex =
+                                PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
+
+
+/*!
+ * \brief TrapSender constructor.
+ * \param snmp      [in] SNMP version.
+ * \param pPeer     [in] Target of SNMP trap.
+ * \param pCommName [in] Community name use for SNMP.
+ * \param port      [in] Port used by SNMP trap.
+ */
+TTrapSender::TTrapSender(int snmp, char *pPeer, char *pCommName, int port) {
+  /* Lock to use in multi-thread. */
+  ENTER_PTHREAD_SECTION(&senderMutex) {
+    /* Disable NETSNMP logging. */
+    netsnmp_register_loghandler(NETSNMP_LOGHANDLER_NONE, LOG_EMERG);
+
+    /* If snmp target is illegal. */
+    if (pPeer == NULL) {
+      logger->printWarnMsg("Illegal SNMP target.");
+      pPdu = NULL;
+    } else {
+      /* Initialize session. */
+      memset(&session, 0, sizeof(netsnmp_session));
+      snmp_sess_init(&session);
+      session.version = snmp;
+      session.peername = strdup(pPeer);
+      session.remote_port = port;
+      session.community = (u_char *)strdup(pCommName);
+      session.community_len = (pCommName != NULL) ? strlen(pCommName) : 0;
+
+      /* Make a PDU */
+      pPdu = snmp_pdu_create(SNMP_MSG_TRAP2);
+    }
+  }
+  /* Unlock to use in multi-thread. */
+  EXIT_PTHREAD_SECTION(&senderMutex)
+}
+
+/*!
+ * \brief TrapSender destructor.
+ */
+TTrapSender::~TTrapSender(void) {
+  /* Lock to use in multi-thread. */
+  ENTER_PTHREAD_SECTION(&senderMutex) {
+    /* Clear Allocated str. */
+    clearValues();
+
+    /* Free SNMP pdu. */
+    if (pPdu != NULL) {
+      snmp_free_pdu(pPdu);
+    }
+    /* Close and free SNMP session. */
+    snmp_close(&session);
+  }
+  /* Unlock to use in multi-thread. */
+  EXIT_PTHREAD_SECTION(&senderMutex)
+}
+
+/*!
+ * \brief Add agent running time from initialize to trap.
+ */
+void TTrapSender::setSysUpTime(void) {
+  /* OID and buffer. */
+  oid OID_SYSUPTIME[] = {SNMP_OID_SYSUPTIME, 0};
+  char buff[255] = {0};
+
+  /* Get agent uptime. */
+  unsigned long int agentUpTime = 0;
+  struct timeval tv;
+  gettimeofday(&tv, NULL);
+  agentUpTime = ((jlong)tv.tv_sec * 100 + (jlong)tv.tv_usec / 10000) -
+                TTrapSender::initializeTime;
+
+  /* Uptime to String. */
+  sprintf(buff, "%lu", agentUpTime);
+
+  /* Setting sysUpTime. */
+  if (addValue(OID_SYSUPTIME, OID_LENGTH(OID_SYSUPTIME), buff,
+               SNMP_VAR_TYPE_TIMETICK) == SNMP_PROC_FAILURE) {
+    logger->printWarnMsg("Couldn't append SysUpTime.");
+  }
+}
+
+/*!
+ * \brief Add trapOID to send information by trap.
+ * \param trapOID[] [in] Identifier of trap.
+ */
+void TTrapSender::setTrapOID(const char *trapOID) {
+  /* Setting trapOID. */
+  oid OID_TRAPOID[] = {SNMP_OID_TRAPOID, 0};
+
+  /* Add snmpTrapOID. */
+  if (addValue(OID_TRAPOID, OID_LENGTH(OID_TRAPOID), trapOID,
+               SNMP_VAR_TYPE_OID) == SNMP_PROC_FAILURE) {
+    logger->printWarnMsg("Couldn't append TrapOID.");
+  }
+}
+
+/*!
+ * \brief Add variable as send information by trap.
+ * \param id[]   [in] Identifier of variable.
+ * \param len    [in] Length of param "id".
+ * \param pValue [in] Variable's data.
+ * \param type   [in] Kind of a variable.
+ * \return Return process result code.
+ */
+int TTrapSender::addValue(oid id[], int len, const char *pValue, char type) {
+  /* Check param. */
+  if (id == NULL || len <= 0 || pValue == NULL || type < 'A' || type > 'z' ||
+      (type > 'Z' && type < 'a') || pPdu == NULL) {
+    logger->printWarnMsg("Illegal SNMP trap parameter!");
+    return SNMP_PROC_FAILURE;
+  }
+
+  /* Allocate string memory. */
+  char *pStr = strdup(pValue);
+
+  /* If failure allocate value string. */
+  if (unlikely(pStr == NULL)) {
+    logger->printWarnMsg("Couldn't allocate variable string memory!");
+    return SNMP_PROC_FAILURE;
+  }
+
+  /* Append variable. */
+  int error = snmp_add_var(pPdu, id, len, type, pStr);
+
+  /* Failure append variables. */
+  if (error) {
+    free(pStr);
+    logger->printWarnMsg("Couldn't append variable list!");
+    return SNMP_PROC_FAILURE;
+  }
+
+  /* Insert allocated string set. */
+  strSet.insert(pStr);
+
+  /* Return success code. */
+  return SNMP_PROC_SUCCESS;
+}
+
+/*!
+ * \brief Add variable as send information by trap.
+ * \return Return process result code.
+ */
+int TTrapSender::sendTrap(void) {
+  /* If snmp target is illegal. */
+  if (pPdu == NULL) {
+    logger->printWarnMsg("Illegal SNMP target.");
+    return SNMP_PROC_FAILURE;
+  }
+
+  /* If failure lock to use in multi-thread. */
+  if (unlikely(pthread_mutex_lock(&senderMutex) != 0)) {
+    logger->printWarnMsg("Entering mutex failed!");
+    return SNMP_PROC_FAILURE;
+  }
+
+  SOCK_STARTUP;
+
+  /* Open session. */
+#ifdef HAVE_NETSNMP_TRANSPORT_OPEN_CLIENT
+  netsnmp_session *sess = snmp_add(
+        &session, netsnmp_transport_open_client("snmptrap", session.peername),
+        NULL, NULL);
+#else
+  char target[256];
+  snprintf(target, sizeof(target), "%s:%d", session.peername,
+             session.remote_port);
+  netsnmp_session *sess = snmp_add(
+        &session, netsnmp_tdomain_transport(target, 0, "udp"), NULL, NULL);
+#endif
+
+  /* If failure open session. */
+  if (sess == NULL) {
+    logger->printWarnMsg("Failure open SNMP trap session.");
+    SOCK_CLEANUP;
+
+    /* Unlock to use in multi-thread. */
+    pthread_mutex_unlock(&senderMutex);
+
+    return SNMP_PROC_FAILURE;
+  }
+
+  /* Send trap. */
+  int success = snmp_send(sess, pPdu);
+
+  /* Clean up after send trap. */
+  snmp_close(sess);
+
+  /* If failure send trap. */
+  if (!success) {
+    /* Free PDU. */
+    snmp_free_pdu(pPdu);
+    logger->printWarnMsg("Send SNMP trap failed!");
+  }
+
+  /* Clean up. */
+  SOCK_CLEANUP;
+
+  /* Unlock to use in multi-thread. */
+  pthread_mutex_unlock(&senderMutex);
+
+  clearValues();
+
+  return (success) ? SNMP_PROC_SUCCESS : SNMP_PROC_FAILURE;
+}
+
+/*!
+ * \brief Clear PDU and allocated strings.
+ */
+void TTrapSender::clearValues(void) {
+  /* If snmp target is illegal. */
+  if (pPdu == NULL) {
+    return;
+  }
+
+  /* Free allocated strings. */
+  std::set<char *>::iterator it = strSet.begin();
+  while (it != strSet.end()) {
+    free((*it));
+    ++it;
+  }
+  strSet.clear();
+
+  /* Make a PDU. */
+  pPdu = snmp_pdu_create(SNMP_MSG_TRAP2);
+}
+
--- a/agent/src/heapstats-engines/trapSender.hpp	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/heapstats-engines/trapSender.hpp	Sat Jan 23 17:39:05 2016 +0900
@@ -1,7 +1,7 @@
 /*!
  * \file trapSender.hpp
  * \brief This file is used to send SNMP trap.
- * Copyright (C) 2011-2015 Nippon Telegraph and Telephone Corporation
+ * Copyright (C) 2011-2016 Nippon Telegraph and Telephone Corporation
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -23,13 +23,10 @@
 #define _TRAP_SENDER_H
 
 #include <set>
-#include <sys/time.h>
 #include <net-snmp/net-snmp-config.h>
 #include <net-snmp/net-snmp-includes.h>
 #include <pthread.h>
 
-#include "globals.hpp"
-#include "util.hpp"
 
 /* Process return code. */
 
@@ -182,95 +179,23 @@
    * \param pCommName [in] Community name use for SNMP.
    * \param port      [in] Port used by SNMP trap.
    */
-  TTrapSender(int snmp, char *pPeer, char *pCommName, int port) {
-    /* Lock to use in multi-thread. */
-    ENTER_PTHREAD_SECTION(&senderMutex) {
-
-      /* Disable NETSNMP logging. */
-      netsnmp_register_loghandler(NETSNMP_LOGHANDLER_NONE, LOG_EMERG);
-
-      /* If snmp target is illegal. */
-      if (pPeer == NULL) {
-        logger->printWarnMsg("Illegal SNMP target.");
-        pPdu = NULL;
-      } else {
-        /* Initialize session. */
-        memset(&session, 0, sizeof(netsnmp_session));
-        snmp_sess_init(&session);
-        session.version = snmp;
-        session.peername = strdup(pPeer);
-        session.remote_port = port;
-        session.community = (u_char *)strdup(pCommName);
-        session.community_len = (pCommName != NULL) ? strlen(pCommName) : 0;
-
-        /* Make a PDU */
-        pPdu = snmp_pdu_create(SNMP_MSG_TRAP2);
-      }
-    }
-    /* Unlock to use in multi-thread. */
-    EXIT_PTHREAD_SECTION(&senderMutex)
-  }
+  TTrapSender(int snmp, char *pPeer, char *pCommName, int port);
 
   /*!
    * \brief TrapSender destructor.
    */
-  ~TTrapSender(void) {
-    /* Lock to use in multi-thread. */
-    ENTER_PTHREAD_SECTION(&senderMutex) {
-
-      /* Clear Allocated str. */
-      clearValues();
-
-      /* Free SNMP pdu. */
-      if (pPdu != NULL) {
-        snmp_free_pdu(pPdu);
-      }
-      /* Close and free SNMP session. */
-      snmp_close(&session);
-    }
-    /* Unlock to use in multi-thread. */
-    EXIT_PTHREAD_SECTION(&senderMutex)
-  }
+  ~TTrapSender(void);
 
   /*!
    * \brief Add agent running time from initialize to trap.
    */
-  void setSysUpTime(void) {
-    /* OID and buffer. */
-    oid OID_SYSUPTIME[] = {SNMP_OID_SYSUPTIME, 0};
-    char buff[255] = {0};
-
-    /* Get agent uptime. */
-    unsigned long int agentUpTime = 0;
-    struct timeval tv;
-    gettimeofday(&tv, NULL);
-    agentUpTime = ((jlong)tv.tv_sec * 100 + (jlong)tv.tv_usec / 10000) -
-                  TTrapSender::initializeTime;
-
-    /* Uptime to String. */
-    sprintf(buff, "%lu", agentUpTime);
-
-    /* Setting sysUpTime. */
-    if (addValue(OID_SYSUPTIME, OID_LENGTH(OID_SYSUPTIME), buff,
-                 SNMP_VAR_TYPE_TIMETICK) == SNMP_PROC_FAILURE) {
-      logger->printWarnMsg("Couldn't append SysUpTime.");
-    }
-  }
+  void setSysUpTime(void);
 
   /*!
    * \brief Add trapOID to send information by trap.
    * \param trapOID[] [in] Identifier of trap.
    */
-  void setTrapOID(const char *trapOID) {
-    /* Setting trapOID. */
-    oid OID_TRAPOID[] = {SNMP_OID_TRAPOID, 0};
-
-    /* Add snmpTrapOID. */
-    if (addValue(OID_TRAPOID, OID_LENGTH(OID_TRAPOID), trapOID,
-                 SNMP_VAR_TYPE_OID) == SNMP_PROC_FAILURE) {
-      logger->printWarnMsg("Couldn't append TrapOID.");
-    }
-  }
+  void setTrapOID(const char *trapOID);
 
   /*!
    * \brief Add variable as send information by trap.
@@ -280,128 +205,18 @@
    * \param type   [in] Kind of a variable.
    * \return Return process result code.
    */
-  int addValue(oid id[], int len, const char *pValue, char type) {
-    /* Check param. */
-    if (id == NULL || len <= 0 || pValue == NULL || type < 'A' || type > 'z' ||
-        (type > 'Z' && type < 'a') || pPdu == NULL) {
-      logger->printWarnMsg("Illegal SNMP trap parameter!");
-      return SNMP_PROC_FAILURE;
-    }
-
-    /* Allocate string memory. */
-    char *pStr = strdup(pValue);
-
-    /* If failure allocate value string. */
-    if (unlikely(pStr == NULL)) {
-      logger->printWarnMsg("Couldn't allocate variable string memory!");
-      return SNMP_PROC_FAILURE;
-    }
-
-    /* Append variable. */
-    int error = snmp_add_var(pPdu, id, len, type, pStr);
-
-    /* Failure append variables. */
-    if (error) {
-      free(pStr);
-      logger->printWarnMsg("Couldn't append variable list!");
-      return SNMP_PROC_FAILURE;
-    }
-
-    /* Insert allocated string set. */
-    strSet.insert(pStr);
-
-    /* Return success code. */
-    return SNMP_PROC_SUCCESS;
-  }
+  int addValue(oid id[], int len, const char *pValue, char type);
 
   /*!
    * \brief Add variable as send information by trap.
    * \return Return process result code.
    */
-  int sendTrap(void) {
-    /* If snmp target is illegal. */
-    if (pPdu == NULL) {
-      logger->printWarnMsg("Illegal SNMP target.");
-      return SNMP_PROC_FAILURE;
-    }
-
-    /* If failure lock to use in multi-thread. */
-    if (unlikely(pthread_mutex_lock(&senderMutex) != 0)) {
-      logger->printWarnMsg("Entering mutex failed!");
-      return SNMP_PROC_FAILURE;
-    }
-
-    SOCK_STARTUP;
-
-/* Open session. */
-#ifdef HAVE_NETSNMP_TRANSPORT_OPEN_CLIENT
-    netsnmp_session *sess = snmp_add(
-        &session, netsnmp_transport_open_client("snmptrap", session.peername),
-        NULL, NULL);
-#else
-    char target[256];
-    snprintf(target, sizeof(target), "%s:%d", session.peername,
-             session.remote_port);
-    netsnmp_session *sess = snmp_add(
-        &session, netsnmp_tdomain_transport(target, 0, "udp"), NULL, NULL);
-#endif
-
-    /* If failure open session. */
-    if (sess == NULL) {
-      logger->printWarnMsg("Failure open SNMP trap session.");
-      SOCK_CLEANUP;
-
-      /* Unlock to use in multi-thread. */
-      pthread_mutex_unlock(&senderMutex);
-
-      return SNMP_PROC_FAILURE;
-    }
-
-    /* Send trap. */
-    int success = snmp_send(sess, pPdu);
-
-    /* Clean up after send trap. */
-    snmp_close(sess);
-
-    /* If failure send trap. */
-    if (!success) {
-      /* Free PDU. */
-      snmp_free_pdu(pPdu);
-
-      logger->printWarnMsg("Send SNMP trap failed!");
-    }
-
-    /* Clean up. */
-    SOCK_CLEANUP;
-
-    /* Unlock to use in multi-thread. */
-    pthread_mutex_unlock(&senderMutex);
-
-    clearValues();
-
-    return (success) ? SNMP_PROC_SUCCESS : SNMP_PROC_FAILURE;
-  }
+  int sendTrap(void);
 
   /*!
    * \brief Clear PDU and allocated strings.
    */
-  void clearValues(void) {
-    /* If snmp target is illegal. */
-    if (pPdu == NULL) {
-      return;
-    }
-
-    /* Free allocated strings. */
-    std::set<char *>::iterator it = strSet.begin();
-    while (it != strSet.end()) {
-      free((*it));
-      ++it;
-    }
-    strSet.clear();
-
-    /* Make a PDU. */
-    pPdu = snmp_pdu_create(SNMP_MSG_TRAP2);
-  }
+  void clearValues(void);
 
   /*!
    * \brief Get SNMP session information.
--- a/agent/src/iotracer/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/agent/src/iotracer/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -176,6 +176,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/mbean/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/mbean/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -236,6 +236,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
--- a/mbean/native/Makefile.in	Fri Jan 22 01:50:58 2016 +0900
+++ b/mbean/native/Makefile.in	Sat Jan 23 17:39:05 2016 +0900
@@ -224,6 +224,7 @@
 PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
+READLINK = @READLINK@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@