def finish_invocation(self, execution_context): """Finish invocation. Args: execution_context (TestSuiteExecutionContext | TestSuiteExecutionContext): Execution context """ try: wrapper_utils.finish_invocation(execution_context) except Exception as err: logger.error("finish invocation error: {}".format(err)) pass
def finish_invocation(execution_context): wrapper_utils.finish_invocation(execution_context) invocation_data = execution_context.invocation_data # Set response status code wrapper_utils.set_response_status(execution_context, get_response_status(execution_context)) context = execution_context.platform_data['originalContext'] _, used_mem = utils.process_memory_usage() used_mem_in_mb = used_mem / 1048576 # Get outgoing trace links outgoing_trace_links = invocation_trace_support.get_outgoing_trace_links() # Inject trace link to response and add it to outgoing trace links for STEPFUNCTIONS inject_step_function_info(execution_context, outgoing_trace_links) # Inject trace link to response and add it to outgoing trace links for APPSYNC inject_appsync_function_info(execution_context, outgoing_trace_links) invocation_data.update(outgoing_trace_links) invocation_data['timeout'] = execution_context.timeout arn = getattr(context, constants.CONTEXT_INVOKED_FUNCTION_ARN, None) # Add AWS tags invocation_data['tags']['aws.region'] = utils.get_aws_region_from_arn( getattr(context, constants.CONTEXT_INVOKED_FUNCTION_ARN, None)) invocation_data['tags']['aws.lambda.name'] = getattr(context, constants.CONTEXT_FUNCTION_NAME, None) invocation_data['tags']['aws.lambda.arn'] = arn invocation_data['tags']['aws.account_no'] = utils.get_aws_account_no(arn) invocation_data['tags']['aws.lambda.memory_limit'] = int(getattr(context, constants.CONTEXT_MEMORY_LIMIT_IN_MB, 0)) invocation_data['tags']['aws.lambda.log_group_name'] = getattr(context, constants.CONTEXT_LOG_GROUP_NAME, None) invocation_data['tags']['aws.lambda.log_stream_name'] = getattr(context, constants.CONTEXT_LOG_STREAM_NAME, None) invocation_data['tags']['aws.lambda.invocation.coldstart'] = invocation_data['coldStart'] invocation_data['tags']['aws.lambda.invocation.timeout'] = execution_context.timeout invocation_data['tags']['aws.lambda.invocation.request_id'] = getattr(context, constants.CONTEXT_AWS_REQUEST_ID, None) invocation_data['tags']['aws.lambda.invocation.memory_usage'] = math.floor(used_mem_in_mb) xray_info = utils.parse_x_ray_trace_info() if xray_info.get("trace_id"): invocation_data['tags']['aws.xray.trace.id'] = xray_info.get("trace_id") if xray_info.get("segment_id"): invocation_data['tags']['aws.xray.segment.id'] = xray_info.get("segment_id") execution_context.invocation_data = invocation_data
def finish_invocation(execution_context): wrapper_utils.finish_invocation(execution_context) # Set response status code wrapper_utils.set_response_status(execution_context, get_response_status(execution_context))