getsentry / getsentry/sentry-ruby

Exception inside traces_sampler proc are not raised

オープン
#2,348 コメント 2 件 リアクション 0 件 担当者 1 名 @sl0thentr0py が担当を希望しています GitHub で見る
Good First Issue Improvement Ruby Traces
主要言語
Ruby
スター
987
フォーク
541
平均マージ
17時間 40分
マージ済み PR(30日)
19

説明

### Issue Description

Hello,

Please take a look at the example configuration below for a Rails app. I am raising the exception explicitly inside `traces_sampler`. However, when the app boots, I don't see any exception raised. All the requests will fail with 500.

I initially got the variable name wrong inside the initializer and it crashed the app. That is more like a real-world scenario why the config should raise or report an exception.

### Reproduction Steps

- Create a Rails app
- Add the configuration mentioned below at `config/initializers/sentry.rb`
- Boot the Rails app
- Make requests to any routes
- It should fail with 500 without raising an exception

### Expected Behavior

The exception should be raised in the console or reported to Sentry. Right now, there is no way of knowing why my Rails app fails to respond to any requests.

### Actual Behavior

The exception is neither raised nor reported on Sentry if it is raised inside `traces_sampler` proc/lambda.

### Ruby Version

3.3.0

### SDK Version

5.18.1

### Integration and Its Version

rails (8.0.0.alpha e0a9ef1)

### Sentry Config

```
Sentry.init do |config|
config.dsn = ""
config.breadcrumbs_logger = [ :active_support_logger, :http_logger ]

# Set traces_sample_rate to 1.0 to capture 100%
# of transactions for performance monitoring.
# We recommend adjusting this value in production.
config.traces_sampler = lambda do |sampling_context|
rack_env = sampling_context[:env]
if rack_env && rack_env['PATH_INFO'] =~ /up/
return 0.0
else
return 1.0
end
end
end
```

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。