whatap 0.4.79 → 0.4.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/.vscode/keep-context.json +3 -3
  2. package/README.md +51 -51
  3. package/bindings/darwin/x64/whatap.node +0 -0
  4. package/bindings/linux/ia32/whatap.node +0 -0
  5. package/bindings/linux/x64/whatap.node +0 -0
  6. package/help.txt +10 -10
  7. package/index.js +8 -8
  8. package/lib/conf/conf-sys-mon.js +100 -100
  9. package/lib/conf/config-default.js +238 -238
  10. package/lib/conf/configure.js +423 -423
  11. package/lib/conf/license.js +41 -41
  12. package/lib/control/cmd-config.js +23 -23
  13. package/lib/control/control-handler.js +344 -344
  14. package/lib/control/packagectr-helper.js +149 -149
  15. package/lib/core/agent.js +329 -328
  16. package/lib/core/interceptor.js +142 -142
  17. package/lib/core/request-agent.js +26 -26
  18. package/lib/counter/counter-manager.js +127 -127
  19. package/lib/counter/meter/meter-activex.js +66 -66
  20. package/lib/counter/meter/meter-httpc.js +57 -57
  21. package/lib/counter/meter/meter-resource.js +9 -9
  22. package/lib/counter/meter/meter-service.js +167 -167
  23. package/lib/counter/meter/meter-socket.io.js +50 -50
  24. package/lib/counter/meter/meter-sql.js +70 -70
  25. package/lib/counter/meter/meter-users.js +57 -57
  26. package/lib/counter/meter.js +183 -183
  27. package/lib/counter/task/activetransaction.js +93 -93
  28. package/lib/counter/task/agentinfo.js +105 -105
  29. package/lib/counter/task/counter-task.js +9 -9
  30. package/lib/counter/task/gcstat.js +34 -34
  31. package/lib/counter/task/heapmem.js +24 -24
  32. package/lib/counter/task/httpc.js +75 -75
  33. package/lib/counter/task/proc-cpu.js +28 -28
  34. package/lib/counter/task/realtimeuser.js +30 -30
  35. package/lib/counter/task/res/systemECSTask.js +54 -54
  36. package/lib/counter/task/res/systemKubeTask.js +52 -52
  37. package/lib/counter/task/res/util/awsEcsClientThread.js +166 -166
  38. package/lib/counter/task/res/util/linuxProcStatUtil.js +13 -13
  39. package/lib/counter/task/res-sys-cpu.js +61 -61
  40. package/lib/counter/task/service.js +201 -201
  41. package/lib/counter/task/socketio.js +29 -29
  42. package/lib/counter/task/sql.js +104 -104
  43. package/lib/counter/task/systemperf.js +42 -42
  44. package/lib/data/datapack-sender.js +256 -256
  45. package/lib/data/dataprofile-agent.js +136 -136
  46. package/lib/data/datatext-agent.js +135 -135
  47. package/lib/data/event-level.js +15 -15
  48. package/lib/data/test.js +48 -48
  49. package/lib/env/constants.js +20 -20
  50. package/lib/kube/kube-client.js +143 -143
  51. package/lib/lang/text-types.js +58 -58
  52. package/lib/logger.js +319 -319
  53. package/lib/net/netflag.js +54 -54
  54. package/lib/net/paramdef.js +40 -40
  55. package/lib/net/receiver.js +65 -65
  56. package/lib/net/security-master.js +182 -173
  57. package/lib/net/sender.js +140 -140
  58. package/lib/net/tcp-return.js +17 -17
  59. package/lib/net/tcp-session.js +285 -285
  60. package/lib/net/tcpreq-client-proxy.js +69 -69
  61. package/lib/net/tcprequest-mgr.js +57 -57
  62. package/lib/observers/cluster-observer.js +21 -21
  63. package/lib/observers/express-observer.js +214 -214
  64. package/lib/observers/file-observer.js +184 -184
  65. package/lib/observers/global-observer.js +30 -30
  66. package/lib/observers/http-observer.js +704 -704
  67. package/lib/observers/maria-observer.js +382 -382
  68. package/lib/observers/memcached-observer.js +55 -55
  69. package/lib/observers/mongo-observer.js +262 -265
  70. package/lib/observers/mongodb-observer.js +197 -197
  71. package/lib/observers/mongoose-observer.js +83 -83
  72. package/lib/observers/mssql-observer.js +205 -205
  73. package/lib/observers/mysql-observer.js +436 -394
  74. package/lib/observers/net-observer.js +72 -72
  75. package/lib/observers/pgsql-observer.js +295 -295
  76. package/lib/observers/process-observer.js +25 -25
  77. package/lib/observers/promise-observer.js +31 -31
  78. package/lib/observers/redis-observer.js +156 -109
  79. package/lib/observers/schedule-observer.js +66 -66
  80. package/lib/observers/socket.io-observer.js +54 -54
  81. package/lib/observers/stream-observer.js +19 -19
  82. package/lib/observers/thrift-observer.js +196 -196
  83. package/lib/pack/activestack-pack.js +54 -54
  84. package/lib/pack/counter-pack.js +649 -649
  85. package/lib/pack/errorsnap-pack.js +68 -68
  86. package/lib/pack/event-pack.js +53 -53
  87. package/lib/pack/hitmap-pack.js +62 -62
  88. package/lib/pack/hitmap-pack1.js +146 -146
  89. package/lib/pack/netstat.js +14 -14
  90. package/lib/pack/pack.js +49 -49
  91. package/lib/pack/packenum.js +60 -60
  92. package/lib/pack/param-pack.js +213 -213
  93. package/lib/pack/profile-pack.js +48 -48
  94. package/lib/pack/realtimeuser-pack.js +40 -40
  95. package/lib/pack/stat-general-pack.js +95 -95
  96. package/lib/pack/staterror-pack.js +119 -119
  97. package/lib/pack/stathttpc-pack.js +66 -66
  98. package/lib/pack/stathttpc-rec.js +78 -78
  99. package/lib/pack/statremote-pack.js +45 -45
  100. package/lib/pack/statservice-pack.js +62 -62
  101. package/lib/pack/statservice-pack1.js +87 -87
  102. package/lib/pack/statservice-rec.js +292 -292
  103. package/lib/pack/statservice-rec_dep.js +151 -151
  104. package/lib/pack/statsql-pack.js +69 -69
  105. package/lib/pack/statsql-rec.js +100 -100
  106. package/lib/pack/statuseragent-pack.js +43 -43
  107. package/lib/pack/tagcount-pack.js +398 -398
  108. package/lib/pack/tagctr.js +14 -14
  109. package/lib/pack/text-pack.js +49 -49
  110. package/lib/pack/time-count.js +25 -25
  111. package/lib/pack/websocket.js +14 -14
  112. package/lib/plugin/plugin-loadermanager.js +56 -56
  113. package/lib/plugin/plugin.js +75 -75
  114. package/lib/requestlog.js +326 -326
  115. package/lib/service/tx-record.js +288 -288
  116. package/lib/stat/stat-error.js +116 -116
  117. package/lib/stat/stat-httpc.js +97 -97
  118. package/lib/stat/stat-remoteip.js +46 -46
  119. package/lib/stat/stat-sql.js +112 -112
  120. package/lib/stat/stat-tranx.js +57 -57
  121. package/lib/stat/stat-tx-caller.js +159 -159
  122. package/lib/stat/stat-tx-domain.js +110 -110
  123. package/lib/stat/stat-tx-referer.js +111 -111
  124. package/lib/stat/stat-useragent.js +48 -48
  125. package/lib/stat/timingsender.js +72 -72
  126. package/lib/step/activestack-step.js +37 -37
  127. package/lib/step/dbc-step.js +35 -35
  128. package/lib/step/http-stepx.js +66 -66
  129. package/lib/step/message-step.js +39 -39
  130. package/lib/step/method-stepx.js +46 -46
  131. package/lib/step/resultset-step.js +39 -39
  132. package/lib/step/securemsg-step.js +43 -43
  133. package/lib/step/socket-step.js +46 -46
  134. package/lib/step/sql-stepx.js +67 -67
  135. package/lib/step/sqlxtype.js +15 -15
  136. package/lib/step/step.js +65 -65
  137. package/lib/step/stepenum.js +53 -53
  138. package/lib/trace/local-context.js +13 -13
  139. package/lib/trace/parsed-sql.js +13 -13
  140. package/lib/trace/profile-collector.js +70 -70
  141. package/lib/trace/serviceurl-pattern-detector.js +117 -117
  142. package/lib/trace/trace-context-manager.js +195 -195
  143. package/lib/trace/trace-context.js +134 -134
  144. package/lib/util/anylist.js +102 -102
  145. package/lib/util/array-util.js +100 -100
  146. package/lib/util/bitutil.js +27 -27
  147. package/lib/util/cardinality/hyperloglog.js +105 -105
  148. package/lib/util/cardinality/murmurhash.js +31 -31
  149. package/lib/util/cardinality/registerset.js +74 -74
  150. package/lib/util/config-util.js +17 -17
  151. package/lib/util/cypher.js +89 -89
  152. package/lib/util/datetimehelper.js +237 -229
  153. package/lib/util/dateutil.js +110 -106
  154. package/lib/util/errordata.js +20 -20
  155. package/lib/util/escape-literal-sql.js +342 -342
  156. package/lib/util/hashutil2.js +126 -126
  157. package/lib/util/hexa32.js +57 -57
  158. package/lib/util/index.js +78 -78
  159. package/lib/util/intint-map.js +47 -47
  160. package/lib/util/intkey-linkedmap.js +26 -26
  161. package/lib/util/intkey-map.js +25 -25
  162. package/lib/util/intset.js +82 -82
  163. package/lib/util/iputil.js +119 -119
  164. package/lib/util/iputil_x.js +526 -526
  165. package/lib/util/keygen.js +17 -17
  166. package/lib/util/kube-util.js +72 -72
  167. package/lib/util/longint-linkedmap.js +35 -35
  168. package/lib/util/longkey-linkedmap.js +25 -25
  169. package/lib/util/longlong-linkedmap.js +37 -37
  170. package/lib/util/nodeutil.js +67 -67
  171. package/lib/util/oidutil.js +96 -93
  172. package/lib/util/paramsecurity.js +78 -78
  173. package/lib/util/pathtree.js +172 -172
  174. package/lib/util/pre-process.js +13 -13
  175. package/lib/util/process-seq.js +165 -165
  176. package/lib/util/property-util.js +35 -35
  177. package/lib/util/request-queue.js +42 -42
  178. package/lib/util/requestdouble-queue.js +72 -72
  179. package/lib/util/resourceprofile.js +156 -156
  180. package/lib/util/seedrandom.js +242 -242
  181. package/lib/util/stop-watch.js +29 -29
  182. package/lib/util/string-util.js +9 -9
  183. package/lib/util/stringkey-linkedmap.js +28 -28
  184. package/lib/util/stringnum-linkedmap.js +31 -31
  185. package/lib/util/stringset.js +65 -65
  186. package/lib/util/system-util.js +9 -9
  187. package/lib/util/userid-util.js +57 -57
  188. package/lib/util/utils.js +67 -67
  189. package/lib/value/blob-value.js +61 -61
  190. package/lib/value/boolean-value.js +51 -51
  191. package/lib/value/decimal-value.js +71 -71
  192. package/lib/value/double-summary.js +105 -105
  193. package/lib/value/double-value.js +50 -50
  194. package/lib/value/float-array.js +59 -59
  195. package/lib/value/float-value.js +64 -64
  196. package/lib/value/int-array.js +59 -59
  197. package/lib/value/int-map-value.js +151 -151
  198. package/lib/value/int-value.js +64 -64
  199. package/lib/value/ip4-value.js +83 -83
  200. package/lib/value/list-value.js +136 -136
  201. package/lib/value/long-array.js +59 -59
  202. package/lib/value/long-summary.js +105 -105
  203. package/lib/value/map-value.js +175 -175
  204. package/lib/value/metric-value.js +157 -157
  205. package/lib/value/null-value.js +42 -42
  206. package/lib/value/number-value.js +34 -34
  207. package/lib/value/summary-value.js +29 -29
  208. package/lib/value/text-array.js +117 -117
  209. package/lib/value/text-value.js +59 -59
  210. package/lib/value/texthash-value.js +49 -49
  211. package/lib/value/value.js +14 -14
  212. package/lib/value/valueenum.js +99 -99
  213. package/logs/whatap-20230906.log +54 -0
  214. package/package.json +28 -28
  215. package/whatap.conf +1 -1
  216. package/logs/whatap-20230616.log +0 -13
@@ -1,151 +1,151 @@
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 Pack = require('./pack'),
8
- PackEnum = require('./packenum'),
9
- IntKeyLinkedMap = require('../util/intkey-linkedmap'),
10
- DataOutputX = require('../io/data-outputx'),
11
- DataInputX = require('../io/data-inputx'),
12
- TimeCount = require('./time-count');
13
-
14
- function TransactionRecDep() {
15
- this.hash = 0; /*int*/
16
-
17
- this.count = 0; /*int*/
18
- this.error = 0; /*int*/
19
-
20
- this.time_sum = 0; /*long*/
21
- this.time_max = 0; /*int*/
22
-
23
- this.sql_count = 0; /*int*/
24
- this.sql_time = 0; /*long*/
25
- this.sql_fetch = 0; /*int*/
26
- this.sql_fetch_time = 0; /*long*/
27
-
28
-
29
-
30
- this.httpc_count = 0; /*int*/
31
- this.httpc_time = 0; /*long*/
32
- this.malloc_sum = 0; /*long*/
33
- this.cpu_sum = 0; /*long*/
34
-
35
- /*임시변수 서버전송 안함*/ this.profiled = false;
36
- }
37
-
38
- TransactionRecDep.prototype.mergeForStat = function(o){
39
- this.count += o.count;
40
- this.error += o.error;
41
-
42
- this.time_sum +=o.time_sum;
43
- this.time_max = Math.max(this.time_max, o.time_max);
44
-
45
- this.sql_count += o.sql_count;
46
- this.sql_time +=o.sql_time;
47
- this.sql_fetch += o.sql_fetch;
48
- this.sql_fetch_time +=o.sql_fetch_time;
49
-
50
- this.httpc_count += o.httpc_count;
51
- this.httpc_time +=o.httpc_time;
52
-
53
- this.malloc_sum +=o.malloc_sum;
54
- this.cpu_sum +=o.cpu_sum;
55
- };
56
-
57
- TransactionRecDep.prototype.merge = function(o) {
58
- this.count += o.count;
59
- this.error += o.error;
60
- this.time_sum +=o.time_sum;
61
- this.time_max = Math.max(this.time_max, o.time_max);
62
-
63
- this.sql_count += o.sql_count;
64
- this.sql_time +=o.sql_time;
65
-
66
- this.sql_fetch += o.sql_fetch;
67
- this.sql_fetch_time +=o.sql_fetch_time;
68
-
69
- this.httpc_count += o.httpc_count;
70
- this.httpc_time += o.httpc_time;
71
-
72
- this.malloc_sum += o.malloc_sum;
73
- this.cpu_sum += o.cpu_sum;
74
-
75
- };
76
-
77
- TransactionRecDep.prototype.setUrlHash = function(hash) {
78
- this.hash = hash;
79
- return this;
80
- };
81
-
82
- TransactionRecDep.prototype.getDeviation = function() {
83
- if (this.count === 0) {
84
- return 0;
85
- }
86
- var avg = this.time_suthis.divide(this.count); /*long*/
87
- var variation = (this.time_std - (2 * avg * this.time_sum) + (this.count * avg * avg)) / this.count;
88
-
89
- // NAN check..
90
- var ret = Math.sqrt(variation);
91
- return isNaN(ret) ? 0 : ret;
92
- };
93
-
94
-
95
- TransactionRecDep.prototype.write = function(dout) {
96
- dout.writeInt(this.hash);
97
- dout.writeByte(2);
98
- dout.writeDecimal(this.count);
99
- dout.writeDecimal(this.error);
100
- dout.writeDecimal(this.time_sum);
101
- dout.writeDecimal(this.time_max);
102
-
103
- dout.writeDecimal(this.sql_count);
104
- dout.writeDecimal(this.sql_time);
105
- dout.writeDecimal(this.sql_fetch);
106
- dout.writeDecimal(this.sql_fetch_time);
107
-
108
- dout.writeDecimal(this.httpc_count);
109
- dout.writeDecimal(this.httpc_time);
110
- dout.writeDecimal(this.malloc_sum);
111
- dout.writeDecimal(this.cpu_sum);
112
-
113
- dout.writeDecimal(0);
114
- dout.writeDecimal(0);
115
- };
116
- TransactionRecDep.prototype.read = function(din) {
117
- this.hash = din.readInt();
118
- var ver = din.readByte();
119
- this.count = din.readDecNumber();
120
- this.error = din.readDecNumber();
121
- this.time_sum = din.readDecNumber();
122
- this.time_max = din.readDecNumber();
123
-
124
- this.sql_count = din.readDecNumber();
125
- this.sql_time = din.readDecNumber();
126
- this.sql_fetch = din.readDecNumber();
127
- this.sql_fetch_time = din.readDecNumber();
128
-
129
- this.httpc_count = din.readDecNumber();
130
- this.httpc_time = din.readDecNumber();
131
- this.malloc_sum = din.readDecNumber();
132
- this.cpu_sum = din.readDecNumber();
133
-
134
- _drop(din);
135
- _drop(din);
136
-
137
- return this;
138
- };
139
-
140
- function _drop(din){
141
- var c = din.readDecNumber();
142
- if (c > 0) {
143
- for (i = 0; i < c; i++) {
144
- din.readInt();
145
- din.readDecNumber();
146
- din.readDecNumber();
147
- din.readDecNumber();
148
- }
149
- }
150
- }
151
- module.exports = TransactionRecDep;
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 Pack = require('./pack'),
8
+ PackEnum = require('./packenum'),
9
+ IntKeyLinkedMap = require('../util/intkey-linkedmap'),
10
+ DataOutputX = require('../io/data-outputx'),
11
+ DataInputX = require('../io/data-inputx'),
12
+ TimeCount = require('./time-count');
13
+
14
+ function TransactionRecDep() {
15
+ this.hash = 0; /*int*/
16
+
17
+ this.count = 0; /*int*/
18
+ this.error = 0; /*int*/
19
+
20
+ this.time_sum = 0; /*long*/
21
+ this.time_max = 0; /*int*/
22
+
23
+ this.sql_count = 0; /*int*/
24
+ this.sql_time = 0; /*long*/
25
+ this.sql_fetch = 0; /*int*/
26
+ this.sql_fetch_time = 0; /*long*/
27
+
28
+
29
+
30
+ this.httpc_count = 0; /*int*/
31
+ this.httpc_time = 0; /*long*/
32
+ this.malloc_sum = 0; /*long*/
33
+ this.cpu_sum = 0; /*long*/
34
+
35
+ /*임시변수 서버전송 안함*/ this.profiled = false;
36
+ }
37
+
38
+ TransactionRecDep.prototype.mergeForStat = function(o){
39
+ this.count += o.count;
40
+ this.error += o.error;
41
+
42
+ this.time_sum +=o.time_sum;
43
+ this.time_max = Math.max(this.time_max, o.time_max);
44
+
45
+ this.sql_count += o.sql_count;
46
+ this.sql_time +=o.sql_time;
47
+ this.sql_fetch += o.sql_fetch;
48
+ this.sql_fetch_time +=o.sql_fetch_time;
49
+
50
+ this.httpc_count += o.httpc_count;
51
+ this.httpc_time +=o.httpc_time;
52
+
53
+ this.malloc_sum +=o.malloc_sum;
54
+ this.cpu_sum +=o.cpu_sum;
55
+ };
56
+
57
+ TransactionRecDep.prototype.merge = function(o) {
58
+ this.count += o.count;
59
+ this.error += o.error;
60
+ this.time_sum +=o.time_sum;
61
+ this.time_max = Math.max(this.time_max, o.time_max);
62
+
63
+ this.sql_count += o.sql_count;
64
+ this.sql_time +=o.sql_time;
65
+
66
+ this.sql_fetch += o.sql_fetch;
67
+ this.sql_fetch_time +=o.sql_fetch_time;
68
+
69
+ this.httpc_count += o.httpc_count;
70
+ this.httpc_time += o.httpc_time;
71
+
72
+ this.malloc_sum += o.malloc_sum;
73
+ this.cpu_sum += o.cpu_sum;
74
+
75
+ };
76
+
77
+ TransactionRecDep.prototype.setUrlHash = function(hash) {
78
+ this.hash = hash;
79
+ return this;
80
+ };
81
+
82
+ TransactionRecDep.prototype.getDeviation = function() {
83
+ if (this.count === 0) {
84
+ return 0;
85
+ }
86
+ var avg = this.time_suthis.divide(this.count); /*long*/
87
+ var variation = (this.time_std - (2 * avg * this.time_sum) + (this.count * avg * avg)) / this.count;
88
+
89
+ // NAN check..
90
+ var ret = Math.sqrt(variation);
91
+ return isNaN(ret) ? 0 : ret;
92
+ };
93
+
94
+
95
+ TransactionRecDep.prototype.write = function(dout) {
96
+ dout.writeInt(this.hash);
97
+ dout.writeByte(2);
98
+ dout.writeDecimal(this.count);
99
+ dout.writeDecimal(this.error);
100
+ dout.writeDecimal(this.time_sum);
101
+ dout.writeDecimal(this.time_max);
102
+
103
+ dout.writeDecimal(this.sql_count);
104
+ dout.writeDecimal(this.sql_time);
105
+ dout.writeDecimal(this.sql_fetch);
106
+ dout.writeDecimal(this.sql_fetch_time);
107
+
108
+ dout.writeDecimal(this.httpc_count);
109
+ dout.writeDecimal(this.httpc_time);
110
+ dout.writeDecimal(this.malloc_sum);
111
+ dout.writeDecimal(this.cpu_sum);
112
+
113
+ dout.writeDecimal(0);
114
+ dout.writeDecimal(0);
115
+ };
116
+ TransactionRecDep.prototype.read = function(din) {
117
+ this.hash = din.readInt();
118
+ var ver = din.readByte();
119
+ this.count = din.readDecNumber();
120
+ this.error = din.readDecNumber();
121
+ this.time_sum = din.readDecNumber();
122
+ this.time_max = din.readDecNumber();
123
+
124
+ this.sql_count = din.readDecNumber();
125
+ this.sql_time = din.readDecNumber();
126
+ this.sql_fetch = din.readDecNumber();
127
+ this.sql_fetch_time = din.readDecNumber();
128
+
129
+ this.httpc_count = din.readDecNumber();
130
+ this.httpc_time = din.readDecNumber();
131
+ this.malloc_sum = din.readDecNumber();
132
+ this.cpu_sum = din.readDecNumber();
133
+
134
+ _drop(din);
135
+ _drop(din);
136
+
137
+ return this;
138
+ };
139
+
140
+ function _drop(din){
141
+ var c = din.readDecNumber();
142
+ if (c > 0) {
143
+ for (i = 0; i < c; i++) {
144
+ din.readInt();
145
+ din.readDecNumber();
146
+ din.readDecNumber();
147
+ din.readDecNumber();
148
+ }
149
+ }
150
+ }
151
+ module.exports = TransactionRecDep;
@@ -1,69 +1,69 @@
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 Pack = require('./pack'),
8
- PackEnum = require('./packenum'),
9
- DataOutputX = require('../io/data-outputx'),
10
- DataInputX = require('../io/data-inputx'),
11
- SqlRec = require('./statsql-rec');
12
-
13
- function StatSqlPack() {
14
- Pack.call(this);
15
- this.records = [];
16
- this.record_count = 0;
17
- return this;
18
- }
19
-
20
- StatSqlPack.prototype = new Pack();
21
- StatSqlPack.prototype.constructor = StatSqlPack;
22
- StatSqlPack.prototype.getPackType = function () {
23
- return PackEnum.STAT_SQL;
24
- };
25
-
26
- StatSqlPack.prototype.write = function (dout) {
27
- Pack.prototype.write.call(this, dout);
28
- dout.writeBlob(this.records);
29
- dout.writeDecimal(this.record_count);
30
- };
31
- StatSqlPack.prototype.read = function (din) {
32
- Pack.prototype.read.call(this, din);
33
- this.records = din.readBlob();
34
- this.record_count = din.readDecNumber();
35
- return this;
36
- };
37
- StatSqlPack.prototype.setRecords = function (size, items) {
38
- var dout = new DataOutputX();
39
- dout.writeShort(size);
40
- while(items.hasMoreElements()) {
41
- SqlRec.writeRec(dout, items.nextElement());
42
- //items.nextElement().write(dout);
43
- }
44
- /*
45
- for(var i=0; i<size; i++) {
46
- items.nextElement().write(dout);
47
- }
48
- */
49
- this.records = dout.toByteArray();
50
- this.record_count = size;
51
- return this;
52
- };
53
- StatSqlPack.prototype.getRecords = function () {
54
- var items = [];
55
- if(this.records == null) {
56
- return items;
57
- }
58
-
59
- var din = new DataInputX(this.records);
60
- var size = din.readShort();
61
- for(var i=0; i<size; i++) {
62
- var m = new SqlRec().read(din);
63
- items.push(m);
64
- }
65
- return items;
66
- };
67
-
68
-
69
- module.exports = StatSqlPack;
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 Pack = require('./pack'),
8
+ PackEnum = require('./packenum'),
9
+ DataOutputX = require('../io/data-outputx'),
10
+ DataInputX = require('../io/data-inputx'),
11
+ SqlRec = require('./statsql-rec');
12
+
13
+ function StatSqlPack() {
14
+ Pack.call(this);
15
+ this.records = [];
16
+ this.record_count = 0;
17
+ return this;
18
+ }
19
+
20
+ StatSqlPack.prototype = new Pack();
21
+ StatSqlPack.prototype.constructor = StatSqlPack;
22
+ StatSqlPack.prototype.getPackType = function () {
23
+ return PackEnum.STAT_SQL;
24
+ };
25
+
26
+ StatSqlPack.prototype.write = function (dout) {
27
+ Pack.prototype.write.call(this, dout);
28
+ dout.writeBlob(this.records);
29
+ dout.writeDecimal(this.record_count);
30
+ };
31
+ StatSqlPack.prototype.read = function (din) {
32
+ Pack.prototype.read.call(this, din);
33
+ this.records = din.readBlob();
34
+ this.record_count = din.readDecNumber();
35
+ return this;
36
+ };
37
+ StatSqlPack.prototype.setRecords = function (size, items) {
38
+ var dout = new DataOutputX();
39
+ dout.writeShort(size);
40
+ while(items.hasMoreElements()) {
41
+ SqlRec.writeRec(dout, items.nextElement());
42
+ //items.nextElement().write(dout);
43
+ }
44
+ /*
45
+ for(var i=0; i<size; i++) {
46
+ items.nextElement().write(dout);
47
+ }
48
+ */
49
+ this.records = dout.toByteArray();
50
+ this.record_count = size;
51
+ return this;
52
+ };
53
+ StatSqlPack.prototype.getRecords = function () {
54
+ var items = [];
55
+ if(this.records == null) {
56
+ return items;
57
+ }
58
+
59
+ var din = new DataInputX(this.records);
60
+ var size = din.readShort();
61
+ for(var i=0; i<size; i++) {
62
+ var m = new SqlRec().read(din);
63
+ items.push(m);
64
+ }
65
+ return items;
66
+ };
67
+
68
+
69
+ module.exports = StatSqlPack;
@@ -1,100 +1,100 @@
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 BitUtil = require('../util/bitutil');
8
-
9
- function SqlRec() {
10
- this.dbc = 0;
11
- this.sql = 0;
12
- this.sql_crud = 0;
13
- this.count_total = 0;
14
- this.count_error = 0;
15
- //this.count_actived = 0;
16
- this.time_sum = 0;
17
- this.time_std = 0;
18
- this.time_min = 0;
19
- this.time_max = 0;
20
- this.fetch_count = 0;
21
- this.fetch_time = 0;
22
- this.update_count = 0;
23
- this.service = 0;
24
- }
25
-
26
- SqlRec.prototype.merge = function (other) {
27
- this.count_total += other.count_total;
28
- this.count_error += other.count_error;
29
- //this.count_actived += other.count_actived;
30
- this.time_sum +=other.time_sum;
31
- this.time_std = other.time_std;
32
- this.time_max = Math.max(this.time_max, other.time_max);
33
- this.time_min = Math.min(this.time_min, other.time_min);
34
- this.fetch_count += other.fetch_count;
35
- this.fetch_time += other.fetch_time;
36
- this.update_count +=other.update_count;
37
- };
38
- SqlRec.prototype.key = function () {
39
- return BitUtil.composite(this.dbc, this.sql);
40
- };
41
-
42
- SqlRec.prototype.write = function (dout, m) {
43
- dout.writeInt(this.dbc);
44
- dout.writeInt(this.sql);
45
- dout.writeByte(this.sql_crud);
46
- dout.writeDecimal(this.count_total);
47
- dout.writeDecimal(this.count_error);
48
- dout.writeDecimal(-1);
49
- dout.writeDecimal(this.time_sum);
50
- dout.writeDecimal(this.time_std);
51
- dout.writeDecimal(this.time_min);
52
- dout.writeDecimal(this.time_max);
53
- dout.writeDecimal(this.fetch_count);
54
- dout.writeDecimal(this.fetch_time);
55
- dout.writeDecimal(this.update_count);
56
-
57
- dout.writeDecimal(this.service);
58
- };
59
- SqlRec.prototype.read = function (din) {
60
- this.dbc = din.readInt();
61
- this.sql = din.readInt();
62
- this.sql_crud = din.readByte();
63
- this.count_total = din.readDecNumber();
64
- this.count_error = din.readDecNumber();
65
-
66
- var ver = din.readDecNumber();
67
-
68
- this.time_sum = din.readDecNumber();
69
- this.time_std = din.readDecNumber();
70
- this.time_min = din.readDecNumber();
71
- this.time_max = din.readDecNumber();
72
- this.fetch_count = din.readDecNumber();
73
- this.fetch_time = din.readDecNumber();
74
- this.update_count = din.readDecNumber();
75
- if(ver >=0){
76
- return this;
77
- }
78
- this.service = din.readDecNumber();
79
- return this;
80
- };
81
-
82
- SqlRec.writeRec = function (dout, m) {
83
- dout.writeInt(m.dbc);
84
- dout.writeInt(m.sql);
85
- dout.writeByte(m.sql_crud);
86
- dout.writeDecimal(m.count_total);
87
- dout.writeDecimal(m.count_error);
88
- dout.writeDecimal(-1);
89
- dout.writeDecimal(m.time_sum);
90
- dout.writeDecimal(m.time_std);
91
- dout.writeDecimal(m.time_min);
92
- dout.writeDecimal(m.time_max);
93
- dout.writeDecimal(m.fetch_count);
94
- dout.writeDecimal(m.fetch_time);
95
- dout.writeDecimal(m.update_count);
96
-
97
- dout.writeDecimal(m.service);
98
- };
99
-
100
- module.exports = SqlRec;
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 BitUtil = require('../util/bitutil');
8
+
9
+ function SqlRec() {
10
+ this.dbc = 0;
11
+ this.sql = 0;
12
+ this.sql_crud = 0;
13
+ this.count_total = 0;
14
+ this.count_error = 0;
15
+ //this.count_actived = 0;
16
+ this.time_sum = 0;
17
+ this.time_std = 0;
18
+ this.time_min = 0;
19
+ this.time_max = 0;
20
+ this.fetch_count = 0;
21
+ this.fetch_time = 0;
22
+ this.update_count = 0;
23
+ this.service = 0;
24
+ }
25
+
26
+ SqlRec.prototype.merge = function (other) {
27
+ this.count_total += other.count_total;
28
+ this.count_error += other.count_error;
29
+ //this.count_actived += other.count_actived;
30
+ this.time_sum +=other.time_sum;
31
+ this.time_std = other.time_std;
32
+ this.time_max = Math.max(this.time_max, other.time_max);
33
+ this.time_min = Math.min(this.time_min, other.time_min);
34
+ this.fetch_count += other.fetch_count;
35
+ this.fetch_time += other.fetch_time;
36
+ this.update_count +=other.update_count;
37
+ };
38
+ SqlRec.prototype.key = function () {
39
+ return BitUtil.composite(this.dbc, this.sql);
40
+ };
41
+
42
+ SqlRec.prototype.write = function (dout, m) {
43
+ dout.writeInt(this.dbc);
44
+ dout.writeInt(this.sql);
45
+ dout.writeByte(this.sql_crud);
46
+ dout.writeDecimal(this.count_total);
47
+ dout.writeDecimal(this.count_error);
48
+ dout.writeDecimal(-1);
49
+ dout.writeDecimal(this.time_sum);
50
+ dout.writeDecimal(this.time_std);
51
+ dout.writeDecimal(this.time_min);
52
+ dout.writeDecimal(this.time_max);
53
+ dout.writeDecimal(this.fetch_count);
54
+ dout.writeDecimal(this.fetch_time);
55
+ dout.writeDecimal(this.update_count);
56
+
57
+ dout.writeDecimal(this.service);
58
+ };
59
+ SqlRec.prototype.read = function (din) {
60
+ this.dbc = din.readInt();
61
+ this.sql = din.readInt();
62
+ this.sql_crud = din.readByte();
63
+ this.count_total = din.readDecNumber();
64
+ this.count_error = din.readDecNumber();
65
+
66
+ var ver = din.readDecNumber();
67
+
68
+ this.time_sum = din.readDecNumber();
69
+ this.time_std = din.readDecNumber();
70
+ this.time_min = din.readDecNumber();
71
+ this.time_max = din.readDecNumber();
72
+ this.fetch_count = din.readDecNumber();
73
+ this.fetch_time = din.readDecNumber();
74
+ this.update_count = din.readDecNumber();
75
+ if(ver >=0){
76
+ return this;
77
+ }
78
+ this.service = din.readDecNumber();
79
+ return this;
80
+ };
81
+
82
+ SqlRec.writeRec = function (dout, m) {
83
+ dout.writeInt(m.dbc);
84
+ dout.writeInt(m.sql);
85
+ dout.writeByte(m.sql_crud);
86
+ dout.writeDecimal(m.count_total);
87
+ dout.writeDecimal(m.count_error);
88
+ dout.writeDecimal(-1);
89
+ dout.writeDecimal(m.time_sum);
90
+ dout.writeDecimal(m.time_std);
91
+ dout.writeDecimal(m.time_min);
92
+ dout.writeDecimal(m.time_max);
93
+ dout.writeDecimal(m.fetch_count);
94
+ dout.writeDecimal(m.fetch_time);
95
+ dout.writeDecimal(m.update_count);
96
+
97
+ dout.writeDecimal(m.service);
98
+ };
99
+
100
+ module.exports = SqlRec;