# betterjs/badjs-report

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/betterjs-badjs-report).**

1,135 stars · 189 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/BetterJS/badjs-report
- awesome-repositories: https://awesome-repositories.com/repository/betterjs-badjs-report.md

## Description

Badjs-report is a client-side JavaScript library designed to capture, manage, and report runtime exceptions and telemetry data from web applications to a remote server. It functions as a diagnostic framework that automatically intercepts global errors and wraps asynchronous operations to ensure that issues are tracked without requiring manual instrumentation throughout the codebase.

The library distinguishes itself through its focus on traffic optimization and data reliability. It employs deduplication logic to suppress redundant error reports and applies probabilistic sampling to manage the volume of diagnostic data sent to the server. To ensure data integrity during unstable network conditions, the library utilizes local storage to queue reports, automatically synchronizing them once connectivity is restored.

Beyond core exception tracking, the library supports the logging of custom events and user activity. This allows for the collection of contextual information alongside error reports, providing visibility into application state and performance during the development or production lifecycle.

## Tags

### System Administration & Monitoring

- [Frontend Monitoring Tools](https://awesome-repositories.com/f/system-administration-monitoring/web-application-error-tracking/frontend-monitoring-tools.md) — Captures and reports client-side JavaScript exceptions to a remote server to help developers identify and fix production bugs.
- [Application Logging](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/telemetry-and-log-collectors/application-logging.md) — Tracks custom events and user activity logs alongside error reports to provide context for debugging complex application state issues.
- [Automatic Error Logging](https://awesome-repositories.com/f/system-administration-monitoring/error-logging-utilities/automatic-error-logging.md) — Intercepts global application errors automatically to report diagnostic information to a remote server without requiring manual try-catch blocks. ([source](https://github.com/betterjs/badjs-report#readme))
- [Offline Error Queues](https://awesome-repositories.com/f/system-administration-monitoring/error-logging-utilities/automatic-error-logging/offline-error-queues.md) — Stores error reports on the local device when the network is unavailable and automatically synchronizes them to the server once connectivity is restored. ([source](https://github.com/betterjs/badjs-report#readme))
- [Error Reporting](https://awesome-repositories.com/f/system-administration-monitoring/error-reporting.md) — Reduces noise by deduplicating identical error reports and applying sampling rates to control the total volume of data sent to the monitoring server. ([source](https://github.com/betterjs/badjs-report#readme))
- [Diagnostic Traffic Controllers](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/diagnostic-error-reporting/diagnostic-traffic-controllers.md) — Manages the volume of diagnostic data by deduplicating identical errors and applying sampling rates to optimize server-side monitoring costs.
- [Telemetry Collectors](https://awesome-repositories.com/f/system-administration-monitoring/telemetry-collectors.md) — Provides a data collection framework that manages error reporting volume through deduplication and sampling to optimize network traffic and server load.

### Software Engineering & Architecture

- [JavaScript Error Trackers](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/error-management/runtime-error-trackers/javascript-error-trackers.md) — Intercepts global errors and asynchronous callbacks to provide visibility into runtime issues within web applications.
- [Global Exception Handlers](https://awesome-repositories.com/f/software-engineering-architecture/global-exception-handlers.md) — Hooks into the runtime error handler to automatically capture unhandled exceptions and stack traces without requiring manual instrumentation.
- [Asynchronous Exception Wrappers](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/exception-logic-structures/exception-handling-strategies/exception-handling-policies/asynchronous-exception-handlers/asynchronous-exception-wrappers.md) — Wraps third-party library methods and asynchronous callbacks to ensure exceptions occurring within these specific contexts are caught and reported correctly. ([source](https://github.com/betterjs/badjs-report#readme))

### Artificial Intelligence & ML

- [Diagnostic](https://awesome-repositories.com/f/artificial-intelligence-ml/probabilistic-modeling/sampling-controls/diagnostic.md) — Applies configurable rate-limiting logic to incoming error streams to manage server load and reduce data volume during high-traffic events.

### Data & Databases

- [Client-Side Deduplication](https://awesome-repositories.com/f/data-databases/server-side-deduplication-engines/client-side-deduplication.md) — Analyzes error signatures in memory to suppress redundant reports and minimize network traffic before sending data to the server.

### Operating Systems & Systems Programming

- [Asynchronous Callback Wrappers](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-apis/callback-based/callback-wrapping/asynchronous-callback-wrappers.md) — Wraps native timer and promise functions to inject error-catching logic into the execution flow of asynchronous application code.

### Programming Languages & Runtimes

- [Asynchronous Error Handling](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/core-conceptual-frameworks/programming-concepts/asynchronous-error-handling.md) — Wraps callbacks and third-party library methods to ensure that errors occurring within asynchronous operations are captured and reported reliably.

### User Interface & Experience

- [Browser Local Storage Management](https://awesome-repositories.com/f/user-interface-experience/browser-local-storage-management.md) — Persists diagnostic data in browser storage to ensure error reports survive page reloads and network outages before eventual synchronization.

### Web Development

- [Offline Synchronization](https://awesome-repositories.com/f/web-development/state-synchronization/client-side-caching/offline-synchronization.md) — Stores error data locally during network outages and automatically transmits logs once connectivity is restored.
