public void handleRequest()

in aws-xray-agent/src/main/java/com/amazonaws/xray/agent/runtime/handlers/downstream/AWSV2Handler.java [62:85]


    public void handleRequest(Event event) {
        AwsServiceDownstreamRequestEvent requestEvent = (AwsServiceDownstreamRequestEvent) event;
        String serviceName = requestEvent.getService();
        String operationName = requestEvent.getOperation();
        String region = requestEvent.getRegion();

        // Avoid throwing if name isn't present. HTTP interceptor will pick this up instead
        if (serviceName == null) {
            return;
        }

        // Begin subsegment
        Subsegment subsegment = beginSubsegment(serviceName);
        subsegment.setNamespace(Namespace.AWS.toString());
        subsegment.putAws(EntityDataKeys.AWS.OPERATION_KEY, operationName);
        subsegment.putAws(EntityDataKeys.AWS.REGION_KEY, region);

        // Trace propagation
        TraceHeader traceHeader = buildTraceHeader(subsegment);
        requestEvent.replaceHeader(TraceHeader.HEADER_KEY, traceHeader.toString());

        Map<String, Object> parameterMap = extractRequestParameters(requestEvent);
        subsegment.putAllAws(parameterMap);
    }