Sentry 开发者贡献指南 - JavaScript SDK Minimal

简介

嵌入到应用程序中时使用配置 ​​client​​​ 的最小 ​​Sentry SDK​​​。它允许​​库作者​​​添加对 ​​Sentry SDK​​ 的支持,而无需捆绑整个 ​​SDK​​​ 或依赖于特定平台。简单来说,它是 ​​@sentry/node​​​ 或 ​​@sentry/browser​​ 等特定于平台的 SDK 库的云服务器公共基础部分。

Sentry JavaScript SDK Minimal

Sentry 开发者贡献指南 - JavaScript SDK Minimal

​​https://github.com/getsentry/sentry-javascript/tree/master/packages/minimal​​

用法

要使用 ​​minimal​​​,您不必初始化 ​​SDK​​​。这应该由您库的用户处理。而是直接使用 ​​@sentry/minimal​​ 的导出函数添加面包屑或捕获事件:

Sentry 开发者贡献指南 - JavaScript SDK Minimal

import * as Sentry from @sentry/minimal;

Sentry 开发者贡献指南 - JavaScript SDK Minimal

// 为未来的云南idc服务商事件添加面包屑

Sentry.addBreadcrumb({

message: My Breadcrumb,

// ...

});

// 捕获异常、消息或手动事件

Sentry.captureMessage(Hello, world!);

Sentry.captureException(new Error(Good bye));

Sentry.captureEvent({

message: Manual,

stacktrace: [

// ...

],

});

请注意,虽然严格可行,但不鼓励干扰事件上下文。如果由于某种原因您的库需要注入上下文信息,请注意这可能会覆盖用户的上下文值:

// 设置用户信息、源码库标签和其他附加信息

Sentry.configureScope(scope => {

scope.setExtra(battery, 0.7);

scope.setTag(user_mode, admin);

scope.setUser({ id: 4711 });

// scope.clear();

});

测试用例

PASS test/lib/minimal.test.ts

Minimal

✓ Clear Scope (1ms)

✓ returns undefined before binding a client (1ms)

✓ returns the bound client (1ms)

✓ Calls function on the client (1ms)

✓ does not throw an error when pushing different clients (1ms)

✓ does not throw an error when pushing same clients

✓ custom carrier (1ms)

✓ withScope (2ms)

✓ setExtras (1ms)

✓ setTags (1ms)

✓ setExtra (1ms)

✓ setTag

✓ setUser (1ms)

✓ setContext (1ms)

Capture

✓ Return an event_id (4ms)

✓ Exception (1ms)

✓ Exception with explicit scope (1ms)

✓ Message (1ms)

✓ Message with explicit scope (1ms)

✓ Message with custom level (2ms)

✓ Event (1ms)

configureScope

✓ User Context (2ms)

✓ Extra Context (1ms)

✓ Tags Context (1ms)

✓ Fingerprint

✓ Level (1ms)

数据库
上一篇:如何使用Rust构建基本的HTTP Web Server?
下一篇:数据中心行业将迎来繁荣,但成本将飙升