whatap 0.4.79 → 0.4.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/.vscode/keep-context.json +3 -3
  2. package/README.md +51 -51
  3. package/bindings/darwin/x64/whatap.node +0 -0
  4. package/bindings/linux/ia32/whatap.node +0 -0
  5. package/bindings/linux/x64/whatap.node +0 -0
  6. package/help.txt +10 -10
  7. package/index.js +8 -8
  8. package/lib/conf/conf-sys-mon.js +100 -100
  9. package/lib/conf/config-default.js +238 -238
  10. package/lib/conf/configure.js +423 -423
  11. package/lib/conf/license.js +41 -41
  12. package/lib/control/cmd-config.js +23 -23
  13. package/lib/control/control-handler.js +344 -344
  14. package/lib/control/packagectr-helper.js +149 -149
  15. package/lib/core/agent.js +329 -328
  16. package/lib/core/interceptor.js +142 -142
  17. package/lib/core/request-agent.js +26 -26
  18. package/lib/counter/counter-manager.js +127 -127
  19. package/lib/counter/meter/meter-activex.js +66 -66
  20. package/lib/counter/meter/meter-httpc.js +57 -57
  21. package/lib/counter/meter/meter-resource.js +9 -9
  22. package/lib/counter/meter/meter-service.js +167 -167
  23. package/lib/counter/meter/meter-socket.io.js +50 -50
  24. package/lib/counter/meter/meter-sql.js +70 -70
  25. package/lib/counter/meter/meter-users.js +57 -57
  26. package/lib/counter/meter.js +183 -183
  27. package/lib/counter/task/activetransaction.js +93 -93
  28. package/lib/counter/task/agentinfo.js +105 -105
  29. package/lib/counter/task/counter-task.js +9 -9
  30. package/lib/counter/task/gcstat.js +34 -34
  31. package/lib/counter/task/heapmem.js +24 -24
  32. package/lib/counter/task/httpc.js +75 -75
  33. package/lib/counter/task/proc-cpu.js +28 -28
  34. package/lib/counter/task/realtimeuser.js +30 -30
  35. package/lib/counter/task/res/systemECSTask.js +54 -54
  36. package/lib/counter/task/res/systemKubeTask.js +52 -52
  37. package/lib/counter/task/res/util/awsEcsClientThread.js +166 -166
  38. package/lib/counter/task/res/util/linuxProcStatUtil.js +13 -13
  39. package/lib/counter/task/res-sys-cpu.js +61 -61
  40. package/lib/counter/task/service.js +201 -201
  41. package/lib/counter/task/socketio.js +29 -29
  42. package/lib/counter/task/sql.js +104 -104
  43. package/lib/counter/task/systemperf.js +42 -42
  44. package/lib/data/datapack-sender.js +256 -256
  45. package/lib/data/dataprofile-agent.js +136 -136
  46. package/lib/data/datatext-agent.js +135 -135
  47. package/lib/data/event-level.js +15 -15
  48. package/lib/data/test.js +48 -48
  49. package/lib/env/constants.js +20 -20
  50. package/lib/kube/kube-client.js +143 -143
  51. package/lib/lang/text-types.js +58 -58
  52. package/lib/logger.js +319 -319
  53. package/lib/net/netflag.js +54 -54
  54. package/lib/net/paramdef.js +40 -40
  55. package/lib/net/receiver.js +65 -65
  56. package/lib/net/security-master.js +182 -173
  57. package/lib/net/sender.js +140 -140
  58. package/lib/net/tcp-return.js +17 -17
  59. package/lib/net/tcp-session.js +285 -285
  60. package/lib/net/tcpreq-client-proxy.js +69 -69
  61. package/lib/net/tcprequest-mgr.js +57 -57
  62. package/lib/observers/cluster-observer.js +21 -21
  63. package/lib/observers/express-observer.js +214 -214
  64. package/lib/observers/file-observer.js +184 -184
  65. package/lib/observers/global-observer.js +30 -30
  66. package/lib/observers/http-observer.js +704 -704
  67. package/lib/observers/maria-observer.js +382 -382
  68. package/lib/observers/memcached-observer.js +55 -55
  69. package/lib/observers/mongo-observer.js +262 -265
  70. package/lib/observers/mongodb-observer.js +197 -197
  71. package/lib/observers/mongoose-observer.js +83 -83
  72. package/lib/observers/mssql-observer.js +205 -205
  73. package/lib/observers/mysql-observer.js +436 -394
  74. package/lib/observers/net-observer.js +72 -72
  75. package/lib/observers/pgsql-observer.js +295 -295
  76. package/lib/observers/process-observer.js +25 -25
  77. package/lib/observers/promise-observer.js +31 -31
  78. package/lib/observers/redis-observer.js +156 -109
  79. package/lib/observers/schedule-observer.js +66 -66
  80. package/lib/observers/socket.io-observer.js +54 -54
  81. package/lib/observers/stream-observer.js +19 -19
  82. package/lib/observers/thrift-observer.js +196 -196
  83. package/lib/pack/activestack-pack.js +54 -54
  84. package/lib/pack/counter-pack.js +649 -649
  85. package/lib/pack/errorsnap-pack.js +68 -68
  86. package/lib/pack/event-pack.js +53 -53
  87. package/lib/pack/hitmap-pack.js +62 -62
  88. package/lib/pack/hitmap-pack1.js +146 -146
  89. package/lib/pack/netstat.js +14 -14
  90. package/lib/pack/pack.js +49 -49
  91. package/lib/pack/packenum.js +60 -60
  92. package/lib/pack/param-pack.js +213 -213
  93. package/lib/pack/profile-pack.js +48 -48
  94. package/lib/pack/realtimeuser-pack.js +40 -40
  95. package/lib/pack/stat-general-pack.js +95 -95
  96. package/lib/pack/staterror-pack.js +119 -119
  97. package/lib/pack/stathttpc-pack.js +66 -66
  98. package/lib/pack/stathttpc-rec.js +78 -78
  99. package/lib/pack/statremote-pack.js +45 -45
  100. package/lib/pack/statservice-pack.js +62 -62
  101. package/lib/pack/statservice-pack1.js +87 -87
  102. package/lib/pack/statservice-rec.js +292 -292
  103. package/lib/pack/statservice-rec_dep.js +151 -151
  104. package/lib/pack/statsql-pack.js +69 -69
  105. package/lib/pack/statsql-rec.js +100 -100
  106. package/lib/pack/statuseragent-pack.js +43 -43
  107. package/lib/pack/tagcount-pack.js +398 -398
  108. package/lib/pack/tagctr.js +14 -14
  109. package/lib/pack/text-pack.js +49 -49
  110. package/lib/pack/time-count.js +25 -25
  111. package/lib/pack/websocket.js +14 -14
  112. package/lib/plugin/plugin-loadermanager.js +56 -56
  113. package/lib/plugin/plugin.js +75 -75
  114. package/lib/requestlog.js +326 -326
  115. package/lib/service/tx-record.js +288 -288
  116. package/lib/stat/stat-error.js +116 -116
  117. package/lib/stat/stat-httpc.js +97 -97
  118. package/lib/stat/stat-remoteip.js +46 -46
  119. package/lib/stat/stat-sql.js +112 -112
  120. package/lib/stat/stat-tranx.js +57 -57
  121. package/lib/stat/stat-tx-caller.js +159 -159
  122. package/lib/stat/stat-tx-domain.js +110 -110
  123. package/lib/stat/stat-tx-referer.js +111 -111
  124. package/lib/stat/stat-useragent.js +48 -48
  125. package/lib/stat/timingsender.js +72 -72
  126. package/lib/step/activestack-step.js +37 -37
  127. package/lib/step/dbc-step.js +35 -35
  128. package/lib/step/http-stepx.js +66 -66
  129. package/lib/step/message-step.js +39 -39
  130. package/lib/step/method-stepx.js +46 -46
  131. package/lib/step/resultset-step.js +39 -39
  132. package/lib/step/securemsg-step.js +43 -43
  133. package/lib/step/socket-step.js +46 -46
  134. package/lib/step/sql-stepx.js +67 -67
  135. package/lib/step/sqlxtype.js +15 -15
  136. package/lib/step/step.js +65 -65
  137. package/lib/step/stepenum.js +53 -53
  138. package/lib/trace/local-context.js +13 -13
  139. package/lib/trace/parsed-sql.js +13 -13
  140. package/lib/trace/profile-collector.js +70 -70
  141. package/lib/trace/serviceurl-pattern-detector.js +117 -117
  142. package/lib/trace/trace-context-manager.js +195 -195
  143. package/lib/trace/trace-context.js +134 -134
  144. package/lib/util/anylist.js +102 -102
  145. package/lib/util/array-util.js +100 -100
  146. package/lib/util/bitutil.js +27 -27
  147. package/lib/util/cardinality/hyperloglog.js +105 -105
  148. package/lib/util/cardinality/murmurhash.js +31 -31
  149. package/lib/util/cardinality/registerset.js +74 -74
  150. package/lib/util/config-util.js +17 -17
  151. package/lib/util/cypher.js +89 -89
  152. package/lib/util/datetimehelper.js +237 -229
  153. package/lib/util/dateutil.js +110 -106
  154. package/lib/util/errordata.js +20 -20
  155. package/lib/util/escape-literal-sql.js +342 -342
  156. package/lib/util/hashutil2.js +126 -126
  157. package/lib/util/hexa32.js +57 -57
  158. package/lib/util/index.js +78 -78
  159. package/lib/util/intint-map.js +47 -47
  160. package/lib/util/intkey-linkedmap.js +26 -26
  161. package/lib/util/intkey-map.js +25 -25
  162. package/lib/util/intset.js +82 -82
  163. package/lib/util/iputil.js +119 -119
  164. package/lib/util/iputil_x.js +526 -526
  165. package/lib/util/keygen.js +17 -17
  166. package/lib/util/kube-util.js +72 -72
  167. package/lib/util/longint-linkedmap.js +35 -35
  168. package/lib/util/longkey-linkedmap.js +25 -25
  169. package/lib/util/longlong-linkedmap.js +37 -37
  170. package/lib/util/nodeutil.js +67 -67
  171. package/lib/util/oidutil.js +96 -93
  172. package/lib/util/paramsecurity.js +78 -78
  173. package/lib/util/pathtree.js +172 -172
  174. package/lib/util/pre-process.js +13 -13
  175. package/lib/util/process-seq.js +165 -165
  176. package/lib/util/property-util.js +35 -35
  177. package/lib/util/request-queue.js +42 -42
  178. package/lib/util/requestdouble-queue.js +72 -72
  179. package/lib/util/resourceprofile.js +156 -156
  180. package/lib/util/seedrandom.js +242 -242
  181. package/lib/util/stop-watch.js +29 -29
  182. package/lib/util/string-util.js +9 -9
  183. package/lib/util/stringkey-linkedmap.js +28 -28
  184. package/lib/util/stringnum-linkedmap.js +31 -31
  185. package/lib/util/stringset.js +65 -65
  186. package/lib/util/system-util.js +9 -9
  187. package/lib/util/userid-util.js +57 -57
  188. package/lib/util/utils.js +67 -67
  189. package/lib/value/blob-value.js +61 -61
  190. package/lib/value/boolean-value.js +51 -51
  191. package/lib/value/decimal-value.js +71 -71
  192. package/lib/value/double-summary.js +105 -105
  193. package/lib/value/double-value.js +50 -50
  194. package/lib/value/float-array.js +59 -59
  195. package/lib/value/float-value.js +64 -64
  196. package/lib/value/int-array.js +59 -59
  197. package/lib/value/int-map-value.js +151 -151
  198. package/lib/value/int-value.js +64 -64
  199. package/lib/value/ip4-value.js +83 -83
  200. package/lib/value/list-value.js +136 -136
  201. package/lib/value/long-array.js +59 -59
  202. package/lib/value/long-summary.js +105 -105
  203. package/lib/value/map-value.js +175 -175
  204. package/lib/value/metric-value.js +157 -157
  205. package/lib/value/null-value.js +42 -42
  206. package/lib/value/number-value.js +34 -34
  207. package/lib/value/summary-value.js +29 -29
  208. package/lib/value/text-array.js +117 -117
  209. package/lib/value/text-value.js +59 -59
  210. package/lib/value/texthash-value.js +49 -49
  211. package/lib/value/value.js +14 -14
  212. package/lib/value/valueenum.js +99 -99
  213. package/logs/whatap-20230906.log +54 -0
  214. package/package.json +28 -28
  215. package/whatap.conf +1 -1
  216. package/logs/whatap-20230616.log +0 -13
@@ -1,127 +1,127 @@
1
- /**
2
- * Copyright 2016 the WHATAP project authors. All rights reserved.
3
- * Use of this source code is governed by a license that
4
- * can be found in the LICENSE file.
5
- */
6
-
7
- var Buffer = require('buffer').Buffer;
8
-
9
- const CRC_TABLE = [ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
10
- 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
11
- 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
12
- 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
13
- 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
14
- 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
15
- 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
16
- 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
17
- 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
18
- 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
19
- 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
20
- 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
21
- 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
22
- 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
23
- 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
24
- 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
25
- 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
26
- 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
27
- 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
28
- 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
29
- 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
30
- 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
31
- 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
32
- 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
33
- 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
34
- 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
35
- 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
36
- 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
37
- 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
38
- 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
39
- 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
40
- 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d];
41
-
42
- for(var i = 0 ; i < CRC_TABLE.length; i ++){
43
- CRC_TABLE[i] = hexToInt( CRC_TABLE[i].toString(16) );
44
- }
45
-
46
- function hexToInt(hex) {
47
- if (hex.length % 2 != 0) {
48
- hex = "0" + hex;
49
- }
50
- var num = parseInt(hex, 16);
51
- var maxVal = Math.pow(2, hex.length / 2 * 8);
52
- if (num > maxVal / 2 - 1) {
53
- num = num - maxVal
54
- }
55
- return num;
56
- }
57
-
58
- var getBytes = function (string) {
59
- var utf8 = unescape(encodeURIComponent(string));
60
- var arr = [];
61
-
62
- for (var i = 0; i < utf8.length; i++) {
63
- arr.push(utf8.charCodeAt(i));
64
- }
65
-
66
- return arr;
67
- }
68
-
69
- var hashUtil2 = {
70
- crc32 : function(str) {
71
- var buf = Buffer.alloc(str.length);
72
- buf.write(str, 'utf-8');
73
- var crc = 0;
74
- crc = crc ^ (-1);
75
- for ( var n = 0; n < buf.length; n++) {
76
- crc = CRC_TABLE[(crc ^ buf[n]) & 0xff] ^ (crc >>> 8);
77
- }
78
- return crc ^ (-1);
79
- },
80
- toStr: function(n,def){
81
- if(n){
82
- return n.toString();
83
- }
84
- return def? def:'';
85
- },
86
- hashFromString: function(str){
87
- if(str){
88
- return this.hash(Buffer.from(str));
89
- }else{
90
- return 0;
91
- }
92
- },
93
- hash: function(bytes /* bytes[] */){
94
- var crc = 0xffffffff;
95
- var var2 = getBytes(bytes);
96
- var var3 = bytes.length;
97
-
98
- for(var var4 = 0 ; var4 < var3; ++var4){
99
- var b = var2[var4];
100
- crc = crc >>> 8 ^ CRC_TABLE[(crc ^ b) & 0xff];
101
- }
102
- crc = crc ^ 0xffffffff;
103
- return crc;
104
- },
105
- hash64: function(bytes /* bytes[] */){
106
- var crc = 0xffffffffffffffff;
107
- var var2 = getBytes(bytes);
108
- var var3 = bytes.length;
109
-
110
- for(var var4 = 0 ; var4 < var3; ++var4){
111
- var b = var2[var4];
112
- crc = crc >>> 8 ^ CRC_TABLE[(crc ^ b) & 0xff];
113
- }
114
- crc = crc ^ 0xffffffffffffffff;
115
- return crc;
116
- },
117
- toInt: function(buf /* buf[] */){
118
- var ch1 = buf[0] & 255;
119
- var ch2 = buf[1] & 255;
120
- var ch3 = buf[2] & 255;
121
- var ch4 = buf[3] & 255;
122
- return (ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0);
123
- }
124
- };
125
- //console.log(hashUtil2.hash("feb15b32459051413cc959fddc8036b6240ebd3da77762593b4924393baa9239"));
126
- //console.log(hashUtil2.hash64("feb15b32459051413cc959fddc8036b6240ebd3da77762593b4924393baa9239"));
1
+ /**
2
+ * Copyright 2016 the WHATAP project authors. All rights reserved.
3
+ * Use of this source code is governed by a license that
4
+ * can be found in the LICENSE file.
5
+ */
6
+
7
+ var Buffer = require('buffer').Buffer;
8
+
9
+ const CRC_TABLE = [ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
10
+ 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
11
+ 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
12
+ 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
13
+ 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
14
+ 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
15
+ 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
16
+ 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
17
+ 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
18
+ 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
19
+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
20
+ 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
21
+ 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
22
+ 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
23
+ 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
24
+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
25
+ 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
26
+ 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
27
+ 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
28
+ 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
29
+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
30
+ 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
31
+ 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
32
+ 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
33
+ 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
34
+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
35
+ 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
36
+ 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
37
+ 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
38
+ 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
39
+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
40
+ 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d];
41
+
42
+ for(var i = 0 ; i < CRC_TABLE.length; i ++){
43
+ CRC_TABLE[i] = hexToInt( CRC_TABLE[i].toString(16) );
44
+ }
45
+
46
+ function hexToInt(hex) {
47
+ if (hex.length % 2 != 0) {
48
+ hex = "0" + hex;
49
+ }
50
+ var num = parseInt(hex, 16);
51
+ var maxVal = Math.pow(2, hex.length / 2 * 8);
52
+ if (num > maxVal / 2 - 1) {
53
+ num = num - maxVal
54
+ }
55
+ return num;
56
+ }
57
+
58
+ var getBytes = function (string) {
59
+ var utf8 = unescape(encodeURIComponent(string));
60
+ var arr = [];
61
+
62
+ for (var i = 0; i < utf8.length; i++) {
63
+ arr.push(utf8.charCodeAt(i));
64
+ }
65
+
66
+ return arr;
67
+ }
68
+
69
+ var hashUtil2 = {
70
+ crc32 : function(str) {
71
+ var buf = Buffer.alloc(str.length);
72
+ buf.write(str, 'utf-8');
73
+ var crc = 0;
74
+ crc = crc ^ (-1);
75
+ for ( var n = 0; n < buf.length; n++) {
76
+ crc = CRC_TABLE[(crc ^ buf[n]) & 0xff] ^ (crc >>> 8);
77
+ }
78
+ return crc ^ (-1);
79
+ },
80
+ toStr: function(n,def){
81
+ if(n){
82
+ return n.toString();
83
+ }
84
+ return def? def:'';
85
+ },
86
+ hashFromString: function(str){
87
+ if(str){
88
+ return this.hash(Buffer.from(str));
89
+ }else{
90
+ return 0;
91
+ }
92
+ },
93
+ hash: function(bytes /* bytes[] */){
94
+ var crc = 0xffffffff;
95
+ var var2 = getBytes(bytes);
96
+ var var3 = bytes.length;
97
+
98
+ for(var var4 = 0 ; var4 < var3; ++var4){
99
+ var b = var2[var4];
100
+ crc = crc >>> 8 ^ CRC_TABLE[(crc ^ b) & 0xff];
101
+ }
102
+ crc = crc ^ 0xffffffff;
103
+ return crc;
104
+ },
105
+ hash64: function(bytes /* bytes[] */){
106
+ var crc = 0xffffffffffffffff;
107
+ var var2 = getBytes(bytes);
108
+ var var3 = bytes.length;
109
+
110
+ for(var var4 = 0 ; var4 < var3; ++var4){
111
+ var b = var2[var4];
112
+ crc = crc >>> 8 ^ CRC_TABLE[(crc ^ b) & 0xff];
113
+ }
114
+ crc = crc ^ 0xffffffffffffffff;
115
+ return crc;
116
+ },
117
+ toInt: function(buf /* buf[] */){
118
+ var ch1 = buf[0] & 255;
119
+ var ch2 = buf[1] & 255;
120
+ var ch3 = buf[2] & 255;
121
+ var ch4 = buf[3] & 255;
122
+ return (ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0);
123
+ }
124
+ };
125
+ //console.log(hashUtil2.hash("feb15b32459051413cc959fddc8036b6240ebd3da77762593b4924393baa9239"));
126
+ //console.log(hashUtil2.hash64("feb15b32459051413cc959fddc8036b6240ebd3da77762593b4924393baa9239"));
127
127
  module.exports = hashUtil2;
@@ -1,57 +1,57 @@
1
- /**
2
- * Copyright 2016 the WHATAP project authors. All rights reserved.
3
- * Use of this source code is governed by a license that
4
- * can be found in the LICENSE file.
5
- */
6
-
7
- var Long = require('long');
8
-
9
- var Hexa32 = function(){
10
- };
11
-
12
- Hexa32.toString32 = function(num /* long */){
13
- if(num===undefined || num === null){
14
- return '0';
15
- }
16
-
17
- var minus = num < 0 ;
18
- if(minus){
19
- if(num === Long.MIN_VALUE ){
20
- return min;
21
- }
22
- if(typeof num === 'number'){
23
- num=-num;
24
- }else{
25
- num=num.multiply(-1);
26
- }
27
- return MINUS + num.toString(32);
28
- } else{
29
- if(num < 10){
30
- return num+'';
31
- }else{
32
- return PLUS + num.toString(32);
33
- }
34
- }
35
- };
36
-
37
- Hexa32.toLong32 = function(str /* String */){
38
- if(str == null || str.length === 0) return Long.ZERO;
39
-
40
- switch(str[0]){
41
- case MINUS:
42
- return Long.fromString( str.substring(1), false, 32).neg() ;
43
- case PLUS:
44
- return Long.fromString( str.substring(1), false, 32) ;
45
- default:
46
- return Long.fromString(str);
47
- }
48
- };
49
- Hexa32.toNumber32 = function(str){
50
- var v = Hexa32.toLong32(str);
51
- return v.toNumber();
52
- };
53
- var PLUS = Hexa32.PLUS = 'x';
54
- var MINUS = Hexa32.MINUS = 'z';
55
- var min = Hexa32.min = "z8000000000000";
56
-
57
- module.exports = Hexa32;
1
+ /**
2
+ * Copyright 2016 the WHATAP project authors. All rights reserved.
3
+ * Use of this source code is governed by a license that
4
+ * can be found in the LICENSE file.
5
+ */
6
+
7
+ var Long = require('long');
8
+
9
+ var Hexa32 = function(){
10
+ };
11
+
12
+ Hexa32.toString32 = function(num /* long */){
13
+ if(num===undefined || num === null){
14
+ return '0';
15
+ }
16
+
17
+ var minus = num < 0 ;
18
+ if(minus){
19
+ if(num === Long.MIN_VALUE ){
20
+ return min;
21
+ }
22
+ if(typeof num === 'number'){
23
+ num=-num;
24
+ }else{
25
+ num=num.multiply(-1);
26
+ }
27
+ return MINUS + num.toString(32);
28
+ } else{
29
+ if(num < 10){
30
+ return num+'';
31
+ }else{
32
+ return PLUS + num.toString(32);
33
+ }
34
+ }
35
+ };
36
+
37
+ Hexa32.toLong32 = function(str /* String */){
38
+ if(str == null || str.length === 0) return Long.ZERO;
39
+
40
+ switch(str[0]){
41
+ case MINUS:
42
+ return Long.fromString( str.substring(1), false, 32).neg() ;
43
+ case PLUS:
44
+ return Long.fromString( str.substring(1), false, 32) ;
45
+ default:
46
+ return Long.fromString(str);
47
+ }
48
+ };
49
+ Hexa32.toNumber32 = function(str){
50
+ var v = Hexa32.toLong32(str);
51
+ return v.toNumber();
52
+ };
53
+ var PLUS = Hexa32.PLUS = 'x';
54
+ var MINUS = Hexa32.MINUS = 'z';
55
+ var min = Hexa32.min = "z8000000000000";
56
+
57
+ module.exports = Hexa32;
package/lib/util/index.js CHANGED
@@ -1,78 +1,78 @@
1
- /**
2
- * Copyright 2016 the WHATAP project authors. All rights reserved.
3
- * Use of this source code is governed by a license that
4
- * can be found in the LICENSE file.
5
- */
6
-
7
-
8
- var NodeUtil = require('../util/nodeutil');
9
- var http = require('http');
10
- var Configure = require('../conf/configure'),
11
- Logger = require('../logger');
12
- var emptyIp = Buffer.alloc(4 , 0);
13
-
14
- function getIPAddresses() {
15
-
16
- var ipAddresses = [];
17
- var interfaces = require('os').networkInterfaces();
18
- for (var devName in interfaces) {
19
- var iface = interfaces[devName];
20
- for (var i = 0; i < iface.length; i++) {
21
- var alias = iface[i];
22
- if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
23
- ipAddresses.push(alias.address);
24
- }
25
- }
26
- }
27
- return ipAddresses;
28
- }
29
- function getRandomInteger(min, max) {
30
- min = Math.ceil(min);
31
- max = Math.floor(max);
32
- return Math.floor(Math.random() * (max - min)) + min;
33
- }
34
- function printWhatap() {
35
- var str =
36
- ' _ ____ ______NODE-AGENT ' + (Configure.whatap_micro_enabled === true ? "\t\t\t| | | | | | " : '')+ '\n'+
37
- '| | /| / / / ___ /_ __/__ ____' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| | ___ _| |__ ___ _ __ _ __ ___| |_ ___ ___ " : '')+ '\n'+
38
- '| |/ |/ / _ \\/ _ `// / / _ `/ _ \\' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| |/ / | | | '_ \\ / _ \\ '__| '_ \\ / _ \\ __/ _ \\/ __|" : '')+ '\n'+
39
- '|__/|__/_//_/\\_,_//_/ \\_,_/ .__/' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| <| |_| | |_) | __/ | | | | | __/ || __/\\__ \\" : '')+ '\n'+
40
- ' /_/ ' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t|_|\\_\\\\__,_|_.__/ \\___|_| |_| |_|\\___|\\__\\___||___/" : '')+ '\n'+
41
- 'Just Tap, Always Monitoring' + '\n'+
42
- 'WhaTap Node Agent version ' + NodeUtil.getVersion() + ', ' + NodeUtil.getReleaseDate();
43
- console.log(str);
44
- }
45
-
46
- function cloudPlatformCheck() {
47
- let cloud_platform = Configure.cloud_platform;
48
- let cloud_platform_chk = Configure.cloud_platform_chk;
49
- let cloud_platform_httpc = Configure.cloud_platform_httpc;
50
- let CAP_INFO = '';
51
- Logger.print('[cloudPlatformCheck]', `cloud_platform: ${cloud_platform} , cloud_platform_chk: ${cloud_platform_chk} , cloud_platform_httpc: ${cloud_platform_httpc}` , false)
52
- http.get(cloud_platform_httpc, (resp) => {
53
- let data = '';
54
-
55
- resp.on('data', (chunk) => {
56
- data += chunk;
57
- });
58
-
59
- resp.on('end', () => {
60
- if (data.length < 5) return;
61
- if (data.indexOf(cloud_platform_chk) >= 0) {
62
- Logger.print('[cloudPlatformCheck]', "This agent is working in " + cloud_platform , false)
63
- CAP_INFO = cloud_platform;
64
- }
65
- return CAP_INFO;
66
- });
67
- }).on("error", (err) => {
68
- Logger.print('[cloudPlatformCheck Error]', "Error: " + err.message , false);
69
- });
70
- return CAP_INFO;
71
- }
72
-
73
- module.exports = {
74
- getIPAddresses: getIPAddresses,
75
- getRandomInteger: getRandomInteger,
76
- printWhatap: printWhatap,
77
- cloudPlatformCheck:cloudPlatformCheck
78
- };
1
+ /**
2
+ * Copyright 2016 the WHATAP project authors. All rights reserved.
3
+ * Use of this source code is governed by a license that
4
+ * can be found in the LICENSE file.
5
+ */
6
+
7
+
8
+ var NodeUtil = require('../util/nodeutil');
9
+ var http = require('http');
10
+ var Configure = require('../conf/configure'),
11
+ Logger = require('../logger');
12
+ var emptyIp = Buffer.alloc(4 , 0);
13
+
14
+ function getIPAddresses() {
15
+
16
+ var ipAddresses = [];
17
+ var interfaces = require('os').networkInterfaces();
18
+ for (var devName in interfaces) {
19
+ var iface = interfaces[devName];
20
+ for (var i = 0; i < iface.length; i++) {
21
+ var alias = iface[i];
22
+ if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
23
+ ipAddresses.push(alias.address);
24
+ }
25
+ }
26
+ }
27
+ return ipAddresses;
28
+ }
29
+ function getRandomInteger(min, max) {
30
+ min = Math.ceil(min);
31
+ max = Math.floor(max);
32
+ return Math.floor(Math.random() * (max - min)) + min;
33
+ }
34
+ function printWhatap() {
35
+ var str =
36
+ ' _ ____ ______NODE-AGENT ' + (Configure.whatap_micro_enabled === true ? "\t\t\t| | | | | | " : '')+ '\n'+
37
+ '| | /| / / / ___ /_ __/__ ____' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| | ___ _| |__ ___ _ __ _ __ ___| |_ ___ ___ " : '')+ '\n'+
38
+ '| |/ |/ / _ \\/ _ `// / / _ `/ _ \\' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| |/ / | | | '_ \\ / _ \\ '__| '_ \\ / _ \\ __/ _ \\/ __|" : '')+ '\n'+
39
+ '|__/|__/_//_/\\_,_//_/ \\_,_/ .__/' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t| <| |_| | |_) | __/ | | | | | __/ || __/\\__ \\" : '')+ '\n'+
40
+ ' /_/ ' + '' + (Configure.whatap_micro_enabled === true ? "\t\t\t|_|\\_\\\\__,_|_.__/ \\___|_| |_| |_|\\___|\\__\\___||___/" : '')+ '\n'+
41
+ 'Just Tap, Always Monitoring' + '\n'+
42
+ 'WhaTap Node Agent version ' + NodeUtil.getVersion() + ', ' + NodeUtil.getReleaseDate();
43
+ console.log(str);
44
+ }
45
+
46
+ function cloudPlatformCheck() {
47
+ let cloud_platform = Configure.cloud_platform;
48
+ let cloud_platform_chk = Configure.cloud_platform_chk;
49
+ let cloud_platform_httpc = Configure.cloud_platform_httpc;
50
+ let CAP_INFO = '';
51
+ Logger.print('[cloudPlatformCheck]', `cloud_platform: ${cloud_platform} , cloud_platform_chk: ${cloud_platform_chk} , cloud_platform_httpc: ${cloud_platform_httpc}` , false)
52
+ http.get(cloud_platform_httpc, (resp) => {
53
+ let data = '';
54
+
55
+ resp.on('data', (chunk) => {
56
+ data += chunk;
57
+ });
58
+
59
+ resp.on('end', () => {
60
+ if (data.length < 5) return;
61
+ if (data.indexOf(cloud_platform_chk) >= 0) {
62
+ Logger.print('[cloudPlatformCheck]', "This agent is working in " + cloud_platform , false)
63
+ CAP_INFO = cloud_platform;
64
+ }
65
+ return CAP_INFO;
66
+ });
67
+ }).on("error", (err) => {
68
+ Logger.print('[cloudPlatformCheck Error]', "Error: " + err.message , false);
69
+ });
70
+ return CAP_INFO;
71
+ }
72
+
73
+ module.exports = {
74
+ getIPAddresses: getIPAddresses,
75
+ getRandomInteger: getRandomInteger,
76
+ printWhatap: printWhatap,
77
+ cloudPlatformCheck:cloudPlatformCheck
78
+ };
@@ -1,48 +1,48 @@
1
- /**
2
- * Copyright 2016 the WHATAP project authors. All rights reserved.
3
- * Use of this source code is governed by a license that
4
- * can be found in the LICENSE file.
5
- */
6
-
7
- var LinkedMap = require('./linkedmap');
8
-
9
- function IntIntMap(initCapacity, loadFactor) {
10
- LinkedMap.call(this, initCapacity, loadFactor);
11
- }
12
-
13
- IntIntMap.prototype = new LinkedMap();
14
- IntIntMap.prototype.constructor = IntIntMap;
15
-
16
- IntIntMap.prototype.none = function () {
17
- return 0;
18
- };
19
- IntIntMap.prototype.hash = function (key /*int*/) {
20
- return Math.abs(key);
21
- };
22
- IntIntMap.prototype.equals = function (key1, key2) {
23
- return key1===key2;
24
- };
25
- IntIntMap.prototype.sum = function (value1, value2) {
26
- return value1+value2;
27
- };
28
-
29
- IntIntMap.prototype.toBytes = function (dout) {
30
- dout.writeDecimal(this.size());
31
- var en = this.entries();
32
- while(en.hasMoreElements()) {
33
- var e = en.nextElement();
34
- dout.writeDecimal(e.getKey());
35
- dout.writeDecimal(e.getValue());
36
- }
37
- };
38
- IntIntMap.prototype.toObject = function (din) {
39
- var cnt = din.readDecNumber();
40
- for (var i = 0; i < cnt; i++) {
41
- var key = din.readDecNumber();
42
- var value = din.readDecNumber();
43
- this.put(key, value);
44
- }
45
- return this;
46
- };
47
-
1
+ /**
2
+ * Copyright 2016 the WHATAP project authors. All rights reserved.
3
+ * Use of this source code is governed by a license that
4
+ * can be found in the LICENSE file.
5
+ */
6
+
7
+ var LinkedMap = require('./linkedmap');
8
+
9
+ function IntIntMap(initCapacity, loadFactor) {
10
+ LinkedMap.call(this, initCapacity, loadFactor);
11
+ }
12
+
13
+ IntIntMap.prototype = new LinkedMap();
14
+ IntIntMap.prototype.constructor = IntIntMap;
15
+
16
+ IntIntMap.prototype.none = function () {
17
+ return 0;
18
+ };
19
+ IntIntMap.prototype.hash = function (key /*int*/) {
20
+ return Math.abs(key);
21
+ };
22
+ IntIntMap.prototype.equals = function (key1, key2) {
23
+ return key1===key2;
24
+ };
25
+ IntIntMap.prototype.sum = function (value1, value2) {
26
+ return value1+value2;
27
+ };
28
+
29
+ IntIntMap.prototype.toBytes = function (dout) {
30
+ dout.writeDecimal(this.size());
31
+ var en = this.entries();
32
+ while(en.hasMoreElements()) {
33
+ var e = en.nextElement();
34
+ dout.writeDecimal(e.getKey());
35
+ dout.writeDecimal(e.getValue());
36
+ }
37
+ };
38
+ IntIntMap.prototype.toObject = function (din) {
39
+ var cnt = din.readDecNumber();
40
+ for (var i = 0; i < cnt; i++) {
41
+ var key = din.readDecNumber();
42
+ var value = din.readDecNumber();
43
+ this.put(key, value);
44
+ }
45
+ return this;
46
+ };
47
+
48
48
  module.exports = IntIntMap;