whatap 0.4.78 → 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 -284
- 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
|
@@ -1,52 +1,52 @@
|
|
|
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 ValueEnum = require('./valueenum'),
|
|
8
|
-
Value = require('./value');
|
|
9
|
-
|
|
10
|
-
function BooleanValue(value){
|
|
11
|
-
Value.call(this);
|
|
12
|
-
this.value = value || false;
|
|
13
|
-
this.compareTo = function(object) {
|
|
14
|
-
if(object instanceof BooleanValue) {
|
|
15
|
-
if(this.value === object.value) {
|
|
16
|
-
return 0;
|
|
17
|
-
}
|
|
18
|
-
return this.value ? 1 : -1;
|
|
19
|
-
}
|
|
20
|
-
return 1;
|
|
21
|
-
};
|
|
22
|
-
this.equals = function(object) {
|
|
23
|
-
if(object instanceof BooleanValue) {
|
|
24
|
-
return this.value === object.value;
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
this.hashCode = function(){
|
|
29
|
-
return this.value ? 1 : 0;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
this.toString = function(){
|
|
33
|
-
return this.value ? 'true' : 'false';
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
BooleanValue.prototype = new Value();
|
|
37
|
-
BooleanValue.prototype.constructor = BooleanValue;
|
|
38
|
-
BooleanValue.prototype.write = function(dout) {
|
|
39
|
-
dout.writeBoolean(this.value);
|
|
40
|
-
};
|
|
41
|
-
BooleanValue.prototype.read = function(din) {
|
|
42
|
-
this.value = din.readBoolean();
|
|
43
|
-
return this;
|
|
44
|
-
};
|
|
45
|
-
BooleanValue.prototype.getValueType = function() {
|
|
46
|
-
return ValueEnum.BOOLEAN;
|
|
47
|
-
};
|
|
48
|
-
BooleanValue.prototype.toObject = function() {
|
|
49
|
-
return this.value;
|
|
50
|
-
};
|
|
51
|
-
|
|
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 ValueEnum = require('./valueenum'),
|
|
8
|
+
Value = require('./value');
|
|
9
|
+
|
|
10
|
+
function BooleanValue(value){
|
|
11
|
+
Value.call(this);
|
|
12
|
+
this.value = value || false;
|
|
13
|
+
this.compareTo = function(object) {
|
|
14
|
+
if(object instanceof BooleanValue) {
|
|
15
|
+
if(this.value === object.value) {
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
return this.value ? 1 : -1;
|
|
19
|
+
}
|
|
20
|
+
return 1;
|
|
21
|
+
};
|
|
22
|
+
this.equals = function(object) {
|
|
23
|
+
if(object instanceof BooleanValue) {
|
|
24
|
+
return this.value === object.value;
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
this.hashCode = function(){
|
|
29
|
+
return this.value ? 1 : 0;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
this.toString = function(){
|
|
33
|
+
return this.value ? 'true' : 'false';
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
BooleanValue.prototype = new Value();
|
|
37
|
+
BooleanValue.prototype.constructor = BooleanValue;
|
|
38
|
+
BooleanValue.prototype.write = function(dout) {
|
|
39
|
+
dout.writeBoolean(this.value);
|
|
40
|
+
};
|
|
41
|
+
BooleanValue.prototype.read = function(din) {
|
|
42
|
+
this.value = din.readBoolean();
|
|
43
|
+
return this;
|
|
44
|
+
};
|
|
45
|
+
BooleanValue.prototype.getValueType = function() {
|
|
46
|
+
return ValueEnum.BOOLEAN;
|
|
47
|
+
};
|
|
48
|
+
BooleanValue.prototype.toObject = function() {
|
|
49
|
+
return this.value;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
52
|
module.exports = BooleanValue;
|
|
@@ -1,72 +1,72 @@
|
|
|
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
|
-
ValueEnum = require('./valueenum'),
|
|
9
|
-
NumberValue = require('./number-value');
|
|
10
|
-
|
|
11
|
-
function DecimalValue(value) {
|
|
12
|
-
NumberValue.call(this);
|
|
13
|
-
if(value instanceof Long) {
|
|
14
|
-
this.value = value;
|
|
15
|
-
} else if(typeof value === 'number') {
|
|
16
|
-
this.value = Long.fromNumber(value);
|
|
17
|
-
} else if(typeof value === 'string') {
|
|
18
|
-
this.value = Long.fromString(value);
|
|
19
|
-
} else {
|
|
20
|
-
this.value = Long.ZERO;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
this.compareTo = function(object) {
|
|
24
|
-
if(object instanceof DecimalValue) {
|
|
25
|
-
return this.value.compare(object.value);
|
|
26
|
-
}
|
|
27
|
-
return 1;
|
|
28
|
-
};
|
|
29
|
-
this.equals = function(object) {
|
|
30
|
-
if(object instanceof DecimalValue) {
|
|
31
|
-
return this.value.equals(object.value);
|
|
32
|
-
}
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
this.hashCode = function() {
|
|
36
|
-
var hash = this.value.low ^ this.value.high;
|
|
37
|
-
return hash;
|
|
38
|
-
}
|
|
39
|
-
this.toString = function() {
|
|
40
|
-
return this.value.toString();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
DecimalValue.prototype = new NumberValue();
|
|
45
|
-
DecimalValue.prototype.constructor = NumberValue;
|
|
46
|
-
DecimalValue.prototype.write = function(dout) {
|
|
47
|
-
dout.writeDecimal(this.value);
|
|
48
|
-
};
|
|
49
|
-
DecimalValue.prototype.read = function(din) {
|
|
50
|
-
this.value = din.readDecLong(); //무조건 Long 타입으로 처리한다.
|
|
51
|
-
return this;
|
|
52
|
-
};
|
|
53
|
-
DecimalValue.prototype.getValueType = function() {
|
|
54
|
-
return ValueEnum.DECIMAL;
|
|
55
|
-
};
|
|
56
|
-
DecimalValue.prototype.doubleValue = function() {
|
|
57
|
-
return this.value.toNumber();
|
|
58
|
-
};
|
|
59
|
-
DecimalValue.prototype.floatValue = function() {
|
|
60
|
-
return this.value.toNumber();
|
|
61
|
-
};
|
|
62
|
-
DecimalValue.prototype.intValue = function() {
|
|
63
|
-
return this.value.toInt();
|
|
64
|
-
};
|
|
65
|
-
DecimalValue.prototype.longValue = function() {
|
|
66
|
-
return this.value;
|
|
67
|
-
};
|
|
68
|
-
DecimalValue.prototype.numberValue = function() {
|
|
69
|
-
return this.value.toNumber();
|
|
70
|
-
};
|
|
71
|
-
|
|
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
|
+
ValueEnum = require('./valueenum'),
|
|
9
|
+
NumberValue = require('./number-value');
|
|
10
|
+
|
|
11
|
+
function DecimalValue(value) {
|
|
12
|
+
NumberValue.call(this);
|
|
13
|
+
if(value instanceof Long) {
|
|
14
|
+
this.value = value;
|
|
15
|
+
} else if(typeof value === 'number') {
|
|
16
|
+
this.value = Long.fromNumber(value);
|
|
17
|
+
} else if(typeof value === 'string') {
|
|
18
|
+
this.value = Long.fromString(value);
|
|
19
|
+
} else {
|
|
20
|
+
this.value = Long.ZERO;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
this.compareTo = function(object) {
|
|
24
|
+
if(object instanceof DecimalValue) {
|
|
25
|
+
return this.value.compare(object.value);
|
|
26
|
+
}
|
|
27
|
+
return 1;
|
|
28
|
+
};
|
|
29
|
+
this.equals = function(object) {
|
|
30
|
+
if(object instanceof DecimalValue) {
|
|
31
|
+
return this.value.equals(object.value);
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
this.hashCode = function() {
|
|
36
|
+
var hash = this.value.low ^ this.value.high;
|
|
37
|
+
return hash;
|
|
38
|
+
}
|
|
39
|
+
this.toString = function() {
|
|
40
|
+
return this.value.toString();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
DecimalValue.prototype = new NumberValue();
|
|
45
|
+
DecimalValue.prototype.constructor = NumberValue;
|
|
46
|
+
DecimalValue.prototype.write = function(dout) {
|
|
47
|
+
dout.writeDecimal(this.value);
|
|
48
|
+
};
|
|
49
|
+
DecimalValue.prototype.read = function(din) {
|
|
50
|
+
this.value = din.readDecLong(); //무조건 Long 타입으로 처리한다.
|
|
51
|
+
return this;
|
|
52
|
+
};
|
|
53
|
+
DecimalValue.prototype.getValueType = function() {
|
|
54
|
+
return ValueEnum.DECIMAL;
|
|
55
|
+
};
|
|
56
|
+
DecimalValue.prototype.doubleValue = function() {
|
|
57
|
+
return this.value.toNumber();
|
|
58
|
+
};
|
|
59
|
+
DecimalValue.prototype.floatValue = function() {
|
|
60
|
+
return this.value.toNumber();
|
|
61
|
+
};
|
|
62
|
+
DecimalValue.prototype.intValue = function() {
|
|
63
|
+
return this.value.toInt();
|
|
64
|
+
};
|
|
65
|
+
DecimalValue.prototype.longValue = function() {
|
|
66
|
+
return this.value;
|
|
67
|
+
};
|
|
68
|
+
DecimalValue.prototype.numberValue = function() {
|
|
69
|
+
return this.value.toNumber();
|
|
70
|
+
};
|
|
71
|
+
|
|
72
72
|
module.exports = DecimalValue;
|
|
@@ -1,106 +1,106 @@
|
|
|
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 ValueEnum = require('./valueenum'),
|
|
9
|
-
SummaryValue = require('./summary-value');
|
|
10
|
-
|
|
11
|
-
function DoubleSummary() {
|
|
12
|
-
SummaryValue.call(this);
|
|
13
|
-
this.sum = 0;
|
|
14
|
-
this.count = 0;
|
|
15
|
-
this.min = 0;
|
|
16
|
-
this.max = 0;
|
|
17
|
-
this.toString = function() {
|
|
18
|
-
return '[sum=' + this.sum +',count=' + this.count + ',min=' + this.min
|
|
19
|
-
+ ',max=' + this.max + "]";
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
DoubleSummary.prototype = new SummaryValue();
|
|
24
|
-
DoubleSummary.prototype.constructor = DoubleSummary;
|
|
25
|
-
DoubleSummary.prototype.getValueType = function() {
|
|
26
|
-
return ValueEnum.DOUBLE_SUMMARY;
|
|
27
|
-
};
|
|
28
|
-
DoubleSummary.prototype.write = function(dout) {
|
|
29
|
-
dout.writeDoubleBE(this.sum);
|
|
30
|
-
dout.writeInt32BE(this.count);
|
|
31
|
-
dout.writeDoubleBE(this.min)
|
|
32
|
-
dout.writeDoubleBE(this.max);
|
|
33
|
-
};
|
|
34
|
-
DoubleSummary.prototype.read = function(din) {
|
|
35
|
-
this.sum = din.readDoubleBE();
|
|
36
|
-
this.count = din.readInt32BE();
|
|
37
|
-
this.min = din.readDoubleBE();
|
|
38
|
-
this.max = din.readDoubleBE();
|
|
39
|
-
return this;
|
|
40
|
-
};
|
|
41
|
-
DoubleSummary.prototype.toObject = function() {
|
|
42
|
-
return this;
|
|
43
|
-
};
|
|
44
|
-
DoubleSummary.prototype.add = function(value) {
|
|
45
|
-
if(value == null) {
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if(value instanceof SummaryValue) {
|
|
50
|
-
return this.addObject(value);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if(this.count === 0) {
|
|
54
|
-
this.sum = value;
|
|
55
|
-
this.count = 1;
|
|
56
|
-
this.max = value;
|
|
57
|
-
this.min = value;
|
|
58
|
-
} else {
|
|
59
|
-
this.sum += value;
|
|
60
|
-
this.count++;
|
|
61
|
-
this.max = Math.max(this.max, value);
|
|
62
|
-
this.min = Math.min(this.min, value);
|
|
63
|
-
}
|
|
64
|
-
return this;
|
|
65
|
-
};
|
|
66
|
-
DoubleSummary.prototype.addCount = function(){
|
|
67
|
-
this.count++;
|
|
68
|
-
};
|
|
69
|
-
DoubleSummary.prototype.addObject = function (other) {
|
|
70
|
-
if(other.getCount() === 0) {
|
|
71
|
-
return this;
|
|
72
|
-
}
|
|
73
|
-
this.count += other.getCount();
|
|
74
|
-
this.sum += other.doubleSum();
|
|
75
|
-
this.min = Math.min(this.min, other.doubleMin());
|
|
76
|
-
this.max = Math.max(this.max, other.doubleMax());
|
|
77
|
-
};
|
|
78
|
-
DoubleSummary.prototype.longSum = function() {
|
|
79
|
-
return Long.fromNumber(this.sum);
|
|
80
|
-
};
|
|
81
|
-
DoubleSummary.prototype.longMin = function() {
|
|
82
|
-
return Long.fromNumber(this.min);
|
|
83
|
-
};
|
|
84
|
-
DoubleSummary.prototype.longMax = function() {
|
|
85
|
-
return Long.fromNumber(this.max);
|
|
86
|
-
};
|
|
87
|
-
DoubleSummary.prototype.longAvg = function() {
|
|
88
|
-
return Long.fromNumber(this.count === 0 ? 0 : this.sum / this.count);
|
|
89
|
-
};
|
|
90
|
-
DoubleSummary.prototype.doubleSum = function() {
|
|
91
|
-
return this.sum;
|
|
92
|
-
};
|
|
93
|
-
DoubleSummary.prototype.doubleMin = function() {
|
|
94
|
-
return this.min;
|
|
95
|
-
};
|
|
96
|
-
DoubleSummary.prototype.doubleMax = function() {
|
|
97
|
-
return this.max;
|
|
98
|
-
};
|
|
99
|
-
DoubleSummary.prototype.doubleAvg = function() {
|
|
100
|
-
return this.count === 0 ? 0 : this.sum/this.count;
|
|
101
|
-
};
|
|
102
|
-
DoubleSummary.prototype.getCount = function() {
|
|
103
|
-
return this.count;
|
|
104
|
-
};
|
|
105
|
-
|
|
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 ValueEnum = require('./valueenum'),
|
|
9
|
+
SummaryValue = require('./summary-value');
|
|
10
|
+
|
|
11
|
+
function DoubleSummary() {
|
|
12
|
+
SummaryValue.call(this);
|
|
13
|
+
this.sum = 0;
|
|
14
|
+
this.count = 0;
|
|
15
|
+
this.min = 0;
|
|
16
|
+
this.max = 0;
|
|
17
|
+
this.toString = function() {
|
|
18
|
+
return '[sum=' + this.sum +',count=' + this.count + ',min=' + this.min
|
|
19
|
+
+ ',max=' + this.max + "]";
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
DoubleSummary.prototype = new SummaryValue();
|
|
24
|
+
DoubleSummary.prototype.constructor = DoubleSummary;
|
|
25
|
+
DoubleSummary.prototype.getValueType = function() {
|
|
26
|
+
return ValueEnum.DOUBLE_SUMMARY;
|
|
27
|
+
};
|
|
28
|
+
DoubleSummary.prototype.write = function(dout) {
|
|
29
|
+
dout.writeDoubleBE(this.sum);
|
|
30
|
+
dout.writeInt32BE(this.count);
|
|
31
|
+
dout.writeDoubleBE(this.min)
|
|
32
|
+
dout.writeDoubleBE(this.max);
|
|
33
|
+
};
|
|
34
|
+
DoubleSummary.prototype.read = function(din) {
|
|
35
|
+
this.sum = din.readDoubleBE();
|
|
36
|
+
this.count = din.readInt32BE();
|
|
37
|
+
this.min = din.readDoubleBE();
|
|
38
|
+
this.max = din.readDoubleBE();
|
|
39
|
+
return this;
|
|
40
|
+
};
|
|
41
|
+
DoubleSummary.prototype.toObject = function() {
|
|
42
|
+
return this;
|
|
43
|
+
};
|
|
44
|
+
DoubleSummary.prototype.add = function(value) {
|
|
45
|
+
if(value == null) {
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if(value instanceof SummaryValue) {
|
|
50
|
+
return this.addObject(value);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if(this.count === 0) {
|
|
54
|
+
this.sum = value;
|
|
55
|
+
this.count = 1;
|
|
56
|
+
this.max = value;
|
|
57
|
+
this.min = value;
|
|
58
|
+
} else {
|
|
59
|
+
this.sum += value;
|
|
60
|
+
this.count++;
|
|
61
|
+
this.max = Math.max(this.max, value);
|
|
62
|
+
this.min = Math.min(this.min, value);
|
|
63
|
+
}
|
|
64
|
+
return this;
|
|
65
|
+
};
|
|
66
|
+
DoubleSummary.prototype.addCount = function(){
|
|
67
|
+
this.count++;
|
|
68
|
+
};
|
|
69
|
+
DoubleSummary.prototype.addObject = function (other) {
|
|
70
|
+
if(other.getCount() === 0) {
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
this.count += other.getCount();
|
|
74
|
+
this.sum += other.doubleSum();
|
|
75
|
+
this.min = Math.min(this.min, other.doubleMin());
|
|
76
|
+
this.max = Math.max(this.max, other.doubleMax());
|
|
77
|
+
};
|
|
78
|
+
DoubleSummary.prototype.longSum = function() {
|
|
79
|
+
return Long.fromNumber(this.sum);
|
|
80
|
+
};
|
|
81
|
+
DoubleSummary.prototype.longMin = function() {
|
|
82
|
+
return Long.fromNumber(this.min);
|
|
83
|
+
};
|
|
84
|
+
DoubleSummary.prototype.longMax = function() {
|
|
85
|
+
return Long.fromNumber(this.max);
|
|
86
|
+
};
|
|
87
|
+
DoubleSummary.prototype.longAvg = function() {
|
|
88
|
+
return Long.fromNumber(this.count === 0 ? 0 : this.sum / this.count);
|
|
89
|
+
};
|
|
90
|
+
DoubleSummary.prototype.doubleSum = function() {
|
|
91
|
+
return this.sum;
|
|
92
|
+
};
|
|
93
|
+
DoubleSummary.prototype.doubleMin = function() {
|
|
94
|
+
return this.min;
|
|
95
|
+
};
|
|
96
|
+
DoubleSummary.prototype.doubleMax = function() {
|
|
97
|
+
return this.max;
|
|
98
|
+
};
|
|
99
|
+
DoubleSummary.prototype.doubleAvg = function() {
|
|
100
|
+
return this.count === 0 ? 0 : this.sum/this.count;
|
|
101
|
+
};
|
|
102
|
+
DoubleSummary.prototype.getCount = function() {
|
|
103
|
+
return this.count;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
106
|
module.exports = DoubleSummary;
|
|
@@ -1,51 +1,51 @@
|
|
|
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 NumberValue = require('./number-value'),
|
|
8
|
-
ValueEnum = require('./valueenum');
|
|
9
|
-
|
|
10
|
-
function DoubleValue(value) {
|
|
11
|
-
NumberValue.call(this);
|
|
12
|
-
this.value = value || 0.0;
|
|
13
|
-
this.compareTo = function(object) {
|
|
14
|
-
if(object instanceof DoubleValue) {
|
|
15
|
-
if(this.value != object.value) {
|
|
16
|
-
return this.value > object.value ? 1 : -1;
|
|
17
|
-
} else {
|
|
18
|
-
return 0;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return 1;
|
|
22
|
-
};
|
|
23
|
-
this.equals = function(object) {
|
|
24
|
-
if(object instanceof DoubleValue) {
|
|
25
|
-
return this.value === object.value;
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
DoubleValue.prototype = new NumberValue();
|
|
31
|
-
DoubleValue.prototype.constructor = DoubleValue;
|
|
32
|
-
DoubleValue.prototype.getValueType = function() {
|
|
33
|
-
return ValueEnum.DOUBLE;
|
|
34
|
-
};
|
|
35
|
-
DoubleValue.prototype.doubleValue = function() {
|
|
36
|
-
return this.value;
|
|
37
|
-
};
|
|
38
|
-
DoubleValue.prototype.floatValue = function() {
|
|
39
|
-
return this.value;
|
|
40
|
-
};
|
|
41
|
-
DoubleValue.prototype.intValue = function() {
|
|
42
|
-
return this.value.toFixed(0);
|
|
43
|
-
};
|
|
44
|
-
DoubleValue.prototype.longValue = function() {
|
|
45
|
-
return Long.fromNumber(this.value);
|
|
46
|
-
};
|
|
47
|
-
DoubleValue.prototype.numberValue = function() {
|
|
48
|
-
return this.value;
|
|
49
|
-
};
|
|
50
|
-
|
|
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 NumberValue = require('./number-value'),
|
|
8
|
+
ValueEnum = require('./valueenum');
|
|
9
|
+
|
|
10
|
+
function DoubleValue(value) {
|
|
11
|
+
NumberValue.call(this);
|
|
12
|
+
this.value = value || 0.0;
|
|
13
|
+
this.compareTo = function(object) {
|
|
14
|
+
if(object instanceof DoubleValue) {
|
|
15
|
+
if(this.value != object.value) {
|
|
16
|
+
return this.value > object.value ? 1 : -1;
|
|
17
|
+
} else {
|
|
18
|
+
return 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return 1;
|
|
22
|
+
};
|
|
23
|
+
this.equals = function(object) {
|
|
24
|
+
if(object instanceof DoubleValue) {
|
|
25
|
+
return this.value === object.value;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
DoubleValue.prototype = new NumberValue();
|
|
31
|
+
DoubleValue.prototype.constructor = DoubleValue;
|
|
32
|
+
DoubleValue.prototype.getValueType = function() {
|
|
33
|
+
return ValueEnum.DOUBLE;
|
|
34
|
+
};
|
|
35
|
+
DoubleValue.prototype.doubleValue = function() {
|
|
36
|
+
return this.value;
|
|
37
|
+
};
|
|
38
|
+
DoubleValue.prototype.floatValue = function() {
|
|
39
|
+
return this.value;
|
|
40
|
+
};
|
|
41
|
+
DoubleValue.prototype.intValue = function() {
|
|
42
|
+
return this.value.toFixed(0);
|
|
43
|
+
};
|
|
44
|
+
DoubleValue.prototype.longValue = function() {
|
|
45
|
+
return Long.fromNumber(this.value);
|
|
46
|
+
};
|
|
47
|
+
DoubleValue.prototype.numberValue = function() {
|
|
48
|
+
return this.value;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
51
|
module.exports = DoubleValue;
|
package/lib/value/float-array.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
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 Value = require('./value'),
|
|
8
|
-
ValueEnum = require('./valueenum'),
|
|
9
|
-
ArrayUtil = require('../util/array-util');
|
|
10
|
-
|
|
11
|
-
function FloatArray(value) {
|
|
12
|
-
Value.call(this);
|
|
13
|
-
this.value = value || [];
|
|
14
|
-
this._hash = 0;
|
|
15
|
-
|
|
16
|
-
this.compareTo = function(object) {
|
|
17
|
-
if(object instanceof FloatArray) {
|
|
18
|
-
return ArrayUtil.compare(this.value, object.value);
|
|
19
|
-
}
|
|
20
|
-
return 1;
|
|
21
|
-
};
|
|
22
|
-
this.equals = function(object) {
|
|
23
|
-
if(object instanceof FloatArray) {
|
|
24
|
-
return ArrayUtil.equals(this.value, object.value);
|
|
25
|
-
}
|
|
26
|
-
return false;
|
|
27
|
-
};
|
|
28
|
-
this.hashCode = function() {
|
|
29
|
-
if(this._hash === 0) {
|
|
30
|
-
if(this.value == null) {
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
var result = 1,
|
|
34
|
-
len = this.value.length;
|
|
35
|
-
for(var i=0; i<len; i++) {
|
|
36
|
-
var element = this.value[i];
|
|
37
|
-
result = 31 * result + Float.round(element);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return this._hash;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
FloatArray.prototype = new Value();
|
|
45
|
-
FloatArray.prototype.constructor = FloatArray;
|
|
46
|
-
FloatArray.prototype.write = function(dout) {
|
|
47
|
-
dout.writeFloatArray(this.value);
|
|
48
|
-
};
|
|
49
|
-
FloatArray.prototype.read = function(din) {
|
|
50
|
-
this.value = din.readFloatArray();
|
|
51
|
-
return this;
|
|
52
|
-
};
|
|
53
|
-
FloatArray.prototype.getValueType = function(){
|
|
54
|
-
return ValueEnum.ARRAY_FLOAT;
|
|
55
|
-
};
|
|
56
|
-
FloatArray.prototype.toObject = function() {
|
|
57
|
-
return this.value;
|
|
58
|
-
};
|
|
59
|
-
|
|
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 Value = require('./value'),
|
|
8
|
+
ValueEnum = require('./valueenum'),
|
|
9
|
+
ArrayUtil = require('../util/array-util');
|
|
10
|
+
|
|
11
|
+
function FloatArray(value) {
|
|
12
|
+
Value.call(this);
|
|
13
|
+
this.value = value || [];
|
|
14
|
+
this._hash = 0;
|
|
15
|
+
|
|
16
|
+
this.compareTo = function(object) {
|
|
17
|
+
if(object instanceof FloatArray) {
|
|
18
|
+
return ArrayUtil.compare(this.value, object.value);
|
|
19
|
+
}
|
|
20
|
+
return 1;
|
|
21
|
+
};
|
|
22
|
+
this.equals = function(object) {
|
|
23
|
+
if(object instanceof FloatArray) {
|
|
24
|
+
return ArrayUtil.equals(this.value, object.value);
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
};
|
|
28
|
+
this.hashCode = function() {
|
|
29
|
+
if(this._hash === 0) {
|
|
30
|
+
if(this.value == null) {
|
|
31
|
+
return 0;
|
|
32
|
+
}
|
|
33
|
+
var result = 1,
|
|
34
|
+
len = this.value.length;
|
|
35
|
+
for(var i=0; i<len; i++) {
|
|
36
|
+
var element = this.value[i];
|
|
37
|
+
result = 31 * result + Float.round(element);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return this._hash;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
FloatArray.prototype = new Value();
|
|
45
|
+
FloatArray.prototype.constructor = FloatArray;
|
|
46
|
+
FloatArray.prototype.write = function(dout) {
|
|
47
|
+
dout.writeFloatArray(this.value);
|
|
48
|
+
};
|
|
49
|
+
FloatArray.prototype.read = function(din) {
|
|
50
|
+
this.value = din.readFloatArray();
|
|
51
|
+
return this;
|
|
52
|
+
};
|
|
53
|
+
FloatArray.prototype.getValueType = function(){
|
|
54
|
+
return ValueEnum.ARRAY_FLOAT;
|
|
55
|
+
};
|
|
56
|
+
FloatArray.prototype.toObject = function() {
|
|
57
|
+
return this.value;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
60
|
module.exports = FloatArray;
|