Skip to content

perf: add API for updating attachments#157

Merged
jpnurmi merged 20 commits into
getsentryfrom
jpnurmi/feat/crashpad-ipz
Jul 24, 2026
Merged

perf: add API for updating attachments#157
jpnurmi merged 20 commits into
getsentryfrom
jpnurmi/feat/crashpad-ipz

Conversation

@jpnurmi

@jpnurmi jpnurmi commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Improve attachment (__sentry-event and __sentry-breadcrumbN) update performance on Windows by offloading write/append disk I/O to the handler process over IPC.

The client side intentionally only waits until the handler accepts the IPC payload, NOT until the file write completes. Even if the AI review bots insisted that, it would defeat the whole purpose of this PR to block the client for the duration of the write.

For the sake of simplicity, macOS and Linux keep direct file writes behind the same CrashpadClient API because disk I/O is already cheap enough.

Required for (see also for concrete numbers):

Comment thread client/crashpad_client_win.cc
Comment thread util/win/exception_handler_server.cc
Comment thread client/crashpad_client_win.cc
Comment thread util/win/registration_protocol_win_structs.h
@jpnurmi
jpnurmi force-pushed the jpnurmi/feat/crashpad-ipz branch from b34cefd to 919800c Compare July 10, 2026 06:41
Comment thread util/win/exception_handler_server.cc
Comment thread util/win/exception_handler_server.cc
Comment thread util/win/exception_handler_server.cc
Comment thread util/win/registration_protocol_win.cc Outdated
Comment thread handler/linux/exception_handler_server.cc
@jpnurmi
jpnurmi force-pushed the jpnurmi/feat/crashpad-ipz branch from 9dfb02b to 16981c9 Compare July 10, 2026 11:53
jpnurmi and others added 8 commits July 21, 2026 18:15
Allow clients to send replacement attachment contents to the handler with
variable-length IPC messages. The handler writes the updated bytes to the
attachment path while keeping attachment registration unchanged.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@jpnurmi
jpnurmi force-pushed the jpnurmi/feat/crashpad-ipz branch from 16981c9 to b39aaef Compare July 21, 2026 16:15
Comment thread util/win/exception_handler_server.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread util/win/exception_handler_server.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc Outdated
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc
@jpnurmi
jpnurmi force-pushed the jpnurmi/feat/crashpad-ipz branch from abfe568 to 4774df9 Compare July 23, 2026 11:53
Comment thread util/win/exception_handler_server.cc
Comment thread util/win/exception_handler_server.cc
@jpnurmi
jpnurmi force-pushed the jpnurmi/feat/crashpad-ipz branch from 4774df9 to fca5966 Compare July 23, 2026 11:58
Comment thread util/win/exception_handler_server.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc
Comment thread handler/win/crash_report_exception_handler.cc Outdated
@jpnurmi
jpnurmi requested a review from mujacica July 24, 2026 10:02
Comment thread client/crashpad_client.h Outdated
Comment thread client/crashpad_client.h Outdated
Comment thread util/win/registration_protocol_win.cc

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit e5917a1. Configure here.

Comment thread handler/win/crash_report_exception_handler.cc
Comment thread util/win/exception_handler_server.cc
@jpnurmi
jpnurmi merged commit 7ac234d into getsentry Jul 24, 2026
27 checks passed
@jpnurmi
jpnurmi deleted the jpnurmi/feat/crashpad-ipz branch July 24, 2026 17:02
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.

2 participants