@@ -52,23 +52,42 @@ def write_error_sync(self, status_code, **kwargs):
5252 self .logger .debug (f'write error { data } ' )
5353 self .finish ()
5454
55+ def get_record_application_id (self ):
56+ return self .application_id
57+
58+ def get_record_trace_id (self ):
59+ return self .trace_id
60+
61+ def get_record_api_id (self ):
62+ return self .api_id
63+
64+ def get_record_task_id (self ):
65+ return self .task_id
66+
67+ def get_record_request (self ):
68+ return {
69+ 'body' : self .request .body .decode ('utf-8' ),
70+ 'json' : json .loads (self .request .body ),
71+ 'headers' : dict (self .request .headers ),
72+ 'method' : self .request .method ,
73+ }
74+
75+ def get_record_response (self ):
76+ return {
77+ 'status' : self .get_status (),
78+ }
79+
5580 @logger .catch
56- def record (self , data , extra_data = {}):
81+ def record (self , extra_data = {}):
5782 record_server_url = RECORD_SERVER_URL
5883 self .logger .debug (f'record url { record_server_url } ' )
5984 data = {
60- 'status' : data .get ('status' ),
61- 'trace_id' : self .trace_id ,
62- 'application_id' : self .application_id ,
63- 'metadata' : {
64- 'task_id' : self .task_id ,
65- },
66- 'request' : {
67- 'body' : self .request .body .decode ('utf-8' ),
68- 'json' : json .loads (self .request .body ),
69- 'query' : self .request .query_arguments ,
70- 'headers' : dict (self .request .headers ),
71- }
85+ 'trace_id' : self .get_record_trace_id (),
86+ 'application_id' : self .get_record_application_id (),
87+ 'api_id' : self .get_record_api_id (),
88+ 'task_id' : self .get_record_task_id (),
89+ 'request' : self .get_record_request (),
90+ 'response' : self .get_record_response ()
7291 }
7392 data .update (extra_data )
7493 logger .debug (f'{ self .trace_id } record data { data } ' )
@@ -81,6 +100,12 @@ def initialize_trace_id(self):
81100 'utf-8' ) if trace_id and len (trace_id ) > 0 else str (uuid4 ())
82101 logger .debug (f'trace id { self .trace_id } ' )
83102
103+ def initialize_api_id (self ):
104+ api_id = self .request .query_arguments .get ('api_id' )
105+ self .api_id = api_id [0 ].decode (
106+ 'utf-8' ) if api_id and len (api_id ) > 0 else None
107+ logger .debug (f'api id { self .api_id } ' )
108+
84109 def initialize_application_id (self ):
85110 application_id = self .request .query_arguments .get ('application_id' )
86111 self .application_id = application_id [0 ].decode (
@@ -95,3 +120,4 @@ def initialize(self):
95120 self .initialize_trace_id ()
96121 self .initialize_task_id ()
97122 self .initialize_application_id ()
123+ self .initialize_api_id ()
0 commit comments