mirror of
https://github.com/chromium/crashpad.git
synced 2025-01-13 16:58:04 +08:00
Ben Hamilton
212b8f6b8c
[client] New RingBufferAnnotation
This CL integrates the new ScopedSpinGuard with the new LengthDelimitedRingBuffer into a new class, RingBufferAnnotation. RingBufferAnnotation is thread-safe both for reading and writing, and is suitable for streaming logs, trace events, and other high-throughput data streams. I included a load test (ring_buffer_annotation_load_test) which launches two threads which simultaneously write to and read from the RingBufferAnnotation. By default, reads and writes are serialized using ScopedSpinGuard, but passing the flag "--disable_spin_guard" to the test disables the spin guard on the reading side (which is expected to make the test fail). Change-Id: Ic8e28866d085d57e778c4f86bcb7492ef0638ab9 Bug: crashpad:437 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/4023619 Reviewed-by: Robert Sesek <rsesek@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Commit-Queue: Ben Hamilton <benhamilton@google.com>
…
…
Crashpad
Crashpad is a crash-reporting system.
Documentation
- Project status
- Developing Crashpad: instructions for getting the source code, building, testing, and contributing to the project.
- Crashpad interface documentation
- Crashpad tool man pages
- Crashpad overview design
Source Code
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.
Other Links
- Bugs can be reported at the Crashpad issue tracker.
- The Crashpad bots perform automated builds and tests.
- crashpad-dev is the Crashpad developers’ mailing list.
Description
Languages
C++
92.6%
Objective-C++
2.5%
C
2%
Python
1.7%
Assembly
0.9%
Other
0.3%