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:
- Make your current handler class extend Splunk AppDynamics
MonitoredRequestStreamHandler.
- 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));
}
}