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.
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 -284
  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,239 +1,239 @@
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 path = require('path');
8
- function num(k, defValue){
9
- var v=process.env[k];
10
- return v?Number(v):defValue;
11
- };
12
- function bool(k, defValue){
13
- var v=process.env[k];
14
- return v?Boolean(v):defValue;
15
- };
16
- function str(k, defValue){
17
- var v=process.env[k];
18
- return v?v:defValue;
19
- };
20
- var ConfigDefault = {
21
- "whatap.home": '',
22
- "whatap.enabled": bool('whatap.enabled',true),
23
- "license" : str("license", null),
24
- "counter_enabled": bool('counter_enabled',true),
25
- "stat_enabled": bool('stat_enabled',true),
26
-
27
- "profile_enabled": bool('profile_enabled',true),
28
- "sql_enabled": bool('sql_enabled',true),
29
- "httpc_enabled": bool('httpc_enabled',true),
30
- "profile_max_time" : num('profile_max_time',300000),
31
- "profile_max_count" : num('profile_max_count',10000),
32
- "prepared_sql_max": 5001,
33
-
34
- "trace_service_name_header_key": null,
35
- "trace_service_name_key": null,
36
- "web_static_content_extensions": str("web_static_content_extensions" , "js, htm, html, gif, png, jpg, css, txt, ico"),
37
- "trace_auto_service_enabled": false,
38
- "trace_auto_service_backstack_enabled": true,
39
- "trace_background_socket_enabled": true,
40
- "trace_node_schedule_enabled": bool('trace_node_schedule_enabled',false),
41
- "trace_active_callstack_depth": 40,
42
- "trace_activeserivce_yellow_time": 3000,
43
- "trace_activeservice_red_time": 8000,
44
- "trace_activeservice_hang_time": 6000,
45
-
46
- "trace_httpc_normalize_urls": "",
47
- "log_ignore_set": null,
48
- "whatap.server.host": str('whatap_server_host',"127.0.0.1,127.0.0.1"),
49
- "whatap.server.port": num('whatap_server_port',6600),
50
- "tcp_connection_timeout": num('tcp_connection_timeout',10000),
51
- "tcp_so_timeout": 60000,
52
- "net_send_max_bytes": 5 * 1024 * 1024,
53
- "net_send_queue1_size": 512,
54
- "net_send_queue2_size": 1024,
55
- "hook_connection_open_patterns": "",
56
- "log_datasource_lookup_enabled": true,
57
-
58
- "profile_http_querystring_enabled": bool('profile_http_querystring_enabled',false),
59
- "profile_http_header_enabled": bool('profile_http_header_enabled',false),
60
- "profile_http_parameter_enabled": bool('profile_http_parameter_enabled',false),
61
- "profile_httpc_parameter_enabled": bool('profile_httpc_parameter_enabled',false),
62
- "profile_http_parameter_url_prefix": "/",
63
- "profile_http_header_url_prefix": "/",
64
- "profile_connection_open_enabled": true,
65
-
66
- "hook_method_patterns": str('hook_method_patterns',""),
67
- "hook_method_access_public_enabled": true,
68
- "hook_method_access_protected_enabled": true,
69
- "hook_method_access_private_enabled": false,
70
- "hook_method_access_none_enabled": true,
71
- "hook_method_ignore_prefixes": "get,set",
72
- "hook_method_ignore_classes": "",
73
- "profile_method_enabled": true,
74
-
75
- "hook_service_patterns": "",
76
- "hook_httpc_patterns": "",
77
- "hook_httpc_info_patterns": "",
78
- "hook_trace_helper_start_patterns": "",
79
- "hook_trace_helper_end_patterns": "",
80
- "hook_dyna_ignore_count": 100,
81
- "profile_step_max_count": 1024,
82
- "profile_fullstack_max_lines": 0,
83
- "profile_basetime": num('profile_basetime',500),
84
- "trace_http_client_ip_header_key": str('trace_http_client_ip_header_key','x-forwarded-for'),
85
- "trace_user_agent_header_key": str('trace_user_agent_header_key',''),
86
- "trace_referer_header_key": str('trace_referer_header_key',''),
87
- "profile_sql_param_enabled": bool('profile_sql_param_enabled',false),
88
- "error_snap_enabled" : true,
89
- "trace_user_enabled": bool('trace_user_enabled',true),
90
- "trace_user_using_ip": bool('trace_user_using_ip',true),
91
- "trace_user_using_jsession": false,
92
- "user_header_ticket": str('user_header_ticket',''),
93
- "user_header_ticket_enabled": bool('user_header_ticket_enabled',false),
94
- "trace_user_cookie_limit": 2048,
95
-
96
- "profile_error_sql_time_max": 30000,
97
- "hook_direct_patch_classes": "",
98
-
99
- "log_rotation_enabled": bool('log_rotation_enabled',true),
100
- "log_keep_days": num('log_keep_days' , 7),
101
- "log_print_enabled": bool('log_print_enabled',true),
102
- "log_file_enabled" : bool('log_file_enabled',true),
103
- "thread_dump_enabled": bool('thread_dump_enabled',false),
104
- "debug_cpu_enabled": bool('debug_cpu_enabled',false),
105
-
106
- "cipher_net_enabled": true,
107
- "cipher_level": 2,
108
- 'cypher_level': 128,
109
- "boot_redefine_size": 100,
110
-
111
- "counter_interval": 5000,
112
- "CONFIG_INITED": true,
113
-
114
- // "_profile_position_httpc_hash": 0,
115
- // "profile_position_httpc": "",
116
- // "_profile_position_sql_hash": 0,
117
- // "profile_position_sql": "",
118
- // "_profile_position_method_hash": 0,
119
- // "profile_position_method": "",
120
- // "profile_position_depth": 50,
121
- "trace_normalize_urls" : str('trace_normalize_urls',''),
122
- "trace_auto_normalize_enabled" : bool('trace_auto_normalize_enabled',false),
123
- "trace_normalize_enabled" : bool('trace_normalize_enabled',true),
124
- "trace_active_transaction_yellow_time" : num('trace_active_transaction_yellow_time', 3000),
125
- "trace_active_transaction_red_time" : num('trace_active_transaction_red_time', 8000),
126
- "trace_active_transaction_hang_time" : num('trace_active_transaction_hang_time', 30000),
127
- "realtime_user_thinktime_max" : 300000,
128
- "trace_service_port_enabled" : bool('trace_service_port_enabled',false),
129
-
130
- "trace_sql_normalize_enabled" : true,
131
-
132
- //2017.05.02 AUTO ONAME
133
- "auto_oname_enabled" : bool('auto_oname_enabled',false),
134
- "auto_oname_prefix" : str('auto_oname_prefix','nodejs'),
135
- "auto_oname_reset" : num('auto_oname_reset',0) ,
136
- "log_pack_data" : false,
137
-
138
- //2018.10.02 MT
139
- "mtrace_rate" : num('mtrace_rate',10) ,
140
- "mtrace_spec" : str('mtrace_spec','v1'),
141
- "mtrace_spec_hash" : num('mtrace_spec_hash',0),
142
- "stat_mtrace_enabled" : bool('stat_mtrace_enabled',false),
143
- "stat_domain_enabled" : bool('stat_domain_enabled',false),
144
-
145
- //2019.1.24
146
- "mtrace_enabled" : bool('mtrace_enabled',false),
147
- "sql_dbc_meter_enabled" : bool('sql_dbc_meter_enabled',false),
148
- "httpc_host_meter_enabled" : bool('httpc_host_meter_enabled',false),
149
- "tx_caller_meter_enabled" : bool('tx_caller_meter_enabled',false),
150
- "actx_meter_enabled" : bool('actx_meter_enabled',false),
151
-
152
- "mtrace_callee_txid_enabled" : bool('mtrace_callee_txid_enabled',false),
153
- "whatap.okind" : str('whatap.okind',''),
154
-
155
- "trace_referer_enabled" : bool('trace_referer_enabled',false),
156
-
157
- "debug_tcpsend" : bool('debug_tcpsend',false),
158
-
159
- "trace_ignore_url_set": str('trace_ignore_url_set',""),
160
- "_trace_ignore_url_set": {},
161
- "trace_ignore_url_prefix": str('trace_ignore_url_prefix',''),
162
- "_is_trace_ignore_url_prefix": false,
163
-
164
- "trace_ignore_err_cls_contains": str('trace_ignore_err_cls_contains',''),
165
- "_is_trace_ignore_err_cls_contains": false,
166
- "trace_ignore_err_msg_contains": str('trace_ignore_err_msg_contains',''),
167
- "_is_trace_ignore_err_msg_contains": false,
168
-
169
- "trace_origin_url": bool('trace_origin_url',false),
170
- //2019.12.12 Kubernetes
171
- "whatap_kubernetes_enabled": bool('whatap_kubernetes_enabled',false),
172
- "pod_name": str('pod_name', ''),
173
- "whatap_micro_enabled": bool('whatap_micro_enabled',false),
174
- "master_agent_host": str('master_agent_host', 'whatap-master-agent.whatap-monitoring.svc.cluster.local'),
175
- "master_agent_port": num('master_agent_port', 6600),
176
- "enabled_master_agent_call": bool('enabled_master_agent_call' , false),
177
-
178
- "simula_agent_count": num('simula_agent_count', 0),
179
- "correction_factor_cpu": num('correction_factor_cpu', 1),
180
- "aws_ecs_enabled": bool('aws_ecs_enabled', true),
181
- "aws_ecs_stat_interval": num('aws_ecs_stat_interval', 3000),
182
-
183
- // stat_service1_enabled
184
- "stat_service1_enabled": bool('stat_service1_enabled', true),
185
- "stat_mtrace_max_count": num('stat_mtrace_max_count', 7000),
186
-
187
- "_trace_mtrace_poid_key": str("mtrace_poid_key", "x-wtap-po"),
188
- "_trace_mtrace_caller_key": str("mtrace_caller_key","x-wtap-mst"),
189
- "_trace_mtrace_spec_key1": str("mtrace_spec_key", "x-wtap-sp1"),
190
-
191
- // add apdex 2020.11.13
192
- "apdex_time_t": num('apdex_time_t', 1200),
193
- "apdex_time_4t": num('apdex_time_4t', 1200 * 4),
194
- "debug_apdex_enabled": bool('debug_apdex_enabled', false),
195
- "mtid_mtrace_enabled": bool('mtid_mtrace_enabled' , false),
196
-
197
- // debug add
198
- "network_debug_enabled" : bool('network_debug_enabled', false),
199
- // reqlog add
200
- "reqlog_rotation_enabled": true,
201
- "reqlog_keep_days": 7,
202
- "reqlog_enabled": bool('reqlog_enabled', false),
203
- "reqlog_seperator" : str('reqlog_seperator', '|'),
204
-
205
- "reqlog_x_etime" : bool('reqlog_x_etime', true),
206
- "reqlog_x_elapsed" : bool('reqlog_x_elapsed', true),
207
- "reqlog_x_url" : bool('reqlog_x_url', true),
208
- "reqlog_x_httphost" : bool('reqlog_x_httphost', true),
209
- "reqlog_x_method" : bool('reqlog_x_method', true),
210
- "reqlog_x_ip" : bool('reqlog_x_ip', true),
211
- "reqlog_x_wcid" : bool('reqlog_x_wcid', true),
212
- "reqlog_x_status" : bool('reqlog_x_status', true),
213
- "reqlog_x_error" : bool('reqlog_x_error', true),
214
- "reqlog_x_errormsg" : bool('reqlog_x_errormsg', true),
215
- "reqlog_x_useragent" : bool('reqlog_x_useragent', true),
216
- "reqlog_x_txid" : bool('reqlog_x_txid', true),
217
- "reqlog_x_custid" : bool('reqlog_x_custid', false),
218
- "reqlog_x_gtid" : bool('reqlog_x_gtid', true),
219
- "reqlog_x_mtid" : bool('reqlog_x_mtid', true),
220
- "reqlog_x_mdepth" : bool('reqlog_x_mdepth', true),
221
- "reqlog_x_httpc" : bool('reqlog_x_httpc', true),
222
- "reqlog_x_sql" : bool('reqlog_x_sql', true),
223
- "reqlog_x_dbc" : bool('reqlog_x_dbc', true),
224
- "reqlog_x_login" : bool('reqlog_x_login', true),
225
- "reqlog_x_rs" : bool('reqlog_x_rs', true),
226
-
227
- // Cloud PLATFORM
228
- "cloud_platform":str('cloud_platform', 'kic'),
229
- "cloud_platform_chk":str('cloud_platform_chk', 'kr-central-1'),
230
- "cloud_platform_httpc":str('cloud_platform_httpc', 'http://169.254.169.254/latest/meta-data/placement/availability-zone'),
231
- };
232
-
233
- ConfigDefault._hook_method_ignore_prefix = ConfigDefault.hook_method_ignore_prefixes.split(',');
234
- ConfigDefault._hook_method_ignore_prefix_len = ConfigDefault._hook_method_ignore_prefix == null ? 0 : ConfigDefault._hook_method_ignore_prefix.length;
235
-
236
- ConfigDefault.hook_method_ignore_classes = ConfigDefault.hook_method_ignore_classes;
237
- ConfigDefault._hook_method_ignore_classes = ConfigDefault.hook_method_ignore_classes.replace('.', '/').split(',');
238
-
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 path = require('path');
8
+ function num(k, defValue){
9
+ var v=process.env[k];
10
+ return v?Number(v):defValue;
11
+ };
12
+ function bool(k, defValue){
13
+ var v=process.env[k];
14
+ return v?Boolean(v):defValue;
15
+ };
16
+ function str(k, defValue){
17
+ var v=process.env[k];
18
+ return v?v:defValue;
19
+ };
20
+ var ConfigDefault = {
21
+ "whatap.home": '',
22
+ "whatap.enabled": bool('whatap.enabled',true),
23
+ "license" : str("license", null),
24
+ "counter_enabled": bool('counter_enabled',true),
25
+ "stat_enabled": bool('stat_enabled',true),
26
+
27
+ "profile_enabled": bool('profile_enabled',true),
28
+ "sql_enabled": bool('sql_enabled',true),
29
+ "httpc_enabled": bool('httpc_enabled',true),
30
+ "profile_max_time" : num('profile_max_time',300000),
31
+ "profile_max_count" : num('profile_max_count',10000),
32
+ "prepared_sql_max": 5001,
33
+
34
+ "trace_service_name_header_key": null,
35
+ "trace_service_name_key": null,
36
+ "web_static_content_extensions": str("web_static_content_extensions" , "js, htm, html, gif, png, jpg, css, txt, ico"),
37
+ "trace_auto_service_enabled": false,
38
+ "trace_auto_service_backstack_enabled": true,
39
+ "trace_background_socket_enabled": true,
40
+ "trace_node_schedule_enabled": bool('trace_node_schedule_enabled',false),
41
+ "trace_active_callstack_depth": 40,
42
+ "trace_activeserivce_yellow_time": 3000,
43
+ "trace_activeservice_red_time": 8000,
44
+ "trace_activeservice_hang_time": 6000,
45
+
46
+ "trace_httpc_normalize_urls": "",
47
+ "log_ignore_set": null,
48
+ "whatap.server.host": str('whatap_server_host',"127.0.0.1,127.0.0.1"),
49
+ "whatap.server.port": num('whatap_server_port',6600),
50
+ "tcp_connection_timeout": num('tcp_connection_timeout',10000),
51
+ "tcp_so_timeout": 60000,
52
+ "net_send_max_bytes": 5 * 1024 * 1024,
53
+ "net_send_queue1_size": 512,
54
+ "net_send_queue2_size": 1024,
55
+ "hook_connection_open_patterns": "",
56
+ "log_datasource_lookup_enabled": true,
57
+
58
+ "profile_http_querystring_enabled": bool('profile_http_querystring_enabled',false),
59
+ "profile_http_header_enabled": bool('profile_http_header_enabled',false),
60
+ "profile_http_parameter_enabled": bool('profile_http_parameter_enabled',false),
61
+ "profile_httpc_parameter_enabled": bool('profile_httpc_parameter_enabled',false),
62
+ "profile_http_parameter_url_prefix": "/",
63
+ "profile_http_header_url_prefix": "/",
64
+ "profile_connection_open_enabled": true,
65
+
66
+ "hook_method_patterns": str('hook_method_patterns',""),
67
+ "hook_method_access_public_enabled": true,
68
+ "hook_method_access_protected_enabled": true,
69
+ "hook_method_access_private_enabled": false,
70
+ "hook_method_access_none_enabled": true,
71
+ "hook_method_ignore_prefixes": "get,set",
72
+ "hook_method_ignore_classes": "",
73
+ "profile_method_enabled": true,
74
+
75
+ "hook_service_patterns": "",
76
+ "hook_httpc_patterns": "",
77
+ "hook_httpc_info_patterns": "",
78
+ "hook_trace_helper_start_patterns": "",
79
+ "hook_trace_helper_end_patterns": "",
80
+ "hook_dyna_ignore_count": 100,
81
+ "profile_step_max_count": 1024,
82
+ "profile_fullstack_max_lines": 0,
83
+ "profile_basetime": num('profile_basetime',500),
84
+ "trace_http_client_ip_header_key": str('trace_http_client_ip_header_key','x-forwarded-for'),
85
+ "trace_user_agent_header_key": str('trace_user_agent_header_key',''),
86
+ "trace_referer_header_key": str('trace_referer_header_key',''),
87
+ "profile_sql_param_enabled": bool('profile_sql_param_enabled',false),
88
+ "error_snap_enabled" : true,
89
+ "trace_user_enabled": bool('trace_user_enabled',true),
90
+ "trace_user_using_ip": bool('trace_user_using_ip',true),
91
+ "trace_user_using_jsession": false,
92
+ "user_header_ticket": str('user_header_ticket',''),
93
+ "user_header_ticket_enabled": bool('user_header_ticket_enabled',false),
94
+ "trace_user_cookie_limit": 2048,
95
+
96
+ "profile_error_sql_time_max": 30000,
97
+ "hook_direct_patch_classes": "",
98
+
99
+ "log_rotation_enabled": bool('log_rotation_enabled',true),
100
+ "log_keep_days": num('log_keep_days' , 7),
101
+ "log_print_enabled": bool('log_print_enabled',true),
102
+ "log_file_enabled" : bool('log_file_enabled',true),
103
+ "thread_dump_enabled": bool('thread_dump_enabled',false),
104
+ "debug_cpu_enabled": bool('debug_cpu_enabled',false),
105
+
106
+ "cipher_net_enabled": true,
107
+ "cipher_level": 2,
108
+ 'cypher_level': 128,
109
+ "boot_redefine_size": 100,
110
+
111
+ "counter_interval": 5000,
112
+ "CONFIG_INITED": true,
113
+
114
+ // "_profile_position_httpc_hash": 0,
115
+ // "profile_position_httpc": "",
116
+ // "_profile_position_sql_hash": 0,
117
+ // "profile_position_sql": "",
118
+ // "_profile_position_method_hash": 0,
119
+ // "profile_position_method": "",
120
+ // "profile_position_depth": 50,
121
+ "trace_normalize_urls" : str('trace_normalize_urls',''),
122
+ "trace_auto_normalize_enabled" : bool('trace_auto_normalize_enabled',false),
123
+ "trace_normalize_enabled" : bool('trace_normalize_enabled',true),
124
+ "trace_active_transaction_yellow_time" : num('trace_active_transaction_yellow_time', 3000),
125
+ "trace_active_transaction_red_time" : num('trace_active_transaction_red_time', 8000),
126
+ "trace_active_transaction_hang_time" : num('trace_active_transaction_hang_time', 30000),
127
+ "realtime_user_thinktime_max" : 300000,
128
+ "trace_service_port_enabled" : bool('trace_service_port_enabled',false),
129
+
130
+ "trace_sql_normalize_enabled" : true,
131
+
132
+ //2017.05.02 AUTO ONAME
133
+ "auto_oname_enabled" : bool('auto_oname_enabled',false),
134
+ "auto_oname_prefix" : str('auto_oname_prefix','nodejs'),
135
+ "auto_oname_reset" : num('auto_oname_reset',0) ,
136
+ "log_pack_data" : false,
137
+
138
+ //2018.10.02 MT
139
+ "mtrace_rate" : num('mtrace_rate',10) ,
140
+ "mtrace_spec" : str('mtrace_spec','v1'),
141
+ "mtrace_spec_hash" : num('mtrace_spec_hash',0),
142
+ "stat_mtrace_enabled" : bool('stat_mtrace_enabled',false),
143
+ "stat_domain_enabled" : bool('stat_domain_enabled',false),
144
+
145
+ //2019.1.24
146
+ "mtrace_enabled" : bool('mtrace_enabled',false),
147
+ "sql_dbc_meter_enabled" : bool('sql_dbc_meter_enabled',false),
148
+ "httpc_host_meter_enabled" : bool('httpc_host_meter_enabled',false),
149
+ "tx_caller_meter_enabled" : bool('tx_caller_meter_enabled',false),
150
+ "actx_meter_enabled" : bool('actx_meter_enabled',false),
151
+
152
+ "mtrace_callee_txid_enabled" : bool('mtrace_callee_txid_enabled',false),
153
+ "whatap.okind" : str('whatap.okind',''),
154
+
155
+ "trace_referer_enabled" : bool('trace_referer_enabled',false),
156
+
157
+ "debug_tcpsend" : bool('debug_tcpsend',false),
158
+
159
+ "trace_ignore_url_set": str('trace_ignore_url_set',""),
160
+ "_trace_ignore_url_set": {},
161
+ "trace_ignore_url_prefix": str('trace_ignore_url_prefix',''),
162
+ "_is_trace_ignore_url_prefix": false,
163
+
164
+ "trace_ignore_err_cls_contains": str('trace_ignore_err_cls_contains',''),
165
+ "_is_trace_ignore_err_cls_contains": false,
166
+ "trace_ignore_err_msg_contains": str('trace_ignore_err_msg_contains',''),
167
+ "_is_trace_ignore_err_msg_contains": false,
168
+
169
+ "trace_origin_url": bool('trace_origin_url',false),
170
+ //2019.12.12 Kubernetes
171
+ "whatap_kubernetes_enabled": bool('whatap_kubernetes_enabled',false),
172
+ "pod_name": str('pod_name', ''),
173
+ "whatap_micro_enabled": bool('whatap_micro_enabled',false),
174
+ "master_agent_host": str('master_agent_host', 'whatap-master-agent.whatap-monitoring.svc.cluster.local'),
175
+ "master_agent_port": num('master_agent_port', 6600),
176
+ "enabled_master_agent_call": bool('enabled_master_agent_call' , false),
177
+
178
+ "simula_agent_count": num('simula_agent_count', 0),
179
+ "correction_factor_cpu": num('correction_factor_cpu', 1),
180
+ "aws_ecs_enabled": bool('aws_ecs_enabled', true),
181
+ "aws_ecs_stat_interval": num('aws_ecs_stat_interval', 3000),
182
+
183
+ // stat_service1_enabled
184
+ "stat_service1_enabled": bool('stat_service1_enabled', true),
185
+ "stat_mtrace_max_count": num('stat_mtrace_max_count', 7000),
186
+
187
+ "_trace_mtrace_poid_key": str("mtrace_poid_key", "x-wtap-po"),
188
+ "_trace_mtrace_caller_key": str("mtrace_caller_key","x-wtap-mst"),
189
+ "_trace_mtrace_spec_key1": str("mtrace_spec_key", "x-wtap-sp1"),
190
+
191
+ // add apdex 2020.11.13
192
+ "apdex_time_t": num('apdex_time_t', 1200),
193
+ "apdex_time_4t": num('apdex_time_4t', 1200 * 4),
194
+ "debug_apdex_enabled": bool('debug_apdex_enabled', false),
195
+ "mtid_mtrace_enabled": bool('mtid_mtrace_enabled' , false),
196
+
197
+ // debug add
198
+ "network_debug_enabled" : bool('network_debug_enabled', false),
199
+ // reqlog add
200
+ "reqlog_rotation_enabled": true,
201
+ "reqlog_keep_days": 7,
202
+ "reqlog_enabled": bool('reqlog_enabled', false),
203
+ "reqlog_seperator" : str('reqlog_seperator', '|'),
204
+
205
+ "reqlog_x_etime" : bool('reqlog_x_etime', true),
206
+ "reqlog_x_elapsed" : bool('reqlog_x_elapsed', true),
207
+ "reqlog_x_url" : bool('reqlog_x_url', true),
208
+ "reqlog_x_httphost" : bool('reqlog_x_httphost', true),
209
+ "reqlog_x_method" : bool('reqlog_x_method', true),
210
+ "reqlog_x_ip" : bool('reqlog_x_ip', true),
211
+ "reqlog_x_wcid" : bool('reqlog_x_wcid', true),
212
+ "reqlog_x_status" : bool('reqlog_x_status', true),
213
+ "reqlog_x_error" : bool('reqlog_x_error', true),
214
+ "reqlog_x_errormsg" : bool('reqlog_x_errormsg', true),
215
+ "reqlog_x_useragent" : bool('reqlog_x_useragent', true),
216
+ "reqlog_x_txid" : bool('reqlog_x_txid', true),
217
+ "reqlog_x_custid" : bool('reqlog_x_custid', false),
218
+ "reqlog_x_gtid" : bool('reqlog_x_gtid', true),
219
+ "reqlog_x_mtid" : bool('reqlog_x_mtid', true),
220
+ "reqlog_x_mdepth" : bool('reqlog_x_mdepth', true),
221
+ "reqlog_x_httpc" : bool('reqlog_x_httpc', true),
222
+ "reqlog_x_sql" : bool('reqlog_x_sql', true),
223
+ "reqlog_x_dbc" : bool('reqlog_x_dbc', true),
224
+ "reqlog_x_login" : bool('reqlog_x_login', true),
225
+ "reqlog_x_rs" : bool('reqlog_x_rs', true),
226
+
227
+ // Cloud PLATFORM
228
+ "cloud_platform":str('cloud_platform', 'kic'),
229
+ "cloud_platform_chk":str('cloud_platform_chk', 'kr-central-1'),
230
+ "cloud_platform_httpc":str('cloud_platform_httpc', 'http://169.254.169.254/latest/meta-data/placement/availability-zone'),
231
+ };
232
+
233
+ ConfigDefault._hook_method_ignore_prefix = ConfigDefault.hook_method_ignore_prefixes.split(',');
234
+ ConfigDefault._hook_method_ignore_prefix_len = ConfigDefault._hook_method_ignore_prefix == null ? 0 : ConfigDefault._hook_method_ignore_prefix.length;
235
+
236
+ ConfigDefault.hook_method_ignore_classes = ConfigDefault.hook_method_ignore_classes;
237
+ ConfigDefault._hook_method_ignore_classes = ConfigDefault.hook_method_ignore_classes.replace('.', '/').split(',');
238
+
239
239
  module.exports = ConfigDefault;