in aws_xray_sdk/ext/boto_utils.py [0:0]
def aws_meta_processor(wrapped, instance, args, kwargs,
return_value, exception, subsegment, stack):
region = instance.meta.region_name
if 'operation_name' in kwargs:
operation_name = kwargs['operation_name']
else:
operation_name = args[0]
aws_meta = {
'operation': operation_name,
'region': region,
}
if return_value:
resp_meta = return_value.get('ResponseMetadata')
if resp_meta:
aws_meta['request_id'] = resp_meta.get('RequestId')
subsegment.put_http_meta(http.STATUS,
resp_meta.get('HTTPStatusCode'))
# for service like S3 that returns special request id in response headers
if 'HTTPHeaders' in resp_meta and resp_meta['HTTPHeaders'].get('x-amz-id-2'):
aws_meta['id_2'] = resp_meta['HTTPHeaders']['x-amz-id-2']
elif exception:
_aws_error_handler(exception, stack, subsegment, aws_meta)
_extract_whitelisted_params(subsegment.name, operation_name,
aws_meta, args, kwargs, return_value)
subsegment.set_aws(aws_meta)