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,105 +1,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
|
-
var CounterTask = require('./counter-task'),
|
|
8
|
-
StatSql = require('../../stat/stat-sql'),
|
|
9
|
-
conf = require('../../conf/configure'),
|
|
10
|
-
SecurityMaster = require('../../net/security-master'),
|
|
11
|
-
TraceContextManager = require('../../trace/trace-context-manager'),
|
|
12
|
-
MeterActiveX = require('../meter/meter-activex'),
|
|
13
|
-
ActiveStackPack = require('../../pack/activestack-pack'),
|
|
14
|
-
ParamPack = require('../../pack/param-pack'),
|
|
15
|
-
EventPack = require('../../pack/event-pack'),
|
|
16
|
-
ActiveStackStep = require('../../step/activestack-step'),
|
|
17
|
-
DataPackSender = require('../../data/datapack-sender'),
|
|
18
|
-
DataTextAgent = require('../../data/datatext-agent').agent,
|
|
19
|
-
EventLevel = require('../../data/event-level'),
|
|
20
|
-
MeterUsers = require('../meter/meter-users'),
|
|
21
|
-
KeyGen = require('../../util/keygen'),
|
|
22
|
-
TextTypes = require('../../lang/text-types'),
|
|
23
|
-
ResourceProfile = require('../../util/resourceprofile'),
|
|
24
|
-
Logger = require('../../logger'),
|
|
25
|
-
HashUtil = require('../../util/hashutil'),
|
|
26
|
-
KubeUtil = require('../../util/kube-util'),
|
|
27
|
-
DateUtil = require('../../util/dateutil'),
|
|
28
|
-
fs = require('fs'),
|
|
29
|
-
Long = require('long');
|
|
30
|
-
|
|
31
|
-
function AgentInfo() {
|
|
32
|
-
CounterTask.call(this);
|
|
33
|
-
|
|
34
|
-
this.startTime = Date.now();
|
|
35
|
-
this.last_name_sent = 0;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
AgentInfo.prototype = new CounterTask();
|
|
39
|
-
AgentInfo.prototype.constructor = AgentInfo;
|
|
40
|
-
AgentInfo.prototype.process = function (p) {
|
|
41
|
-
p.starttime = Date.now();
|
|
42
|
-
/*
|
|
43
|
-
if (p.starttime > this.startTime + DateUtil.MILLIS_PER_FIVE_MINUTE) {
|
|
44
|
-
this.startTime = now + DateUtil.MILLIS_PER_HOUR * 12;
|
|
45
|
-
|
|
46
|
-
DataPackSender.sendBoot(AgentInfo.info);
|
|
47
|
-
// ComponentsVersions.send();
|
|
48
|
-
}*/
|
|
49
|
-
|
|
50
|
-
this.sendName(p.starttime);
|
|
51
|
-
|
|
52
|
-
p.containerKey = KubeUtil.container_key;
|
|
53
|
-
|
|
54
|
-
this.checkAutoScaleIn();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
AgentInfo.prototype.sendName = function(now /* long */){
|
|
58
|
-
if (now - this.last_name_sent < DateUtil.MILLIS_PER_FIVE_MINUTE) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.last_name_sent = now;
|
|
62
|
-
|
|
63
|
-
var sm = SecurityMaster;
|
|
64
|
-
if (sm.ONAME != null) {
|
|
65
|
-
DataTextAgent.add(TextTypes.ONAME, sm.OID, sm.ONAME);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (sm.OKIND != 0) {
|
|
69
|
-
DataTextAgent.add(TextTypes.OKIND_NAME, sm.OKIND, sm.OKIND_NAME);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (sm.ONODE != 0) {
|
|
73
|
-
DataTextAgent.add(TextTypes.ONODE_NAME, sm.ONODE, sm.ONODE_NAME);
|
|
74
|
-
}
|
|
75
|
-
if (KubeUtil.container_key != 0) {
|
|
76
|
-
DataTextAgent.add(TextTypes.CONTAINER_ID, KubeUtil.container_key, KubeUtil.container_id);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (conf.simula_agent_count > 0) {
|
|
80
|
-
for (var i = 0; i < conf.simula_agent_count; i++) {
|
|
81
|
-
var oname = sm.ONAME + "#" + i;
|
|
82
|
-
var ohash = HashUtil.hashFromString(oname);
|
|
83
|
-
DataTextAgent.add(TextTypes.ONAME, ohash, oname);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if(conf.mtrace_spec != undefined && conf.mtrace_spec.length >0) {
|
|
88
|
-
DataTextAgent.add(TextTypes.MTRACE_SPEC, conf.mtrace_spec_hash, conf.mtrace_spec);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
AgentInfo.prototype.checkAutoScaleIn = function() {
|
|
93
|
-
var home = conf["whatap.home"];
|
|
94
|
-
var file = fs.existsSync(home, process.pid + ".shutdown");
|
|
95
|
-
if (file) {
|
|
96
|
-
var e = new EventPack();
|
|
97
|
-
e.title = "SILENT_SHUTDOWN";
|
|
98
|
-
e.level = EventLevel.INFO;
|
|
99
|
-
DataPackSender.send(e);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
module.exports = AgentInfo;
|
|
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
|
+
var CounterTask = require('./counter-task'),
|
|
8
|
+
StatSql = require('../../stat/stat-sql'),
|
|
9
|
+
conf = require('../../conf/configure'),
|
|
10
|
+
SecurityMaster = require('../../net/security-master'),
|
|
11
|
+
TraceContextManager = require('../../trace/trace-context-manager'),
|
|
12
|
+
MeterActiveX = require('../meter/meter-activex'),
|
|
13
|
+
ActiveStackPack = require('../../pack/activestack-pack'),
|
|
14
|
+
ParamPack = require('../../pack/param-pack'),
|
|
15
|
+
EventPack = require('../../pack/event-pack'),
|
|
16
|
+
ActiveStackStep = require('../../step/activestack-step'),
|
|
17
|
+
DataPackSender = require('../../data/datapack-sender'),
|
|
18
|
+
DataTextAgent = require('../../data/datatext-agent').agent,
|
|
19
|
+
EventLevel = require('../../data/event-level'),
|
|
20
|
+
MeterUsers = require('../meter/meter-users'),
|
|
21
|
+
KeyGen = require('../../util/keygen'),
|
|
22
|
+
TextTypes = require('../../lang/text-types'),
|
|
23
|
+
ResourceProfile = require('../../util/resourceprofile'),
|
|
24
|
+
Logger = require('../../logger'),
|
|
25
|
+
HashUtil = require('../../util/hashutil'),
|
|
26
|
+
KubeUtil = require('../../util/kube-util'),
|
|
27
|
+
DateUtil = require('../../util/dateutil'),
|
|
28
|
+
fs = require('fs'),
|
|
29
|
+
Long = require('long');
|
|
30
|
+
|
|
31
|
+
function AgentInfo() {
|
|
32
|
+
CounterTask.call(this);
|
|
33
|
+
|
|
34
|
+
this.startTime = Date.now();
|
|
35
|
+
this.last_name_sent = 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
AgentInfo.prototype = new CounterTask();
|
|
39
|
+
AgentInfo.prototype.constructor = AgentInfo;
|
|
40
|
+
AgentInfo.prototype.process = function (p) {
|
|
41
|
+
p.starttime = Date.now();
|
|
42
|
+
/*
|
|
43
|
+
if (p.starttime > this.startTime + DateUtil.MILLIS_PER_FIVE_MINUTE) {
|
|
44
|
+
this.startTime = now + DateUtil.MILLIS_PER_HOUR * 12;
|
|
45
|
+
|
|
46
|
+
DataPackSender.sendBoot(AgentInfo.info);
|
|
47
|
+
// ComponentsVersions.send();
|
|
48
|
+
}*/
|
|
49
|
+
|
|
50
|
+
this.sendName(p.starttime);
|
|
51
|
+
|
|
52
|
+
p.containerKey = KubeUtil.container_key;
|
|
53
|
+
|
|
54
|
+
this.checkAutoScaleIn();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
AgentInfo.prototype.sendName = function(now /* long */){
|
|
58
|
+
if (now - this.last_name_sent < DateUtil.MILLIS_PER_FIVE_MINUTE) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.last_name_sent = now;
|
|
62
|
+
|
|
63
|
+
var sm = SecurityMaster;
|
|
64
|
+
if (sm.ONAME != null) {
|
|
65
|
+
DataTextAgent.add(TextTypes.ONAME, sm.OID, sm.ONAME);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (sm.OKIND != 0) {
|
|
69
|
+
DataTextAgent.add(TextTypes.OKIND_NAME, sm.OKIND, sm.OKIND_NAME);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (sm.ONODE != 0) {
|
|
73
|
+
DataTextAgent.add(TextTypes.ONODE_NAME, sm.ONODE, sm.ONODE_NAME);
|
|
74
|
+
}
|
|
75
|
+
if (KubeUtil.container_key != 0) {
|
|
76
|
+
DataTextAgent.add(TextTypes.CONTAINER_ID, KubeUtil.container_key, KubeUtil.container_id);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (conf.simula_agent_count > 0) {
|
|
80
|
+
for (var i = 0; i < conf.simula_agent_count; i++) {
|
|
81
|
+
var oname = sm.ONAME + "#" + i;
|
|
82
|
+
var ohash = HashUtil.hashFromString(oname);
|
|
83
|
+
DataTextAgent.add(TextTypes.ONAME, ohash, oname);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if(conf.mtrace_spec != undefined && conf.mtrace_spec.length >0) {
|
|
88
|
+
DataTextAgent.add(TextTypes.MTRACE_SPEC, conf.mtrace_spec_hash, conf.mtrace_spec);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
AgentInfo.prototype.checkAutoScaleIn = function() {
|
|
93
|
+
var home = conf["whatap.home"];
|
|
94
|
+
var file = fs.existsSync(home, process.pid + ".shutdown");
|
|
95
|
+
if (file) {
|
|
96
|
+
var e = new EventPack();
|
|
97
|
+
e.title = "SILENT_SHUTDOWN";
|
|
98
|
+
e.level = EventLevel.INFO;
|
|
99
|
+
DataPackSender.send(e);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
module.exports = AgentInfo;
|
|
104
|
+
|
|
105
|
+
|
|
@@ -1,10 +1,10 @@
|
|
|
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
|
-
module.exports = CounterTask;
|
|
8
|
-
|
|
9
|
-
function CounterTask() {};
|
|
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
|
+
module.exports = CounterTask;
|
|
8
|
+
|
|
9
|
+
function CounterTask() {};
|
|
10
10
|
CounterTask.prototype.process = function (p) {};
|
|
@@ -1,34 +1,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
|
-
var CounterTask = require('./counter-task'),
|
|
8
|
-
ResourceProfile = require('../../util/resourceprofile');
|
|
9
|
-
|
|
10
|
-
function GcStat() {
|
|
11
|
-
CounterTask.call(this);
|
|
12
|
-
|
|
13
|
-
this.old = [];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
GcStat.prototype = new CounterTask();
|
|
17
|
-
GcStat.prototype.constructor = GcStat;
|
|
18
|
-
GcStat.prototype.process = function (p) {
|
|
19
|
-
var info = ResourceProfile.getCurrentProcGcInfo();
|
|
20
|
-
if(this.old.length == 0) {
|
|
21
|
-
p.gc_count = info[0];
|
|
22
|
-
p.gc_time = info[1];
|
|
23
|
-
} else {
|
|
24
|
-
var tmp_count = info[0] - this.old[0];
|
|
25
|
-
var tmp_time = info[1] - this.old[1];
|
|
26
|
-
p.gc_count = tmp_count;
|
|
27
|
-
p.gc_time = tmp_time;
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
this.old = info;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
module.exports = GcStat;
|
|
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
|
+
var CounterTask = require('./counter-task'),
|
|
8
|
+
ResourceProfile = require('../../util/resourceprofile');
|
|
9
|
+
|
|
10
|
+
function GcStat() {
|
|
11
|
+
CounterTask.call(this);
|
|
12
|
+
|
|
13
|
+
this.old = [];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
GcStat.prototype = new CounterTask();
|
|
17
|
+
GcStat.prototype.constructor = GcStat;
|
|
18
|
+
GcStat.prototype.process = function (p) {
|
|
19
|
+
var info = ResourceProfile.getCurrentProcGcInfo();
|
|
20
|
+
if(this.old.length == 0) {
|
|
21
|
+
p.gc_count = info[0];
|
|
22
|
+
p.gc_time = info[1];
|
|
23
|
+
} else {
|
|
24
|
+
var tmp_count = info[0] - this.old[0];
|
|
25
|
+
var tmp_time = info[1] - this.old[1];
|
|
26
|
+
p.gc_count = tmp_count;
|
|
27
|
+
p.gc_time = tmp_time;
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
this.old = info;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
module.exports = GcStat;
|
|
34
|
+
|
|
@@ -1,25 +1,25 @@
|
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
-
ResourceProfile = require('./../../util/resourceprofile');
|
|
9
|
-
|
|
10
|
-
function HeapMem() {
|
|
11
|
-
CounterTask.call(this);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
HeapMem.prototype = new CounterTask();
|
|
15
|
-
HeapMem.prototype.constructor = HeapMem;
|
|
16
|
-
HeapMem.prototype.process = function (p) {
|
|
17
|
-
let m = undefined;
|
|
18
|
-
if(p.version <= 1) m =ResourceProfile.getMemory();
|
|
19
|
-
else m =ResourceProfile.getMemoryV2();
|
|
20
|
-
|
|
21
|
-
p.heap_tot = m.heap_total;
|
|
22
|
-
p.heap_use = m.heap_used;
|
|
23
|
-
};
|
|
24
|
-
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
+
ResourceProfile = require('./../../util/resourceprofile');
|
|
9
|
+
|
|
10
|
+
function HeapMem() {
|
|
11
|
+
CounterTask.call(this);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
HeapMem.prototype = new CounterTask();
|
|
15
|
+
HeapMem.prototype.constructor = HeapMem;
|
|
16
|
+
HeapMem.prototype.process = function (p) {
|
|
17
|
+
let m = undefined;
|
|
18
|
+
if(p.version <= 1) m =ResourceProfile.getMemory();
|
|
19
|
+
else m =ResourceProfile.getMemoryV2();
|
|
20
|
+
|
|
21
|
+
p.heap_tot = m.heap_total;
|
|
22
|
+
p.heap_use = m.heap_used;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
25
|
module.exports = HeapMem;
|
|
@@ -1,76 +1,76 @@
|
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
-
IntKeyLinkedMap = require('../../util/intkey-linkedmap'),
|
|
9
|
-
MeterActiveX = require('../meter/meter-activex'),
|
|
10
|
-
conf = require('../../conf/configure'),
|
|
11
|
-
MeterHttpC = require('../meter/meter-httpc');
|
|
12
|
-
|
|
13
|
-
function HttpC() {
|
|
14
|
-
CounterTask.call(this);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
HttpC.prototype = new CounterTask();
|
|
18
|
-
HttpC.prototype.constructor = HttpC;
|
|
19
|
-
HttpC.prototype.process = function (p) {
|
|
20
|
-
var httpc = MeterHttpC.getBucketReset();
|
|
21
|
-
p.httpc_time = httpc.time;
|
|
22
|
-
p.httpc_count = httpc.count;
|
|
23
|
-
p.httpc_error = httpc.error;
|
|
24
|
-
|
|
25
|
-
if (conf.httpc_host_meter_enabled) {
|
|
26
|
-
httpc_host_meter(p);
|
|
27
|
-
}
|
|
28
|
-
if (conf.actx_meter_enabled) {
|
|
29
|
-
httpc_actx_meter(p);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
function httpc_host_meter(p) {
|
|
34
|
-
var meter = MeterHttpC;
|
|
35
|
-
if (meter.stat.size() > 0) {
|
|
36
|
-
p.httpc_meter = new IntKeyLinkedMap();
|
|
37
|
-
var en = meter.stat.keys();
|
|
38
|
-
for (var i = 0; i < 100 && en.hasMoreElements(); i++) {
|
|
39
|
-
var key = en.nextElement();
|
|
40
|
-
var b = meter.stat.get(key);
|
|
41
|
-
p.httpc_meter.put(key, {
|
|
42
|
-
time: b.time,
|
|
43
|
-
count: b.count,
|
|
44
|
-
error: b.error,
|
|
45
|
-
actx : 0
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
meter.resetStat();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function httpc_actx_meter(p) {
|
|
53
|
-
var meter = MeterActiveX;
|
|
54
|
-
if (meter.stat_httpc.size() > 0) {
|
|
55
|
-
if (p.httpc_meter == null) {
|
|
56
|
-
p.httpc_meter = new IntKeyLinkedMap();
|
|
57
|
-
}
|
|
58
|
-
var en = meter.stat_httpc.keys();
|
|
59
|
-
for (var i = 0; i < 100 && en.hasMoreElements(); i++) {
|
|
60
|
-
var key = en.nextElement();
|
|
61
|
-
var b = meter.stat_httpc.get(key);
|
|
62
|
-
var org = p.httpc_meter.get(key);
|
|
63
|
-
if (org) {
|
|
64
|
-
org.actx = b;
|
|
65
|
-
} else {
|
|
66
|
-
p.httpc_meter.put(key, {
|
|
67
|
-
time: 0,
|
|
68
|
-
count: 0,
|
|
69
|
-
error: 0,
|
|
70
|
-
actx: b
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
+
IntKeyLinkedMap = require('../../util/intkey-linkedmap'),
|
|
9
|
+
MeterActiveX = require('../meter/meter-activex'),
|
|
10
|
+
conf = require('../../conf/configure'),
|
|
11
|
+
MeterHttpC = require('../meter/meter-httpc');
|
|
12
|
+
|
|
13
|
+
function HttpC() {
|
|
14
|
+
CounterTask.call(this);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
HttpC.prototype = new CounterTask();
|
|
18
|
+
HttpC.prototype.constructor = HttpC;
|
|
19
|
+
HttpC.prototype.process = function (p) {
|
|
20
|
+
var httpc = MeterHttpC.getBucketReset();
|
|
21
|
+
p.httpc_time = httpc.time;
|
|
22
|
+
p.httpc_count = httpc.count;
|
|
23
|
+
p.httpc_error = httpc.error;
|
|
24
|
+
|
|
25
|
+
if (conf.httpc_host_meter_enabled) {
|
|
26
|
+
httpc_host_meter(p);
|
|
27
|
+
}
|
|
28
|
+
if (conf.actx_meter_enabled) {
|
|
29
|
+
httpc_actx_meter(p);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function httpc_host_meter(p) {
|
|
34
|
+
var meter = MeterHttpC;
|
|
35
|
+
if (meter.stat.size() > 0) {
|
|
36
|
+
p.httpc_meter = new IntKeyLinkedMap();
|
|
37
|
+
var en = meter.stat.keys();
|
|
38
|
+
for (var i = 0; i < 100 && en.hasMoreElements(); i++) {
|
|
39
|
+
var key = en.nextElement();
|
|
40
|
+
var b = meter.stat.get(key);
|
|
41
|
+
p.httpc_meter.put(key, {
|
|
42
|
+
time: b.time,
|
|
43
|
+
count: b.count,
|
|
44
|
+
error: b.error,
|
|
45
|
+
actx : 0
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
meter.resetStat();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function httpc_actx_meter(p) {
|
|
53
|
+
var meter = MeterActiveX;
|
|
54
|
+
if (meter.stat_httpc.size() > 0) {
|
|
55
|
+
if (p.httpc_meter == null) {
|
|
56
|
+
p.httpc_meter = new IntKeyLinkedMap();
|
|
57
|
+
}
|
|
58
|
+
var en = meter.stat_httpc.keys();
|
|
59
|
+
for (var i = 0; i < 100 && en.hasMoreElements(); i++) {
|
|
60
|
+
var key = en.nextElement();
|
|
61
|
+
var b = meter.stat_httpc.get(key);
|
|
62
|
+
var org = p.httpc_meter.get(key);
|
|
63
|
+
if (org) {
|
|
64
|
+
org.actx = b;
|
|
65
|
+
} else {
|
|
66
|
+
p.httpc_meter.put(key, {
|
|
67
|
+
time: 0,
|
|
68
|
+
count: 0,
|
|
69
|
+
error: 0,
|
|
70
|
+
actx: b
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
76
|
module.exports = HttpC;
|
|
@@ -1,29 +1,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
|
-
var CounterTask = require('./counter-task'),
|
|
8
|
-
ResourceProfile = require('./../../util/resourceprofile'),
|
|
9
|
-
Long = require('long');
|
|
10
|
-
|
|
11
|
-
function ProcCpu() {
|
|
12
|
-
CounterTask.call(this);
|
|
13
|
-
this.oldCpu = 0;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
ProcCpu.prototype = new CounterTask();
|
|
17
|
-
ProcCpu.prototype.constructor = ProcCpu;
|
|
18
|
-
ProcCpu.prototype.process = function (p) {
|
|
19
|
-
var cpu = ResourceProfile.getCPU().times; /*long*/
|
|
20
|
-
if(this.oldCpu<=0) {
|
|
21
|
-
this.oldCpu = cpu;
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
var dTime = cpu - this.oldCpu;
|
|
25
|
-
this.oldCpu = cpu;
|
|
26
|
-
p.cputime = dTime;
|
|
27
|
-
};
|
|
28
|
-
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
+
ResourceProfile = require('./../../util/resourceprofile'),
|
|
9
|
+
Long = require('long');
|
|
10
|
+
|
|
11
|
+
function ProcCpu() {
|
|
12
|
+
CounterTask.call(this);
|
|
13
|
+
this.oldCpu = 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
ProcCpu.prototype = new CounterTask();
|
|
17
|
+
ProcCpu.prototype.constructor = ProcCpu;
|
|
18
|
+
ProcCpu.prototype.process = function (p) {
|
|
19
|
+
var cpu = ResourceProfile.getCPU().times; /*long*/
|
|
20
|
+
if(this.oldCpu<=0) {
|
|
21
|
+
this.oldCpu = cpu;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var dTime = cpu - this.oldCpu;
|
|
25
|
+
this.oldCpu = cpu;
|
|
26
|
+
p.cputime = dTime;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
29
|
module.exports = ProcCpu;
|
|
@@ -1,31 +1,31 @@
|
|
|
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 CounterTask = require('./counter-task'),
|
|
8
|
-
MeterUser = require('../meter/meter-users'),
|
|
9
|
-
RealTimeUserPack= require('../../pack/realtimeuser-pack'),
|
|
10
|
-
DataPackSender = require('../../data/datapack-sender'),
|
|
11
|
-
Long = require('long');
|
|
12
|
-
|
|
13
|
-
function RealTimeUser() {
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
RealTimeUser.prototype = new CounterTask();
|
|
17
|
-
RealTimeUser.prototype.constructor = RealTimeUser;
|
|
18
|
-
RealTimeUser.prototype.process = function (p) {
|
|
19
|
-
var hll = MeterUser.getRealtimeUsers();
|
|
20
|
-
if(hll == null) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
var pk = new RealTimeUserPack();
|
|
25
|
-
pk.time = p.time;
|
|
26
|
-
pk.cadinality=hll.cardinality();
|
|
27
|
-
pk.logbits = hll.getBytes();
|
|
28
|
-
DataPackSender.sendRealtimeUserPack(pk);
|
|
29
|
-
};
|
|
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
|
+
var CounterTask = require('./counter-task'),
|
|
8
|
+
MeterUser = require('../meter/meter-users'),
|
|
9
|
+
RealTimeUserPack= require('../../pack/realtimeuser-pack'),
|
|
10
|
+
DataPackSender = require('../../data/datapack-sender'),
|
|
11
|
+
Long = require('long');
|
|
12
|
+
|
|
13
|
+
function RealTimeUser() {
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
RealTimeUser.prototype = new CounterTask();
|
|
17
|
+
RealTimeUser.prototype.constructor = RealTimeUser;
|
|
18
|
+
RealTimeUser.prototype.process = function (p) {
|
|
19
|
+
var hll = MeterUser.getRealtimeUsers();
|
|
20
|
+
if(hll == null) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var pk = new RealTimeUserPack();
|
|
25
|
+
pk.time = p.time;
|
|
26
|
+
pk.cadinality=hll.cardinality();
|
|
27
|
+
pk.logbits = hll.getBytes();
|
|
28
|
+
DataPackSender.sendRealtimeUserPack(pk);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
31
|
module.exports = RealTimeUser;
|