You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1aab810
Browse filesBrowse the repository at this point in the historyBrowse files
feat(quartz): Send monitor config from the trigger with check-ins (#6216)
* ref(core): Add MonitorConfigUtils to convert schedules to monitor configs
Framework-free conversion of a 6 field cron expression, fixed rate or
fixed delay into a MonitorConfig, plus period parsing, so the Spring and
Quartz integrations can share it.
* fix(core): Only send monitor configs Sentry reads the same way
Return no config when day of month and day of week are both set, for
cron syntax Sentry rejects, and for zones that are not IANA region IDs.
Whole-hour fixed offsets map to Etc/GMT zones. Intervals use hours or
days when they divide evenly.
* ref(core): Add MonitorConfigUtils.fromSpringScheduled
Move the Spring day-of-week rewrite and the JVM default zone rule into
core so the three Spring modules share them.
* fix(core): Return no config for stepped single value ranges
Spring and Quartz run 10-10/2 only at 10, cronsim steps to the field max.
* fix(core): Read Spring crons per parser and skip fixed delays
Spring before 5.3 steps day of month */n from 0 and can run at midnight
when both day fields are set; read its crons that way. Spring 5.3 runs
#5 in months without a fifth weekday, so return null for it. A fixed
delay drifts from any interval, so it gets no config.
* feat(spring): Send monitor config from @scheduled with @SentryCheckIn
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(quartz): Send monitor config from the trigger with check-ins
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(spring): Send @scheduled monitor config by default
Co-Authored-By: Claude <noreply@anthropic.com>
* feat(quartz): Send trigger monitor config by default
Co-Authored-By: Claude <noreply@anthropic.com>
* ref(spring): Shorten upsertMonitorConfig Javadoc
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(core): Keep Sunday-only day of week ranges
SUN-SUN was rewritten to 0-7, which crontab reads as every day.
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(spring): Only catch runtime exceptions when deriving monitor config
Co-Authored-By: Claude <noreply@anthropic.com>
* fix(quartz): Catch only expected errors when deriving monitor config
Co-Authored-By: Claude <noreply@anthropic.com>
* ref(spring): Shorten upsertMonitorConfig Javadoc
Co-Authored-By: Claude <noreply@anthropic.com>
* ref(spring): Use pattern-matching instanceof for the @scheduled time unit
* fix(core): Use a 2 minute check-in margin for crons with fixed seconds
Dropping a non-zero seconds field makes check-ins arrive up to 59s after
the expected minute, which a 1 minute margin barely covers.
* fix(spring): Default upsertMonitorConfig to false and read @scheduled like Spring
Existing @SentryCheckIn users shouldn't have their monitors changed on upgrade,
so sending the schedule is opt-in. Find @scheduled with Spring's own lookup so
an overriding method doesn't inherit a parent's schedule.
* fix(quartz): Send the trigger's monitor config only when opted in
Match @SentryCheckIn: existing check-in users keep their monitors unchanged
unless they set sentry-upsert-monitor-config to "true".
---------
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@
9
9
10
10
### Features
11
11
12
+
- Quartz `SentryJobListener` can send a monitor config derived from the trigger with check-ins, so Sentry creates or updates the monitor from code. Set the `sentry-upsert-monitor-config` job or trigger data key to `"true"` to send the schedule ([#6216](https://github.com/getsentry/sentry-java/pull/6216))
12
13
- Send a monitor config derived from Spring `@Scheduled` with `@SentryCheckIn` check-ins, so Sentry creates or updates the monitor from code. Set `@SentryCheckIn(upsertMonitorConfig = true)` to send the schedule ([#6215](https://github.com/getsentry/sentry-java/pull/6215))
0 commit comments