Skip to content

Commit c1beb56

Browse files
committed
fix: #18 better stacktrace example
1 parent 2c157bc commit c1beb56

File tree

3 files changed

+29
-10
lines changed

3 files changed

+29
-10
lines changed

example/README.md

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,20 +57,36 @@ RaygunError
5757
5858
Response
5959
{
60-
"errorType": "string",
60+
"errorType": "Error",
6161
"errorMessage": "It's an AWS error!",
62-
"trace": []
62+
"trace": [
63+
"Error: It's an AWS error!",
64+
" at /var/task/index.js:10:11",
65+
" at /var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:68:42",
66+
" at step (/var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:33:23)",
67+
" at Object.next (/var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:14:53)",
68+
" at /var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:8:71",
69+
" at new Promise (<anonymous>)",
70+
" at __awaiter (/var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:4:12)",
71+
" at runHandler (/var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:59:12)",
72+
" at /var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:123:35",
73+
" at step (/var/task/node_modules/@raygun.io/aws-lambda/build/raygun.aws.js:33:23)"
74+
]
6375
}
6476
6577
Function Logs
78+
2024-06-18T08:48:13.081Z raygun [raygun.breadcrumbs.ts] initialized successfully
79+
2024-06-18T08:48:13.130Z raygun [raygun.ts] Client initialized
6680
START RequestId: xyz Version: $LATEST
67-
2024-06-06T08:33:41.023Z raygun [raygun.breadcrumbs.ts] running async function with breadcrumbs
68-
2024-06-06T08:33:41.062Z raygun [raygun.breadcrumbs.ts] recorded breadcrumb: xyz
69-
2024-06-06T08:33:41.063Z raygun [raygun.messageBuilder.ts] Added breadcrumbs: 1
70-
2024-06-06T08:33:41.542Z xyz ERROR Invoke Error {"errorType":"Error","errorMessage":"AWS Error from callback!","stack":["Error: AWS Error from callback!"," ....
71-
2024-06-06T08:33:41.542Z raygun [raygun.ts] Successfully sent message (duration=479ms)
81+
2024-06-18T08:48:13.135Z raygun [raygun.breadcrumbs.ts] enter with new store
82+
2024-06-18T08:48:13.151Z raygun [raygun.breadcrumbs.ts] recorded breadcrumb: [object Object]
83+
2024-06-18T08:48:13.152Z raygun [raygun.breadcrumbs.ts] recorded breadcrumb: [object Object]
84+
2024-06-18T08:48:13.152Z raygun [raygun.breadcrumbs.ts] recorded breadcrumb: [object Object]
85+
2024-06-18T08:48:13.210Z raygun [raygun.messageBuilder.ts] Added breadcrumbs: 3
86+
2024-06-18T08:48:14.024Z xyz ERROR Invoke Error {"errorType":"Error","errorMessage":"It's an AWS error!","stack":["Error: It's an AWS error!"," at /var/task/index.js:10:11"," ...
87+
2024-06-18T08:48:14.024Z raygun [raygun.ts] Successfully sent message (duration=813ms)
7288
END RequestId: xyz
73-
REPORT RequestId: xyz Duration: 627.86 ms Billed Duration: 628 ms Memory Size: 128 MB Max Memory Used: 78 MB
89+
REPORT RequestId: xyz Duration: 917.62 ms Billed Duration: 918 ms Memory Size: 128 MB Max Memory Used: 78 MB Init Duration: 189.88 ms
7490
7591
Request ID
7692
xyz

example/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ exports.handler = awsHandler({ client }, async function (event, context) {
77
client.addBreadcrumb("breadcrumb on event received");
88
if (event["error"]) {
99
client.addBreadcrumb("event has error data!");
10-
throw "It's an AWS error!";
10+
throw Error("It's an AWS error!");
1111
} else {
1212
return "all good!";
1313
}

lib/raygun.aws.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,11 @@ async function runHandler<TEvent, TResult>(
5858
tags,
5959
};
6060

61-
if (e instanceof Error || typeof e === "string") {
61+
if (e instanceof Error) {
6262
await awsHandlerConfig.client.send(e, sendParams);
63+
} else if(typeof e === "string") {
64+
// Wrap string exceptions in Error
65+
await awsHandlerConfig.client.send(Error(e), sendParams);
6366
} else {
6467
await awsHandlerConfig.client.send(`AWS Handler error: ${e}`, sendParams);
6568
}

0 commit comments

Comments
 (0)