Custom fingerprint added to GenServer call crashes by client
Maintainer thường phản hồi trong vòng 2 ngày
@solnic đang làm issue này rồi.
Từ ngày 5/8/2025.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Issue Description
The client adds a custom fingerprint when the crash reason is due to a GenServer.call :timeout or :noproc, with the form [type, "genserver_call", call_args], see below:
https://github.com/getsentry/sentry-elixir/blob/f83b5080aec61e0618b01efe14de28fce5e914b3/lib/sentry/logger_handler.ex#L484-L488
Because of this, any fingerprinting done on the server side is overridden because custom client fingerprints are prioritised.
Since the call arguments might contain unique IDs and other values, what we've observed is that we get flooded with individual error reports, not grouped at all, where the default grouping or stack-trace grouping would've done a much better job at grouping these together.
I've added a workaround using the :before_send hook to remove the custom fingerprint added by the client itself, but wanted to raise that this seems like unexpected behaviour, for the client to add this kind of hard fingerprinting rule that I feel would often not manage to actually group events together.
Reproduction Steps
Run a GenServer.call(server, :timeout, 1) with a handler that sleeps a bit to reproduce timeout exits.
Expected Behavior
Events should not have a custom fingerprint rule unless we explicitly set one in the logger metadata.
Actual Behavior
The GenServer crashes end up with a custom client fingerprint that does not group events together because it includes the call arguments that are often unique.
Elixir Version
1.18.4-otp-28
SDK Version
11.0.1
Integration and Its Version
No response
Sentry Config
No response
- Ngôn ngữ chính
- Elixir
- Star
- 693
- Fork
- 218
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 21
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của getsentry/sentry-elixir
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 64/100
getsentry/sentry-elixir#1233 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 10/100
getsentry/sentry-elixir#1232 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
traces_sampler example doesn't match the actual context providedCó thể làm lại được @solnic đã nhận 329 ngày trước và không có pull request nào đang mở. Đang mởBug Elixir Traces Waiting for: Product Owner
getsentry/sentry-elixir#945 · 3 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Better oban error groupingCó thể làm lại được @solnic đã nhận 430 ngày trước và không có pull request nào đang mở. Đang mởElixir Errors Improvement
getsentry/sentry-elixir#936 · 1 bình luận · 2 reaction · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Sentry Concurrency LimitsCó thể làm lại được @solnic đã nhận 311 ngày trước và không có pull request nào đang mở. Đang mởElixir Improvement
getsentry/sentry-elixir#932 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của getsentry/sentry-elixir
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 2 ngày
-
ci-cd
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
carverauto/serviceradar#5648 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
opentelemetry_bandit: handler is detached when a client disconnects before the request starts (get_peer_data raises :enotconn)Có thể đã có người làm @yordis đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
open-telemetry/opentelemetry-erlang-contrib#846 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100