getsentry / getsentry/sentry-ruby

Enable setting Cron monitor name

Đang mở
#2,290 0 bình luận 0 reaction 1 người được giao Được @sl0thentr0py nhận Xem trên GitHub
Crons Improvement Ruby
Ngôn ngữ chính
Ruby
Star
987
Fork
541
Merge trung bình
17 giờ 40 phút
Pull request đã merge (30 ngày)
19

Mô tả

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
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.