@SdkInternalApi
    final GetTestGridSessionResult executeGetTestGridSession(GetTestGridSessionRequest getTestGridSessionRequest) {

        ExecutionContext executionContext = createExecutionContext(getTestGridSessionRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<GetTestGridSessionRequest> request = null;
        Response<GetTestGridSessionResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new GetTestGridSessionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getTestGridSessionRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Device Farm");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTestGridSession");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            HttpResponseHandler<AmazonWebServiceResponse<GetTestGridSessionResult>> responseHandler = protocolFactory.createResponseHandler(
                    new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetTestGridSessionResultJsonUnmarshaller());
            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
A session is an instance of a browser created through a <code>RemoteWebDriver</code> with the URL from
<a>CreateTestGridUrlResult$url</a>. You can use the following to look up sessions:
</p>
<ul>
<li>
<p>
The session ARN (<a>GetTestGridSessionRequest$sessionArn</a>).
</p>
</li>
<li>
<p>
The project ARN and a session ID (<a>GetTestGridSessionRequest$projectArn</a> and
<a>GetTestGridSessionRequest$sessionId</a>).
</p>
</li>
</ul>
<p/>

@param getTestGridSessionRequest
@return Result of the GetTestGridSession operation returned by the service.
@throws NotFoundException
        The specified entity was not found.
@throws ArgumentException
        An invalid argument was specified.
@throws InternalServiceException
        An internal exception was raised in the service. Contact <a
        href="mailto:aws-devicefarm-support@amazon.com">aws-devicefarm-support@amazon.com</a> if you see this
        error.
@sample AWSDeviceFarm.GetTestGridSession
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession" target="_top">AWS
     API Documentation</a>
aws-java-sdk-devicefarm/src/main/java/com/amazonaws/services/devicefarm/AWSDeviceFarmClient.java