Open
Conversation
This is an initial commit of a @bugsnag/js plugin for Azure Functions. It wraps the Azure Functions handler and catches unhandled exceptions. It also automatically adds the Azure Functions context to any errors reported to Bugsnag. This plugin is based on the AWS Lambda plugin. Basic unit tests are included.
Contributor
|
Hi @dpolivy, thanks for the PR! We'll look to get this reviewed as soon as priorities allow. |
If two function invocations overlap, it is possible the context sent on an error contains incorrect data. Imagine this sequence:
1. Func 1 starts
2. Func 2 starts
3. Func 1 throws an error
In this scenario, since we're using a per-process client, the context reported with the error is a combination of function 1 and function 2 context.
To address this, we treat the scenario similar to the express plugin, and clone the client for each invocation so the metadata associated with it is correct.
This also adds a bugsnag property to the context, which the function can use to notify of errors (and have context included automatically).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
This is an initial commit of a @bugsnag/js plugin for Azure Functions. It wraps the Azure Functions handler and catches unhandled exceptions. It also automatically adds the Azure Functions context to any errors reported to Bugsnag.
Design
This plugin is based on the AWS Lambda plugin. It exports a function to create a wrapper function which can be used around the individual Azure Functions handler.
I'm not very familiar with this codebase so I took my best guess on appropriate changes to integrate it based on the AWS Lambda plugin. Hopefully it provides a good starting point to getting this incorporated!
Changeset
A new plugin was added for Azure Functions
Testing
Basic unit tests are included, based on the AWS Lambda unit tests. I don't have the proper environment to be able to do much more e2e testing.