- it’s more fun
- you can take advantage of Dart’s support for static type checking
- you can make use of Dart’s isolates (think F# mailbox or Erlang processes, isolates is Dart’s implementation of Carl Hewitt’s actor model) to abstract over making concurrent requests and handling retries, etc.
- it’s more fun!
Update 05/07/2014 : I had previously stated that raven-js had dependencies on jQuery, ember, etc. that was incorrect. As they were in fact raven-js plugins for those frameworks (as stated in its Plugins documentation page here) and the raven-js itself doesn’t have any dependencies.
Operational params can be used to customize the behaviour of captureMessage and captureException, such as adding tags, or other metadata to go along with the events.
Following the official guidelines on writing a Sentry client, the library supports:
- DSN configuration via constructor argument
- null means disabled
- Graceful failure handling
- fallback to logging to console when Sentry is disabled
- retry on error (except for HTTP status codes 400, 401, 403, and 503)
- configurable max no. of retries
- exponential delay when retrying
- temporarily disable if Sentry is unavailable (503)
- Support for tagging
- common tags can be provided in the client constructor
- additional tags are supplied for each event
- when common and event-specific tags overlap, both are sent as part of the event
- Non-blocking event submission
- events are sent to available isolates in round-robin fashion, whom then process them asynchronously and concurrently
- configurable level of concurrency per core which determines number of isolates running at the same time
- Basic data sanitization/scrubbing
- credit card number-like fields are scrubbed
- Sentry key and secrets are scrubbed
- Values that look like passwords or secrets are scrubbed
Please give it a try and let me know what you think, if you find any bugs or have feedbacks in general, feel free to add them to the issues page.
I specialise in rapidly transitioning teams to serverless and building production-ready services on AWS.
Are you struggling with serverless or need guidance on best practices? Do you want someone to review your architecture and help you avoid costly mistakes down the line? Whatever the case, I’m here to help.
Check out my new course, Complete Guide to AWS Step Functions. In this course, we’ll cover everything you need to know to use AWS Step Functions service effectively. Including basic concepts, HTTP and event triggers, activities, callbacks, nested workflows, design patterns and best practices.
Here is a complete list of all my posts on serverless and AWS Lambda. In the meantime, here are a few of my most popular blog posts.
- Lambda optimization tip – enable HTTP keep-alive
- You are thinking about serverless costs all wrong
- Many faced threats to Serverless security
- We can do better than percentile latencies
- I’m afraid you’re thinking about AWS Lambda cold starts all wrong
- Yubl’s road to Serverless
- AWS Lambda – should you have few monolithic functions or many single-purposed functions?
- AWS Lambda – compare coldstart time with different languages, memory and code sizes
- Guys, we’re doing pagination wrong