-
-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory dump detection: dump file dropped because it's too big #4007
Comments
Hm, tricky. We can't get around the file size constraint. About all I can think is that we could also provide an "OnLargeDumpCaptured" callback or something that users could implement to send/store the dump somewhere else (e.g. they could upload it to some cloud storage). It starts to make things more complex and less convenient, but I can't see any other way around it. Thoughts? |
There's no way to make the dump file smaller? Configure how many references to keep around etc? Not sure it's worth adding the callback. We do need to verify if we want to have that event being sent if the event is too large though. Do we know the dump file or it's streaming to disk or something? |
dotnet-gcdump writes the file to disk, then we capture a Sentry event and add the dump as an attachment: sentry-dotnet/src/Sentry/Internal/MemoryMonitor.cs Lines 93 to 103 in 3fde00a
So yeah, we know where the dump file is and could just let people know the location where it's been stored, if it's too big to add as an attachment. I imagine a lot of folks wouldn't have access to it in a production environment though. |
But if we're doing this now we need to keep track and delete old files etc to avoid a disk filling up. If Sentry increases the size limit one would need to bump the SDK (and we'd need to amend the SDK limits though) |
I just added a new issue to cover that off. In terms of how to capture large heap dumps, Sentry's docs on the subject suggest |
Relates to: |
The memory dump detection feature created an event, but no dump file was attached.
I was only able to find out what happened because the SDK logs are sent to google cloud logging. And I found it:
https://console.cloud.google.com/kubernetes/deployment/us-central1-b/zdpwkxst/default/symbol-collector/logs?invt=AbqtWg&project=internal-sentry&rapt=AEjHL4Pycm2CIGp9OPDNBq9dWM8XDAhfti7gFFXRZH1YB5BmzYneOn020lZbGvX-j61FjNflNHB1FM9rLFjC7pn0w6Y_z_hVX1BS-GN9h1MManAXE6IU3-8&inv=1
We could show something in the UI saying the dump file was too large.
Or we could avoid sending the event altogether. But this means now the server could crash OOM and we have no event in Sentry at all. Which is probably even worse.
The text was updated successfully, but these errors were encountered: