Instantiate the Java Serverless Tracer

Warning: Automatic instantiation is compatible with RequestStreamHandler interfaces. All other interfaces require manual instantiation.

RequestStreamHandler is a predefined handler provided by AWS. See AWS documentation for more information.

To automatically instantiate the tracer:

  1. Make your current handler class extend Splunk AppDynamics MonitoredRequestStreamHandler.
  2. Rename your handler class's existing method handleMonitoredRequest.
    The code snippet demonstrates how to instantiate the tracer automatically:
    package <MyTestPackage>;
    import com.amazonaws.services.lambda.runtime.Context;
    import com.amazonaws.services.lambda.runtime.RequestHandler;
     
    //AppDynamics tracer imports
    import com.appdynamics.serverless.tracers.aws.api.AppDynamics;
    import com.appdynamics.serverless.tracers.aws.api.MonitoredRequestStreamHandler;
    import com.appdynamics.serverless.tracers.aws.api.ExitCall;
    import com.appdynamics.serverless.tracers.aws.api.Tracer;
    import com.appdynamics.serverless.tracers.aws.api.Transaction;
    
    //Keyword extends makes MonitoredRequestStreamHanlder your project's superclass
    public class <MaryHadALittleLambda> extends MonitoredRequestStreamHandler {
        
       @Override
    	//Change your method to handleMonitoredRequest
        public void handleMonitoredRequest(InputStream input, OutputStream output, Context context) throws IOException {
        	}
    
            // Your AWS Lambda function code starts here, for example
    		int letter = 0;
    		while((letter = input.read()) >= 0) {
    			output.write(Character.toUpperCase(letter));
            }
        }