whatap-python 1.7.4__tar.gz → 1.7.5__tar.gz
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.
Potentially problematic release.
This version of whatap-python might be problematic. Click here for more details.
- {whatap_python-1.7.4 → whatap_python-1.7.5}/PKG-INFO +8 -2
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/__init__.py +26 -1
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/agent/linux/amd64/whatap_python +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/agent/linux/arm64/whatap_python +0 -0
- whatap_python-1.7.5/whatap/build.py +4 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_wsgi.py +31 -16
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/PKG-INFO +8 -2
- whatap_python-1.7.4/whatap/build.py +0 -4
- {whatap_python-1.7.4 → whatap_python-1.7.5}/README.md +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/setup.cfg +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/setup.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/LICENSE +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/README.rst +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/__main__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/agent/darwin/amd64/whatap_python +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/agent/darwin/arm64/whatap_python +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/bootstrap/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/bootstrap/sitecustomize.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/conf/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/conf/configuration.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/conf/configure.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/conf/license.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/control/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/counter/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/counter/counter_manager.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/counter/tasks/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/counter/tasks/openfiledescriptor.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/io/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/io/data_inputx.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/io/data_outputx.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/async_sender.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/packet_enum.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/packet_type_enum.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/param_def.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/stackhelper.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/udp_session.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/net/udp_thread.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/pack/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/pack/logSinkPack.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/pack/pack.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/pack/pack_enum.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/pack/tagCountPack.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/scripts/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/amqp_kombu.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/amqp_pika.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_bottle.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_celery.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_cherrypy.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_django.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_django_asgi.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_django_py3.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_fastapi.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_flask.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_frappe.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_graphql.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_nameko.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/application_tornado.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_cxoracle.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_mongo.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_mysql.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_postgresql.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_redis.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/database_toolkit.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/email_smtp.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/httpc_django.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/httpc_httplib.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/httpc_requests.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/httpc_urllib3.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/logging.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/mod/plugin.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/simple_trace_context.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/trace_context.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/trace_context_manager.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/trace_import.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/trace/trace_module_definition.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/bit_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/cardinality/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/cardinality/hyperloglog.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/cardinality/murmurhash.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/cardinality/registerset.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/compare_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/date_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/debug_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/escape_literal_sql.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/hash_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/hexa32.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/int_set.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/ip_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/keygen.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/linked_list.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/linked_map.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/metering_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/request_double_queue.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/request_queue.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/string_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/throttle_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/util/userid_util.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/__init__.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/blob_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/boolean_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/decimal_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/double_summary.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/double_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/float_array.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/float_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/int_array.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/ip4_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/list_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/long_array.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/long_summary.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/map_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/null_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/number_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/summary_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/text_array.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/text_hash_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/text_value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/value.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/value/value_enum.py +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap/whatap.conf +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/SOURCES.txt +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/dependency_links.txt +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/entry_points.txt +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/not-zip-safe +0 -0
- {whatap_python-1.7.4 → whatap_python-1.7.5}/whatap_python.egg-info/top_level.txt +0 -0
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: whatap-python
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.5
|
|
4
4
|
Summary: Monitoring and Profiling Service
|
|
5
5
|
Home-page: https://www.whatap.io
|
|
6
6
|
Author: whatap
|
|
7
7
|
Author-email: admin@whatap.io
|
|
8
8
|
License: Whatap License
|
|
9
|
+
Dynamic: author
|
|
10
|
+
Dynamic: author-email
|
|
11
|
+
Dynamic: description
|
|
12
|
+
Dynamic: home-page
|
|
13
|
+
Dynamic: license
|
|
14
|
+
Dynamic: summary
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
.. image:: https://www.whatap.io/img/common/whatap_logo_re.svg
|
|
@@ -145,6 +145,8 @@ def write_file(home, file_name, value):
|
|
|
145
145
|
|
|
146
146
|
def check_whatap_home(target='WHATAP_HOME'):
|
|
147
147
|
whatap_home = os.environ.get(target)
|
|
148
|
+
if not whatap_home:
|
|
149
|
+
whatap_home = find_whatap_conf()
|
|
148
150
|
if not whatap_home:
|
|
149
151
|
whatap_print('WHATAP: ${} is empty'.format(target))
|
|
150
152
|
|
|
@@ -153,6 +155,8 @@ def check_whatap_home(target='WHATAP_HOME'):
|
|
|
153
155
|
|
|
154
156
|
def init_config(home):
|
|
155
157
|
whatap_home = os.environ.get(home)
|
|
158
|
+
if not whatap_home:
|
|
159
|
+
whatap_home = find_whatap_conf()
|
|
156
160
|
if not whatap_home:
|
|
157
161
|
whatap_home = read_file(home, home.lower())
|
|
158
162
|
if not whatap_home:
|
|
@@ -555,4 +559,25 @@ def configPort():
|
|
|
555
559
|
port = get_port_number()
|
|
556
560
|
if port:
|
|
557
561
|
update_config('WHATAP_HOME', 'net_udp_port', str(port))
|
|
558
|
-
return port
|
|
562
|
+
return port
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
def find_whatap_conf():
|
|
566
|
+
# 1. 현재 디렉토리 검색
|
|
567
|
+
script_dir = os.path.dirname(os.path.abspath(__file__))
|
|
568
|
+
parent_dir = os.path.dirname(script_dir)
|
|
569
|
+
conf_path = os.path.join(parent_dir, 'whatap.conf')
|
|
570
|
+
if os.path.exists(conf_path):
|
|
571
|
+
os.environ['WHATAP_HOME'] = parent_dir
|
|
572
|
+
return conf_path
|
|
573
|
+
|
|
574
|
+
# 2. 상위 디렉토리들 검색
|
|
575
|
+
current = parent_dir
|
|
576
|
+
while current != '/':
|
|
577
|
+
conf_path = os.path.join(current, 'whatap.conf')
|
|
578
|
+
if os.path.exists(conf_path):
|
|
579
|
+
os.environ['WHATAP_HOME'] = current
|
|
580
|
+
return conf_path
|
|
581
|
+
current = os.path.dirname(current)
|
|
582
|
+
|
|
583
|
+
return None
|
|
Binary file
|
|
Binary file
|
|
@@ -65,9 +65,7 @@ def trace_handler(fn, start=False, preload=None):
|
|
|
65
65
|
if ctx and ctx.error_step == e:
|
|
66
66
|
ctx.error_step = None
|
|
67
67
|
raise e
|
|
68
|
-
|
|
69
|
-
print(e, dict(extra={'id': 'WA917'}, exc_info=True))
|
|
70
|
-
return fn(*args, **kwargs)
|
|
68
|
+
raise
|
|
71
69
|
else:
|
|
72
70
|
if ctx and ctx.error_step:
|
|
73
71
|
e = ctx.error_step
|
|
@@ -157,8 +155,6 @@ def interceptor(rn_environ, *args, **kwargs):
|
|
|
157
155
|
ctx.userAgentString = environ.get('HTTP_USER_AGENT', '')
|
|
158
156
|
ctx.referer = environ.get('HTTP_REFERER', '')
|
|
159
157
|
|
|
160
|
-
|
|
161
|
-
|
|
162
158
|
if conf.trace_user_enabled:
|
|
163
159
|
if conf.trace_user_using_ip:
|
|
164
160
|
ctx.userid = userid_util.getRemoteAddr(args)
|
|
@@ -223,7 +219,7 @@ def interceptor(rn_environ, *args, **kwargs):
|
|
|
223
219
|
text = ''
|
|
224
220
|
for key in keys:
|
|
225
221
|
text += '{}={}\n'.format(key.split('HTTP_')[1].lower(),
|
|
226
|
-
|
|
222
|
+
environ[key])
|
|
227
223
|
|
|
228
224
|
datas = ['HTTP-HEADERS', 'HTTP-HEADERS', text]
|
|
229
225
|
ctx.start_time = DateUtil.nowSystem()
|
|
@@ -232,7 +228,8 @@ def interceptor(rn_environ, *args, **kwargs):
|
|
|
232
228
|
finally:
|
|
233
229
|
end_interceptor(ctx=ctx)
|
|
234
230
|
|
|
235
|
-
|
|
231
|
+
|
|
232
|
+
def interceptor_error(status_code, errors, ctx=None):
|
|
236
233
|
if not ctx:
|
|
237
234
|
ctx = TraceContextManager.getLocalContext()
|
|
238
235
|
if not ctx:
|
|
@@ -274,10 +271,8 @@ def interceptor_step_error(e, ctx=None):
|
|
|
274
271
|
errors = []
|
|
275
272
|
errors.append(e.__class__.__name__)
|
|
276
273
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
elif hasattr(e, "detail"):
|
|
280
|
-
errors.append(getattr(e, "detail"))
|
|
274
|
+
error_message = extract_db_error_message(e)
|
|
275
|
+
errors.append(error_message)
|
|
281
276
|
|
|
282
277
|
error = ''
|
|
283
278
|
frame = sys._current_frames().get(ctx.thread.ident)
|
|
@@ -294,7 +289,6 @@ def interceptor_step_error(e, ctx=None):
|
|
|
294
289
|
error += '{} ({}:{})\n'.format(method_name, line, line_num)
|
|
295
290
|
|
|
296
291
|
errors.append(error)
|
|
297
|
-
# errors.append(''.join(traceback.format_list(traceback.extract_stack(sys._current_frames()[ctx.thread.ident]))))
|
|
298
292
|
async_sender.send_packet(PacketTypeEnum.TX_ERROR, ctx, errors)
|
|
299
293
|
|
|
300
294
|
if conf.profile_exception_stack:
|
|
@@ -304,6 +298,27 @@ def interceptor_step_error(e, ctx=None):
|
|
|
304
298
|
async_sender.send_packet(PacketTypeEnum.TX_MSG, ctx, datas)
|
|
305
299
|
|
|
306
300
|
|
|
301
|
+
def extract_db_error_message(e):
|
|
302
|
+
try:
|
|
303
|
+
# PostgreSQL (psycopg2)
|
|
304
|
+
if hasattr(e, 'pgcode') and hasattr(e, 'pgerror'):
|
|
305
|
+
return str(e.pgerror)
|
|
306
|
+
|
|
307
|
+
# MySQL (PyMySQL, mysql-connector-python)
|
|
308
|
+
if hasattr(e, 'args') and len(e.args) > 1 and isinstance(e.args[1], str):
|
|
309
|
+
return e.args[1]
|
|
310
|
+
|
|
311
|
+
# 기본 에러 메시지
|
|
312
|
+
if hasattr(e, 'args') and len(e.args) > 0:
|
|
313
|
+
if isinstance(e.args[0], str):
|
|
314
|
+
return e.args[0]
|
|
315
|
+
return str(e.args[0])
|
|
316
|
+
|
|
317
|
+
return str(e)
|
|
318
|
+
except:
|
|
319
|
+
return "Unknown database error"
|
|
320
|
+
|
|
321
|
+
|
|
307
322
|
def interceptor_httpc_request(fn, httpc_url, *args, **kwargs):
|
|
308
323
|
ctx = TraceContextManager.getLocalContext()
|
|
309
324
|
if not ctx or ctx.active_httpc_hash:
|
|
@@ -311,7 +326,7 @@ def interceptor_httpc_request(fn, httpc_url, *args, **kwargs):
|
|
|
311
326
|
return fn(*args, **kwargs)
|
|
312
327
|
except Exception as e:
|
|
313
328
|
interceptor_step_error(e, ctx=ctx)
|
|
314
|
-
finally:
|
|
329
|
+
finally:
|
|
315
330
|
return
|
|
316
331
|
param = None
|
|
317
332
|
method = None
|
|
@@ -387,7 +402,7 @@ def interceptor_db_con(fn, db_type, *args, **kwargs):
|
|
|
387
402
|
text = '{}://'.format(db_type)
|
|
388
403
|
text += kwargs.get('user')
|
|
389
404
|
text += "@"
|
|
390
|
-
text += kwargs.get('host',kwargs.get('dsn','')
|
|
405
|
+
text += kwargs.get('host', kwargs.get('dsn', ''))
|
|
391
406
|
text += '/'
|
|
392
407
|
text += kwargs.get('database', kwargs.get('db', kwargs.get('dbname', '')))
|
|
393
408
|
ctx.active_dbc = text
|
|
@@ -485,7 +500,7 @@ def interceptor_db_close(fn, *args, **kwargs):
|
|
|
485
500
|
return
|
|
486
501
|
start_time = DateUtil.nowSystem()
|
|
487
502
|
ctx.start_time = start_time
|
|
488
|
-
|
|
503
|
+
|
|
489
504
|
try:
|
|
490
505
|
callback = fn(*args, **kwargs)
|
|
491
506
|
return callback
|
|
@@ -496,7 +511,7 @@ def interceptor_db_close(fn, *args, **kwargs):
|
|
|
496
511
|
datas = [' ', ' ', text]
|
|
497
512
|
ctx.elapsed = DateUtil.nowSystem() - start_time
|
|
498
513
|
async_sender.send_packet(PacketTypeEnum.TX_MSG, ctx, datas)
|
|
499
|
-
|
|
514
|
+
|
|
500
515
|
|
|
501
516
|
check_seq = 1
|
|
502
517
|
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: whatap-python
|
|
3
|
-
Version: 1.7.
|
|
3
|
+
Version: 1.7.5
|
|
4
4
|
Summary: Monitoring and Profiling Service
|
|
5
5
|
Home-page: https://www.whatap.io
|
|
6
6
|
Author: whatap
|
|
7
7
|
Author-email: admin@whatap.io
|
|
8
8
|
License: Whatap License
|
|
9
|
+
Dynamic: author
|
|
10
|
+
Dynamic: author-email
|
|
11
|
+
Dynamic: description
|
|
12
|
+
Dynamic: home-page
|
|
13
|
+
Dynamic: license
|
|
14
|
+
Dynamic: summary
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
.. image:: https://www.whatap.io/img/common/whatap_logo_re.svg
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|