Skip to content

Conversation

@andreiborza
Copy link
Member

Adds support for applying an application key to WASM stack frames that can be then used in the thirdPartyErrorFilterIntegration for detection of first-party code.

This changes how thirdPartyErrorFilterIntegration deals with native frames to also check for a instruction_addr for WASM-native code.

Usage:

Sentry.init({
  integrations: [
    wasmIntegration({ applicationKey: 'your-custom-application-key' }), ←───┐
    thirdPartyErrorFilterIntegration({                                      
      behaviour: 'drop-error-if-exclusively-contains-third-party-frames',   ├─ matching keys
      filterKeys: ['your-custom-application-key'] ←─────────────────────────┘
    }),
  ],
});

Closes: #18705

Adds support for applying an application key to WASM stack frames that can be
then used in the `thirdPartyErrorFilterIntegration` for detection of first-party
code.

This changes how `thirdPartyErrorFilterIntegration` deals with native frames to
also check for a `instruction_addr` for WASM-native code.

Usage:
```js
Sentry.init({
  integrations: [
    wasmIntegration({ applicationKey: 'your-custom-application-key' }), ←───┐
    thirdPartyErrorFilterIntegration({					    │
      behaviour: 'drop-error-if-exclusively-contains-third-party-frames',   ├─ matching keys
      filterKeys: ['your-custom-application-key'] ←─────────────────────────┘
    }),
  ],
});
```

Closes: #18705
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 9,455 - 8,971 +5%
GET With Sentry 1,807 19% 1,571 +15%
GET With Sentry (error only) 6,228 66% 5,986 +4%
POST Baseline 1,225 - 1,158 +6%
POST With Sentry 595 49% 545 +9%
POST With Sentry (error only) 1,080 88% 1,022 +6%
MYSQL Baseline 3,403 - 3,144 +8%
MYSQL With Sentry 501 15% 333 +50%
MYSQL With Sentry (error only) 2,758 81% 2,586 +7%

View base workflow run

Copy link
Member

@Lms24 Lms24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@andreiborza andreiborza merged commit 46225eb into develop Jan 12, 2026
209 of 210 checks passed
@andreiborza andreiborza deleted the ab/wasm-third-party-error-filter-integration branch January 12, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

thirdPartyErrorFilterIntegration misidentifies first-party web workers and wasm as third-party

3 participants