AWS Lambda Debugging for Serverless Node.js
- 4.Start the debug session in your IDE and invoke your function. Thundra Debugger will establish the connection between the IDE and your Lambda function using your authentication token and the session name.
A small configuration is needed in order to work with TypeScript files.
Another thing to make sure of is that to match your local build folder structure to the remote. Unfortunately, it's hard to make assumptions about the user's folder structure. So, it's best to make this manually at the moment. Putting
"rootDir": "."in your
.tsconfigfile should compile your files to match the folder structure.
For example, if your code is in
src/api/hello.tsfile, AWS Lambda will put the compiled code under
src/api/hello.jsand specifying the root directory in your
.tsconfigwill compile your code under, let's say
By changing the local root of our plugin to
./build, you are ready to start debugging your function.
The fastest way to enable the Thundra Debugger for a Lambda function is to set the
thundra_agent_lambda_debugger_auth_tokenenvironment variable to the authentication token that you receive from the Thundra console. By doing this, Thundra will start your function in debug mode and you will be able to connect your function from your IDE to start the debugging session.
The AWS Lambda Debugging feature is disabled by default. However, if you want to manually disable it, you can set the
thundra_agent_lambda_debugger_enableenvironment variable to false. This ensures that even if you have
thundra_agent_lambda_debugger_auth_token, AWS Lambda Debugging will still be disabled.
In order to match the two ends of an AWS Lambda Debugging session (your Lambda function invocation and your local IDE), Thundra uses session names. When you enable online debugging in your Lambda function, the session name is set to the predefined value
default. If you want to use another session name, you can specify it using the
Thundra’s broker establishes communication between your Lambda function and your IDE debugger by receiving data from the Lambda function and then forwarding it to your IDE. To reduce overhead during this transmission process, you need to select a debugger that provides the shortest pathway between your Lambda and IDE. Similarly, the broker host needs to be close to your Lambda function or your IDE location.
Thundra provides a broker host in Oregon by default, but we also support different broker hosts (listed below). You can select a broker host and set it to the
thundra_agent_lambda_debugger_broker_hostenvironment variable to reduce latency during a debugging session.
The number of debugging sessions an account can perform is limited for now. Currently, you can start two concurrent debugging sessions at a time. Contact us at [email protected] if you want to increase your concurrent session limits.