@@ -191,13 +191,30 @@ class ApiClient(object):
191
191
url = _host + resource_path
192
192
193
193
# perform request and return response
194
- response_data = { {#asyncio} }await { {/asyncio} }{ {#tornado} }yield { {/tornado} }self.retrying.call(fn=self.request, method=method, url=url,
195
- query_params=query_params,
196
- headers=header_params,
197
- post_params=post_params,
198
- body=body,
199
- _preload_content=_preload_content,
200
- _request_timeout=_request_timeout)
194
+ try:
195
+ response_data = { {#asyncio} }await { {/asyncio} }{ {#tornado} }yield { {/tornado} }self.retrying.call(fn=self.request, method=method, url=url,
196
+ query_params=query_params,
197
+ headers=header_params,
198
+ post_params=post_params,
199
+ body=body,
200
+ _preload_content=_preload_content,
201
+ _request_timeout=_request_timeout)
202
+ except Exception as exception:
203
+ self._sdk_request_details = {
204
+ " query_params" : query_params,
205
+ " headers" : header_params,
206
+ " post_params" : post_params,
207
+ " body" : body,
208
+ " _preload_content" : _preload_content,
209
+ " _request_timeout" : _request_timeout
210
+ }
211
+ self.sdk_metric_publisher.build_metric(transaction_id=config.metrics_transaction_id,
212
+ duration=datetime.datetime.now() - self._request_start_time,
213
+ resource_path=url, error_type=type(exception),
214
+ error_message=str(exception),
215
+ sdk_request_details=self._sdk_request_details,
216
+ sdk_result_details="An Exception Was Thrown!")
217
+ raise exception
201
218
202
219
self.last_response = response_data
203
220
0 commit comments