getsentry / getsentry/sentry-ruby

Enable setting Cron monitor name

Offen
#2,290 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @sl0thentr0py Auf GitHub ansehen
Crons Improvement Ruby
Vorherrschende Sprache
Ruby
Sterne
987
Forks
541
Ø Merge
17 Std. 40 Min.
Gemergte PRs (30 T.)
19

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.