Skip to content

Tiny Sentry client with idiomatic wrapper for Angular

License

Notifications You must be signed in to change notification settings

taiga-family/micro-sentry

micro-sentry

npm version

@micro-sentry/core size

@micro-sentry/browser size

@micro-sentry/angular size

@micro-sentry is a tiny sentry client to monitor your applications without raising your bundle size.

Why is it better than default sentry client?

👜 It is small. So, it is at most 2.27 kB (gzip) in size instead of default 85.1 kB (gzip), yet it retains all the the essential functionality.

🛠 It is easy to set up. There is a lightweight wrapper for Angular and a browser tool for other frameworks or vanilla.

Check out all the core functionality here.

Installation

Angular:

Micro-sentry version Angular version
>= 6 >= 14
>= 5 >= 13
>= 4 >= 12
>= 3 >= 11
>= 2 >= 10
npm i @micro-sentry/angular

Other:

npm i @micro-sentry/browser

Note

since version @micro-sentry/browser@7 breadcrumbs-plugin is a separate package

npm i @micro-sentry/breadcrumbs-plugin

How to set up

Angular

You can use provide api in standalone applications:

import { provideMicroSentry } from '@micro-sentry/angular';

bootstrapApplication(AppComponent, {
  providers: [
    provideMicroSentry({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
});

Or add it into app.module.ts of your application:

import { MicroSentryModule } from '@micro-sentry/angular';

@NgModule({
  imports: [
    // options 1: via module
    MicroSentryModule.forRoot({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
  providers: [
    // option 2: via provide
    provideMicroSentry({
      dsn: 'https://kj12kj1n23@sentry.domain.com/123',
    }),
  ],
})
export class AppModule {}

Javascript / Typescript

If you do not use Angular framework, you can install @micro-sentry/browser module to create client manually.

const client = new BrowserMicroSentryClient({
  dsn: 'https://kj12kj1n23@sentry.domain.com/123',
});

try {
  // your app code
} catch (e) {
  client.report(e);
}

Core Functionality

  • 📤 Send Errors with Stack Trace
  • 📩 Send Messages
  • 🚫 Ignore URLs | Errors: With strings or RegExps
  • 🍞 Breadcrumbs plugin: Track and manage the sequence of events leading up to an error for comprehensive debugging
  • 🌟 Enrich Errors with Tags, User, Context: Augment error reports with additional context, user information, and tags for deeper insights

This list encapsulates the key functionalities supported by micro-sentry, emphasizing its focus on essential error tracking and management.

Core team

Igor Katsuba
Igor Katsuba
Roman Sedov
Roman Sedov

License

🆓 Feel free to use our library in your commercial and private applications

All micro-sentry packages are covered by Apache 2.0

Read more about this license here