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
|
@@ -1,158 +1,158 @@
|
|
|
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
|
-
Value = require('./value'),
|
|
10
|
-
NumberValue = require('./number-value'),
|
|
11
|
-
BooleanValue = require('./boolean-value')
|
|
12
|
-
|
|
13
|
-
function MetricValue() {
|
|
14
|
-
NumberValue.call(this);
|
|
15
|
-
|
|
16
|
-
this.count = 0;
|
|
17
|
-
this.sum = 0;
|
|
18
|
-
this.min = 0;
|
|
19
|
-
this.max = 0;
|
|
20
|
-
this.last = 0;
|
|
21
|
-
this.compareTo = function(object) {
|
|
22
|
-
if(object instanceof MetricValue) {
|
|
23
|
-
if(this.value != object.value) {
|
|
24
|
-
return this.value > object.value ? 1 : -1;
|
|
25
|
-
} else {
|
|
26
|
-
return 0;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return 1;
|
|
30
|
-
};
|
|
31
|
-
this.equals = function(object) {
|
|
32
|
-
if(object instanceof MetricValue) {
|
|
33
|
-
return this.value === object.value;
|
|
34
|
-
}
|
|
35
|
-
return false;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
MetricValue.prototype = new Value();
|
|
40
|
-
MetricValue.prototype.constructor = MetricValue;
|
|
41
|
-
|
|
42
|
-
MetricValue.prototype.getValueType = function() {
|
|
43
|
-
return ValueEnum.METRIC;
|
|
44
|
-
};
|
|
45
|
-
MetricValue.prototype.write = function(dout) {
|
|
46
|
-
if (this.count == 0) {
|
|
47
|
-
dout.writeByte(0);
|
|
48
|
-
} else {
|
|
49
|
-
dout.writeByte(1);
|
|
50
|
-
dout.writeDecimal(count);
|
|
51
|
-
dout.writeDouble(sum);
|
|
52
|
-
dout.writeFloat(min);
|
|
53
|
-
dout.writeFloat(max);
|
|
54
|
-
dout.writeFloat(last);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
MetricValue.prototype.read = function(din) {
|
|
58
|
-
let mode = din.readByte();
|
|
59
|
-
|
|
60
|
-
switch (mode) {
|
|
61
|
-
case 0:
|
|
62
|
-
return this;
|
|
63
|
-
case 1:
|
|
64
|
-
this.count = din.readDecimal();
|
|
65
|
-
this.sum = din.readDouble();
|
|
66
|
-
this.min = din.readFloat();
|
|
67
|
-
this.max = din.readFloat();
|
|
68
|
-
this.last = din.readFloat();
|
|
69
|
-
}
|
|
70
|
-
return this;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
MetricValue.prototype.addcount = () => { this.count++ }
|
|
74
|
-
|
|
75
|
-
MetricValue.prototype.add = ( value ) => {
|
|
76
|
-
if (value == null) return this;
|
|
77
|
-
|
|
78
|
-
if( value instanceof Number) {
|
|
79
|
-
v = value.doubleValue()
|
|
80
|
-
} else if(value instanceof MetricValue) {
|
|
81
|
-
return this.merge(value);
|
|
82
|
-
} else if(value instanceof NumberValue) {
|
|
83
|
-
return this.add(value);
|
|
84
|
-
} else {
|
|
85
|
-
v = value
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (this.count == 0) {
|
|
89
|
-
this.count = 1;
|
|
90
|
-
this.sum = v;
|
|
91
|
-
this.max = v;
|
|
92
|
-
this.min = v;
|
|
93
|
-
} else {
|
|
94
|
-
this.count++;
|
|
95
|
-
this.sum += v;
|
|
96
|
-
this.max = Math.max(this.max, v);
|
|
97
|
-
this.min = Math.min(this.min, v);
|
|
98
|
-
}
|
|
99
|
-
this.last = v;
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
MetricValue.prototype.merge = ( value ) => {
|
|
104
|
-
if (value === null) return this;
|
|
105
|
-
|
|
106
|
-
if (this.count == 0) {
|
|
107
|
-
this.count = value.count;
|
|
108
|
-
this.sum = value.sum;
|
|
109
|
-
this.max = value.max;
|
|
110
|
-
this.min = value.min;
|
|
111
|
-
} else {
|
|
112
|
-
this.count += value.count;
|
|
113
|
-
this.sum += value.sum;
|
|
114
|
-
this.max = Math.max(this.max, value.max);
|
|
115
|
-
this.min = Math.min(this.min, value.min);
|
|
116
|
-
}
|
|
117
|
-
this.last = value.last;
|
|
118
|
-
return this;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
MetricValue.prototype.sum = () => { return this.sum; }
|
|
122
|
-
|
|
123
|
-
MetricValue.prototype.min = () => { return this.count == 1 ? this.sum : this.min; }
|
|
124
|
-
|
|
125
|
-
MetricValue.prototype.max = () => { return this.count == 1 ? this.sum : this.max; }
|
|
126
|
-
|
|
127
|
-
MetricValue.prototype.last = () => { return this.count == 1 ? this.sum : this.last; }
|
|
128
|
-
|
|
129
|
-
MetricValue.prototype.avg = () => { return (this.count == 0 ? 0 : this.sum / this.count); }
|
|
130
|
-
|
|
131
|
-
MetricValue.prototype.getCount = () => { return this.count; }
|
|
132
|
-
|
|
133
|
-
MetricValue.prototype.copy = () => {
|
|
134
|
-
var o = new MetricValue();
|
|
135
|
-
o.count = this.count;
|
|
136
|
-
o.max = this.max;
|
|
137
|
-
o.min = this.min;
|
|
138
|
-
o.sum = this.sum;
|
|
139
|
-
o.last = this.last;
|
|
140
|
-
return o;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
MetricValue.prototype.doubleValue = function() {
|
|
144
|
-
return this.avg();
|
|
145
|
-
};
|
|
146
|
-
MetricValue.prototype.floatValue = function() {
|
|
147
|
-
return parseFloat(this.avg());
|
|
148
|
-
};
|
|
149
|
-
MetricValue.prototype.intValue = function() {
|
|
150
|
-
return parseInt(this.avg());
|
|
151
|
-
};
|
|
152
|
-
MetricValue.prototype.longValue = function() {
|
|
153
|
-
return Long.fromNumber(this.avg());
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
MetricValue.prototype.isEmpty = () => { return this.count==0 }
|
|
157
|
-
|
|
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
|
+
Value = require('./value'),
|
|
10
|
+
NumberValue = require('./number-value'),
|
|
11
|
+
BooleanValue = require('./boolean-value')
|
|
12
|
+
|
|
13
|
+
function MetricValue() {
|
|
14
|
+
NumberValue.call(this);
|
|
15
|
+
|
|
16
|
+
this.count = 0;
|
|
17
|
+
this.sum = 0;
|
|
18
|
+
this.min = 0;
|
|
19
|
+
this.max = 0;
|
|
20
|
+
this.last = 0;
|
|
21
|
+
this.compareTo = function(object) {
|
|
22
|
+
if(object instanceof MetricValue) {
|
|
23
|
+
if(this.value != object.value) {
|
|
24
|
+
return this.value > object.value ? 1 : -1;
|
|
25
|
+
} else {
|
|
26
|
+
return 0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return 1;
|
|
30
|
+
};
|
|
31
|
+
this.equals = function(object) {
|
|
32
|
+
if(object instanceof MetricValue) {
|
|
33
|
+
return this.value === object.value;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
MetricValue.prototype = new Value();
|
|
40
|
+
MetricValue.prototype.constructor = MetricValue;
|
|
41
|
+
|
|
42
|
+
MetricValue.prototype.getValueType = function() {
|
|
43
|
+
return ValueEnum.METRIC;
|
|
44
|
+
};
|
|
45
|
+
MetricValue.prototype.write = function(dout) {
|
|
46
|
+
if (this.count == 0) {
|
|
47
|
+
dout.writeByte(0);
|
|
48
|
+
} else {
|
|
49
|
+
dout.writeByte(1);
|
|
50
|
+
dout.writeDecimal(count);
|
|
51
|
+
dout.writeDouble(sum);
|
|
52
|
+
dout.writeFloat(min);
|
|
53
|
+
dout.writeFloat(max);
|
|
54
|
+
dout.writeFloat(last);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
MetricValue.prototype.read = function(din) {
|
|
58
|
+
let mode = din.readByte();
|
|
59
|
+
|
|
60
|
+
switch (mode) {
|
|
61
|
+
case 0:
|
|
62
|
+
return this;
|
|
63
|
+
case 1:
|
|
64
|
+
this.count = din.readDecimal();
|
|
65
|
+
this.sum = din.readDouble();
|
|
66
|
+
this.min = din.readFloat();
|
|
67
|
+
this.max = din.readFloat();
|
|
68
|
+
this.last = din.readFloat();
|
|
69
|
+
}
|
|
70
|
+
return this;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
MetricValue.prototype.addcount = () => { this.count++ }
|
|
74
|
+
|
|
75
|
+
MetricValue.prototype.add = ( value ) => {
|
|
76
|
+
if (value == null) return this;
|
|
77
|
+
|
|
78
|
+
if( value instanceof Number) {
|
|
79
|
+
v = value.doubleValue()
|
|
80
|
+
} else if(value instanceof MetricValue) {
|
|
81
|
+
return this.merge(value);
|
|
82
|
+
} else if(value instanceof NumberValue) {
|
|
83
|
+
return this.add(value);
|
|
84
|
+
} else {
|
|
85
|
+
v = value
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (this.count == 0) {
|
|
89
|
+
this.count = 1;
|
|
90
|
+
this.sum = v;
|
|
91
|
+
this.max = v;
|
|
92
|
+
this.min = v;
|
|
93
|
+
} else {
|
|
94
|
+
this.count++;
|
|
95
|
+
this.sum += v;
|
|
96
|
+
this.max = Math.max(this.max, v);
|
|
97
|
+
this.min = Math.min(this.min, v);
|
|
98
|
+
}
|
|
99
|
+
this.last = v;
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
MetricValue.prototype.merge = ( value ) => {
|
|
104
|
+
if (value === null) return this;
|
|
105
|
+
|
|
106
|
+
if (this.count == 0) {
|
|
107
|
+
this.count = value.count;
|
|
108
|
+
this.sum = value.sum;
|
|
109
|
+
this.max = value.max;
|
|
110
|
+
this.min = value.min;
|
|
111
|
+
} else {
|
|
112
|
+
this.count += value.count;
|
|
113
|
+
this.sum += value.sum;
|
|
114
|
+
this.max = Math.max(this.max, value.max);
|
|
115
|
+
this.min = Math.min(this.min, value.min);
|
|
116
|
+
}
|
|
117
|
+
this.last = value.last;
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
MetricValue.prototype.sum = () => { return this.sum; }
|
|
122
|
+
|
|
123
|
+
MetricValue.prototype.min = () => { return this.count == 1 ? this.sum : this.min; }
|
|
124
|
+
|
|
125
|
+
MetricValue.prototype.max = () => { return this.count == 1 ? this.sum : this.max; }
|
|
126
|
+
|
|
127
|
+
MetricValue.prototype.last = () => { return this.count == 1 ? this.sum : this.last; }
|
|
128
|
+
|
|
129
|
+
MetricValue.prototype.avg = () => { return (this.count == 0 ? 0 : this.sum / this.count); }
|
|
130
|
+
|
|
131
|
+
MetricValue.prototype.getCount = () => { return this.count; }
|
|
132
|
+
|
|
133
|
+
MetricValue.prototype.copy = () => {
|
|
134
|
+
var o = new MetricValue();
|
|
135
|
+
o.count = this.count;
|
|
136
|
+
o.max = this.max;
|
|
137
|
+
o.min = this.min;
|
|
138
|
+
o.sum = this.sum;
|
|
139
|
+
o.last = this.last;
|
|
140
|
+
return o;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
MetricValue.prototype.doubleValue = function() {
|
|
144
|
+
return this.avg();
|
|
145
|
+
};
|
|
146
|
+
MetricValue.prototype.floatValue = function() {
|
|
147
|
+
return parseFloat(this.avg());
|
|
148
|
+
};
|
|
149
|
+
MetricValue.prototype.intValue = function() {
|
|
150
|
+
return parseInt(this.avg());
|
|
151
|
+
};
|
|
152
|
+
MetricValue.prototype.longValue = function() {
|
|
153
|
+
return Long.fromNumber(this.avg());
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
MetricValue.prototype.isEmpty = () => { return this.count==0 }
|
|
157
|
+
|
|
158
158
|
module.exports = MetricValue;
|
package/lib/value/null-value.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
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
|
-
|
|
10
|
-
function NullValue(){
|
|
11
|
-
|
|
12
|
-
this.value = null;
|
|
13
|
-
this.compareTo = function(obj) {
|
|
14
|
-
if(obj instanceof NullValue) {
|
|
15
|
-
return 0;
|
|
16
|
-
}
|
|
17
|
-
return 1;
|
|
18
|
-
};
|
|
19
|
-
this.equals = function(obj) {
|
|
20
|
-
return obj instanceof NullValue;
|
|
21
|
-
};
|
|
22
|
-
this.hashCode = function() {
|
|
23
|
-
return 0;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
NullValue.prototype = new Value();
|
|
29
|
-
NullValue.prototype.constructor = NullValue;
|
|
30
|
-
NullValue.prototype.getValueType = function () {
|
|
31
|
-
return ValueEnum.NULL;
|
|
32
|
-
};
|
|
33
|
-
NullValue.prototype.write = function(dout) {
|
|
34
|
-
|
|
35
|
-
};
|
|
36
|
-
NullValue.prototype.read = function(din) {
|
|
37
|
-
return this;
|
|
38
|
-
};
|
|
39
|
-
NullValue.prototype.toObject = function() {
|
|
40
|
-
return null;
|
|
41
|
-
};
|
|
42
|
-
|
|
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
|
+
|
|
10
|
+
function NullValue(){
|
|
11
|
+
|
|
12
|
+
this.value = null;
|
|
13
|
+
this.compareTo = function(obj) {
|
|
14
|
+
if(obj instanceof NullValue) {
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
return 1;
|
|
18
|
+
};
|
|
19
|
+
this.equals = function(obj) {
|
|
20
|
+
return obj instanceof NullValue;
|
|
21
|
+
};
|
|
22
|
+
this.hashCode = function() {
|
|
23
|
+
return 0;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
NullValue.prototype = new Value();
|
|
29
|
+
NullValue.prototype.constructor = NullValue;
|
|
30
|
+
NullValue.prototype.getValueType = function () {
|
|
31
|
+
return ValueEnum.NULL;
|
|
32
|
+
};
|
|
33
|
+
NullValue.prototype.write = function(dout) {
|
|
34
|
+
|
|
35
|
+
};
|
|
36
|
+
NullValue.prototype.read = function(din) {
|
|
37
|
+
return this;
|
|
38
|
+
};
|
|
39
|
+
NullValue.prototype.toObject = function() {
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
43
|
module.exports = NullValue;
|
|
@@ -1,35 +1,35 @@
|
|
|
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 Value = require('./value');
|
|
9
|
-
|
|
10
|
-
function NumberValue() {
|
|
11
|
-
Value.call(this);
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
NumberValue.prototype = new Value();
|
|
15
|
-
NumberValue.prototype.constructor = NumberValue;
|
|
16
|
-
NumberValue.prototype.doubleValue = function(){return 0;};
|
|
17
|
-
NumberValue.prototype.floatValue = function(){return 0;};
|
|
18
|
-
NumberValue.prototype.intValue = function(){return 0;};
|
|
19
|
-
NumberValue.prototype.longValue = function(){return Long.ZERO;};
|
|
20
|
-
NumberValue.prototype.numberValue = function() {return 0;};
|
|
21
|
-
|
|
22
|
-
NumberValue.prototype.add = function(num) {
|
|
23
|
-
if(num == null || !(num instanceof NumberValue)) {
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if(this.value instanceof Long){
|
|
28
|
-
this.value = this.value.add(num.value);
|
|
29
|
-
}else{
|
|
30
|
-
this.value += num.value;
|
|
31
|
-
}
|
|
32
|
-
return this;
|
|
33
|
-
};
|
|
34
|
-
|
|
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 Value = require('./value');
|
|
9
|
+
|
|
10
|
+
function NumberValue() {
|
|
11
|
+
Value.call(this);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
NumberValue.prototype = new Value();
|
|
15
|
+
NumberValue.prototype.constructor = NumberValue;
|
|
16
|
+
NumberValue.prototype.doubleValue = function(){return 0;};
|
|
17
|
+
NumberValue.prototype.floatValue = function(){return 0;};
|
|
18
|
+
NumberValue.prototype.intValue = function(){return 0;};
|
|
19
|
+
NumberValue.prototype.longValue = function(){return Long.ZERO;};
|
|
20
|
+
NumberValue.prototype.numberValue = function() {return 0;};
|
|
21
|
+
|
|
22
|
+
NumberValue.prototype.add = function(num) {
|
|
23
|
+
if(num == null || !(num instanceof NumberValue)) {
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if(this.value instanceof Long){
|
|
28
|
+
this.value = this.value.add(num.value);
|
|
29
|
+
}else{
|
|
30
|
+
this.value += num.value;
|
|
31
|
+
}
|
|
32
|
+
return this;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
35
|
module.exports = NumberValue;
|
|
@@ -1,30 +1,30 @@
|
|
|
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 Value = require ('./value');
|
|
9
|
-
|
|
10
|
-
function SummaryValue() {
|
|
11
|
-
Value.call(this);
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
SummaryValue.prototype = new Value();
|
|
16
|
-
SummaryValue.prototype.constructor = SummaryValue;
|
|
17
|
-
SummaryValue.prototype.add = function(value) {};
|
|
18
|
-
SummaryValue.prototype.addObject = function(other) {};
|
|
19
|
-
SummaryValue.prototype.addCount = function() {};
|
|
20
|
-
SummaryValue.prototype.longSum = function() {};
|
|
21
|
-
SummaryValue.prototype.longMin = function() {};
|
|
22
|
-
SummaryValue.prototype.longMax = function() {};
|
|
23
|
-
SummaryValue.prototype.longAvg = function() {};
|
|
24
|
-
SummaryValue.prototype.doubleSum = function() {};
|
|
25
|
-
SummaryValue.prototype.doubleMin = function() {};
|
|
26
|
-
SummaryValue.prototype.doubleMax = function() {};
|
|
27
|
-
SummaryValue.prototype.doubleAvg = function() {};
|
|
28
|
-
SummaryValue.prototype.getCount = function() {};
|
|
29
|
-
|
|
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 Value = require ('./value');
|
|
9
|
+
|
|
10
|
+
function SummaryValue() {
|
|
11
|
+
Value.call(this);
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
SummaryValue.prototype = new Value();
|
|
16
|
+
SummaryValue.prototype.constructor = SummaryValue;
|
|
17
|
+
SummaryValue.prototype.add = function(value) {};
|
|
18
|
+
SummaryValue.prototype.addObject = function(other) {};
|
|
19
|
+
SummaryValue.prototype.addCount = function() {};
|
|
20
|
+
SummaryValue.prototype.longSum = function() {};
|
|
21
|
+
SummaryValue.prototype.longMin = function() {};
|
|
22
|
+
SummaryValue.prototype.longMax = function() {};
|
|
23
|
+
SummaryValue.prototype.longAvg = function() {};
|
|
24
|
+
SummaryValue.prototype.doubleSum = function() {};
|
|
25
|
+
SummaryValue.prototype.doubleMin = function() {};
|
|
26
|
+
SummaryValue.prototype.doubleMax = function() {};
|
|
27
|
+
SummaryValue.prototype.doubleAvg = function() {};
|
|
28
|
+
SummaryValue.prototype.getCount = function() {};
|
|
29
|
+
|
|
30
30
|
module.exports = SummaryValue;
|