Http
捕获 HTTP 请求的跨度和面包屑。(默认启用)
此集成仅在服务器环境中(Node.js、Bun、Deno)工作。
Import name: Sentry.httpIntegration
此集成默认启用。如果您想修改默认集成,请阅读此文档。
httpIntegration
执行两个功能:
- 捕获 HTTP 请求的面包屑。
- 捕获传出 HTTP 请求的跨度。
Copied
Sentry.init({
integrations: [Sentry.httpIntegration()],
});
Type: boolean
如果设置为 false
,则不会捕获面包屑。
Type: (url: string, request: RequestOptions) => boolean
允许您定义一个方法,根据 URL 过滤传出的请求。如果该方法返回 true
,则不会为传出的请求捕获任何跨度或面包屑。
回调函数接收两个参数:
url
: 传出请求的完整 URL,包括协议、主机、端口、路径和查询字符串。例如:https://example.com/users?name=John
。request
: 一个包含传出请求选项的RequestOptions
对象。您可以使用此对象根据请求方法或头部等属性进行过滤。
Type: (urlPath: string, request: IncomingMessage) => boolean
允许您定义一个方法,根据 URL 过滤传入的请求。如果该方法返回 true
,则不会为传入的请求捕获任何跨度或事务。
回调函数接收两个参数:
urlPath
: 传入请求的 URL 路径,包括可用的查询字符串。例如:/users?name=John
。request
: 一个包含传入请求的IncomingMessage
对象。您可以使用此对象根据请求方法或头部等属性进行过滤。
Type: boolean
(Defaults to true
)
确定集成是否应为传入请求创建 会话,以跟踪 Sentry 中版本的健康状况和无崩溃率。 了解更多关于 版本健康 的信息。
您还可以通过传递一些钩子到 底层 OpenTelemetry 插装:
Copied
httpIntegration({
instrumentation?: {
requestHook?: (span: Span, req: ClientRequest | HTTPModuleRequestIncomingMessage) => void;
responseHook?: (span: Span, response: HTTPModuleRequestIncomingMessage | ServerResponse) => void;
applyCustomAttributesOnSpan?: (
span: Span,
request: ClientRequest | HTTPModuleRequestIncomingMessage,
response: HTTPModuleRequestIncomingMessage | ServerResponse,
) => void;
});