Comments (5)
But it would make sense to only add breadcrumbs to transactions where the timestamp is within the transaction boundaries. Would this solve your current issue? I still have to ensure that this correlates with the expected behavior of the API or, rather, the implementations in other SDKs.
@supervacuus This makes sense and I agree that adding breadcrumbs only to transactions within the transaction boundaries would indeed resolve the current issue.
from sentry-native.
@tiny-dancer there is a limit which can be configured via max_breadcrumbs
and defaults to 100 (docs). We use a ring buffer implementation to ensure this limit. If you can reproduce an issue with the SDK exceeding this limit, please open up a separate issue 🙏
from sentry-native.
Hi @jerin-omcare, thanks for the report. I can understand why this seems illogical. At this point, the Native SDK treats transactions
like any other event
when applying the scope before capturing. The only difference is that we don't send a stack trace and module list with each transaction.
But it would make sense to only add breadcrumbs to transactions where the timestamp is within the transaction boundaries. Would this solve your current issue? I still have to ensure that this correlates with the expected behavior of the API or, rather, the implementations in other SDKs.
from sentry-native.
Hey @jerin-omcare thanks for writing in - the behaviour you describe is intentional.
The goal of breadcrumbs is to give context information of events that happened before or during a transaction, and can include a variety of data (e.g. changes in network state, http requests, apps becoming active or going into background, etc.). Many of these events are relevant for transactions even though they happen outside (before) the time frame of the transaction. Therefore all our SDKs do not scope breadcrumbs to specific transactions.
You can read more about how we envision breadcrumbs to be used in the docs and in our develop docs.
from sentry-native.
@kahest thank you for the response, we've observed the breadcrumbs are queued and added all the way back to app start up depending on our configured breadcrumb limit. Is there a built in mechanism to ensure the global breadcrumb size doesn't grow forever?
from sentry-native.
Related Issues (20)
- Stream envelopes to file directly HOT 3
- Request: Merge getsentry/crashpad PR #101 to fix llvm-mingw arm64 crashpad builds HOT 3
- Add WINE meta-data to OS context.
- Breadcrumbs should use more efficient ringbuffer
- Ensure unsafe functions are properly guarded HOT 2
- Only four information are in event in on_crash or before_send handler. Exception and other information is missing. HOT 3
- [linux] RISC-V 32/64 support HOT 1
- Android NDK Segfault crash related to `sentry_value_set_by_key_n` HOT 7
- Craspad under Epic's "Easy Anti-Cheat" HOT 6
- Stack overflow not sent to backend HOT 10
- Extend envelope API to allow event-specific attachments HOT 3
- sentry_transaction_set_data() - Discarded unknown attribute
- Only set up sigaltstack if there is none (Linux + Android)
- Add support to build for Windows 11 ARM64 HOT 2
- [Android] Support dynamic page size for Android 15+ devices HOT 2
- crashpad_handler processes persist after app close HOT 11
- Add static+dynamic stack usage measures and alerts in CI
- Introduce CI checks for binaries in our NDK release AAR
- Crashpad submodule reference doesn't point to a valid commit HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sentry-native.