getsentry / getsentry/sentry-ruby

Enable setting Cron monitor name

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

説明

Cron monitors created via Ruby use the slug as the name, and there isn't a way to programatically set the name.

There should be a way to set the name in `sentry_monitor_check_ins` via the `monitor_config`.

And ideally, the name should be the name of the class by default (rather than the slug)

**Why do you think it's beneficial to most of the users**

Slugs are much less readable, because they're only lower case, than the job name.

We've gone through and updated the Cron monitor names to be the job names in Sentry - but having to do that seems unreasonable.

**Possible implementation**

I don't know what the server API is like, but maybe this can just be added to the `Sentry::Cron::MonitorCheckIns` `sentry_monitor_check_ins` method?

```ruby
def sentry_monitor_check_ins(slug: nil, monitor_config: nil)
name = monitor_config&.dig(:name) || self.name

if monitor_config && Sentry.configuration
cron_config = Sentry.configuration.cron
monitor_config.checkin_margin ||= cron_config.default_checkin_margin
monitor_config.max_runtime ||= cron_config.default_max_runtime
monitor_config.timezone ||= cron_config.default_timezone
end

@sentry_monitor_slug = slug
@sentry_monitor_name = name
@sentry_monitor_config = monitor_config

prepend Patch
end
```

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

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

評価

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

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

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