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.
- package/.vscode/keep-context.json +3 -3
- package/README.md +51 -51
- package/bindings/darwin/x64/whatap.node +0 -0
- package/bindings/linux/ia32/whatap.node +0 -0
- package/bindings/linux/x64/whatap.node +0 -0
- package/help.txt +10 -10
- package/index.js +8 -8
- package/lib/conf/conf-sys-mon.js +100 -100
- package/lib/conf/config-default.js +238 -238
- package/lib/conf/configure.js +423 -423
- package/lib/conf/license.js +41 -41
- package/lib/control/cmd-config.js +23 -23
- package/lib/control/control-handler.js +344 -344
- package/lib/control/packagectr-helper.js +149 -149
- package/lib/core/agent.js +329 -328
- package/lib/core/interceptor.js +142 -142
- package/lib/core/request-agent.js +26 -26
- package/lib/counter/counter-manager.js +127 -127
- package/lib/counter/meter/meter-activex.js +66 -66
- package/lib/counter/meter/meter-httpc.js +57 -57
- package/lib/counter/meter/meter-resource.js +9 -9
- package/lib/counter/meter/meter-service.js +167 -167
- package/lib/counter/meter/meter-socket.io.js +50 -50
- package/lib/counter/meter/meter-sql.js +70 -70
- package/lib/counter/meter/meter-users.js +57 -57
- package/lib/counter/meter.js +183 -183
- package/lib/counter/task/activetransaction.js +93 -93
- package/lib/counter/task/agentinfo.js +105 -105
- package/lib/counter/task/counter-task.js +9 -9
- package/lib/counter/task/gcstat.js +34 -34
- package/lib/counter/task/heapmem.js +24 -24
- package/lib/counter/task/httpc.js +75 -75
- package/lib/counter/task/proc-cpu.js +28 -28
- package/lib/counter/task/realtimeuser.js +30 -30
- package/lib/counter/task/res/systemECSTask.js +54 -54
- package/lib/counter/task/res/systemKubeTask.js +52 -52
- package/lib/counter/task/res/util/awsEcsClientThread.js +166 -166
- package/lib/counter/task/res/util/linuxProcStatUtil.js +13 -13
- package/lib/counter/task/res-sys-cpu.js +61 -61
- package/lib/counter/task/service.js +201 -201
- package/lib/counter/task/socketio.js +29 -29
- package/lib/counter/task/sql.js +104 -104
- package/lib/counter/task/systemperf.js +42 -42
- package/lib/data/datapack-sender.js +256 -256
- package/lib/data/dataprofile-agent.js +136 -136
- package/lib/data/datatext-agent.js +135 -135
- package/lib/data/event-level.js +15 -15
- package/lib/data/test.js +48 -48
- package/lib/env/constants.js +20 -20
- package/lib/kube/kube-client.js +143 -143
- package/lib/lang/text-types.js +58 -58
- package/lib/logger.js +319 -319
- package/lib/net/netflag.js +54 -54
- package/lib/net/paramdef.js +40 -40
- package/lib/net/receiver.js +65 -65
- package/lib/net/security-master.js +182 -173
- package/lib/net/sender.js +140 -140
- package/lib/net/tcp-return.js +17 -17
- package/lib/net/tcp-session.js +285 -285
- package/lib/net/tcpreq-client-proxy.js +69 -69
- package/lib/net/tcprequest-mgr.js +57 -57
- package/lib/observers/cluster-observer.js +21 -21
- package/lib/observers/express-observer.js +214 -214
- package/lib/observers/file-observer.js +184 -184
- package/lib/observers/global-observer.js +30 -30
- package/lib/observers/http-observer.js +704 -704
- package/lib/observers/maria-observer.js +382 -382
- package/lib/observers/memcached-observer.js +55 -55
- package/lib/observers/mongo-observer.js +262 -265
- package/lib/observers/mongodb-observer.js +197 -197
- package/lib/observers/mongoose-observer.js +83 -83
- package/lib/observers/mssql-observer.js +205 -205
- package/lib/observers/mysql-observer.js +436 -394
- package/lib/observers/net-observer.js +72 -72
- package/lib/observers/pgsql-observer.js +295 -295
- package/lib/observers/process-observer.js +25 -25
- package/lib/observers/promise-observer.js +31 -31
- package/lib/observers/redis-observer.js +156 -109
- package/lib/observers/schedule-observer.js +66 -66
- package/lib/observers/socket.io-observer.js +54 -54
- package/lib/observers/stream-observer.js +19 -19
- package/lib/observers/thrift-observer.js +196 -196
- package/lib/pack/activestack-pack.js +54 -54
- package/lib/pack/counter-pack.js +649 -649
- package/lib/pack/errorsnap-pack.js +68 -68
- package/lib/pack/event-pack.js +53 -53
- package/lib/pack/hitmap-pack.js +62 -62
- package/lib/pack/hitmap-pack1.js +146 -146
- package/lib/pack/netstat.js +14 -14
- package/lib/pack/pack.js +49 -49
- package/lib/pack/packenum.js +60 -60
- package/lib/pack/param-pack.js +213 -213
- package/lib/pack/profile-pack.js +48 -48
- package/lib/pack/realtimeuser-pack.js +40 -40
- package/lib/pack/stat-general-pack.js +95 -95
- package/lib/pack/staterror-pack.js +119 -119
- package/lib/pack/stathttpc-pack.js +66 -66
- package/lib/pack/stathttpc-rec.js +78 -78
- package/lib/pack/statremote-pack.js +45 -45
- package/lib/pack/statservice-pack.js +62 -62
- package/lib/pack/statservice-pack1.js +87 -87
- package/lib/pack/statservice-rec.js +292 -292
- package/lib/pack/statservice-rec_dep.js +151 -151
- package/lib/pack/statsql-pack.js +69 -69
- package/lib/pack/statsql-rec.js +100 -100
- package/lib/pack/statuseragent-pack.js +43 -43
- package/lib/pack/tagcount-pack.js +398 -398
- package/lib/pack/tagctr.js +14 -14
- package/lib/pack/text-pack.js +49 -49
- package/lib/pack/time-count.js +25 -25
- package/lib/pack/websocket.js +14 -14
- package/lib/plugin/plugin-loadermanager.js +56 -56
- package/lib/plugin/plugin.js +75 -75
- package/lib/requestlog.js +326 -326
- package/lib/service/tx-record.js +288 -288
- package/lib/stat/stat-error.js +116 -116
- package/lib/stat/stat-httpc.js +97 -97
- package/lib/stat/stat-remoteip.js +46 -46
- package/lib/stat/stat-sql.js +112 -112
- package/lib/stat/stat-tranx.js +57 -57
- package/lib/stat/stat-tx-caller.js +159 -159
- package/lib/stat/stat-tx-domain.js +110 -110
- package/lib/stat/stat-tx-referer.js +111 -111
- package/lib/stat/stat-useragent.js +48 -48
- package/lib/stat/timingsender.js +72 -72
- package/lib/step/activestack-step.js +37 -37
- package/lib/step/dbc-step.js +35 -35
- package/lib/step/http-stepx.js +66 -66
- package/lib/step/message-step.js +39 -39
- package/lib/step/method-stepx.js +46 -46
- package/lib/step/resultset-step.js +39 -39
- package/lib/step/securemsg-step.js +43 -43
- package/lib/step/socket-step.js +46 -46
- package/lib/step/sql-stepx.js +67 -67
- package/lib/step/sqlxtype.js +15 -15
- package/lib/step/step.js +65 -65
- package/lib/step/stepenum.js +53 -53
- package/lib/trace/local-context.js +13 -13
- package/lib/trace/parsed-sql.js +13 -13
- package/lib/trace/profile-collector.js +70 -70
- package/lib/trace/serviceurl-pattern-detector.js +117 -117
- package/lib/trace/trace-context-manager.js +195 -195
- package/lib/trace/trace-context.js +134 -134
- package/lib/util/anylist.js +102 -102
- package/lib/util/array-util.js +100 -100
- package/lib/util/bitutil.js +27 -27
- package/lib/util/cardinality/hyperloglog.js +105 -105
- package/lib/util/cardinality/murmurhash.js +31 -31
- package/lib/util/cardinality/registerset.js +74 -74
- package/lib/util/config-util.js +17 -17
- package/lib/util/cypher.js +89 -89
- package/lib/util/datetimehelper.js +237 -229
- package/lib/util/dateutil.js +110 -106
- package/lib/util/errordata.js +20 -20
- package/lib/util/escape-literal-sql.js +342 -342
- package/lib/util/hashutil2.js +126 -126
- package/lib/util/hexa32.js +57 -57
- package/lib/util/index.js +78 -78
- package/lib/util/intint-map.js +47 -47
- package/lib/util/intkey-linkedmap.js +26 -26
- package/lib/util/intkey-map.js +25 -25
- package/lib/util/intset.js +82 -82
- package/lib/util/iputil.js +119 -119
- package/lib/util/iputil_x.js +526 -526
- package/lib/util/keygen.js +17 -17
- package/lib/util/kube-util.js +72 -72
- package/lib/util/longint-linkedmap.js +35 -35
- package/lib/util/longkey-linkedmap.js +25 -25
- package/lib/util/longlong-linkedmap.js +37 -37
- package/lib/util/nodeutil.js +67 -67
- package/lib/util/oidutil.js +96 -93
- package/lib/util/paramsecurity.js +78 -78
- package/lib/util/pathtree.js +172 -172
- package/lib/util/pre-process.js +13 -13
- package/lib/util/process-seq.js +165 -165
- package/lib/util/property-util.js +35 -35
- package/lib/util/request-queue.js +42 -42
- package/lib/util/requestdouble-queue.js +72 -72
- package/lib/util/resourceprofile.js +156 -156
- package/lib/util/seedrandom.js +242 -242
- package/lib/util/stop-watch.js +29 -29
- package/lib/util/string-util.js +9 -9
- package/lib/util/stringkey-linkedmap.js +28 -28
- package/lib/util/stringnum-linkedmap.js +31 -31
- package/lib/util/stringset.js +65 -65
- package/lib/util/system-util.js +9 -9
- package/lib/util/userid-util.js +57 -57
- package/lib/util/utils.js +67 -67
- package/lib/value/blob-value.js +61 -61
- package/lib/value/boolean-value.js +51 -51
- package/lib/value/decimal-value.js +71 -71
- package/lib/value/double-summary.js +105 -105
- package/lib/value/double-value.js +50 -50
- package/lib/value/float-array.js +59 -59
- package/lib/value/float-value.js +64 -64
- package/lib/value/int-array.js +59 -59
- package/lib/value/int-map-value.js +151 -151
- package/lib/value/int-value.js +64 -64
- package/lib/value/ip4-value.js +83 -83
- package/lib/value/list-value.js +136 -136
- package/lib/value/long-array.js +59 -59
- package/lib/value/long-summary.js +105 -105
- package/lib/value/map-value.js +175 -175
- package/lib/value/metric-value.js +157 -157
- package/lib/value/null-value.js +42 -42
- package/lib/value/number-value.js +34 -34
- package/lib/value/summary-value.js +29 -29
- package/lib/value/text-array.js +117 -117
- package/lib/value/text-value.js +59 -59
- package/lib/value/texthash-value.js +49 -49
- package/lib/value/value.js +14 -14
- package/lib/value/valueenum.js +99 -99
- package/logs/whatap-20230906.log +54 -0
- package/package.json +28 -28
- package/whatap.conf +1 -1
- package/logs/whatap-20230616.log +0 -13
package/lib/util/hashutil2.js
CHANGED
|
@@ -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;
|
package/lib/util/hexa32.js
CHANGED
|
@@ -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
|
+
};
|
package/lib/util/intint-map.js
CHANGED
|
@@ -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;
|