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
This is in regards to cron monitors created by auto-instrumentation (in our case Celerybeat). Monitor names created by auto-instrumentation that exceed 50 characters result in a slug that is truncated at 50 characters. This can cause separate scheduled Celerybeat jobs with logn name to check-in on a single Sentry cron monitor because the slug names are truncated and essentially are the same.
Also, each cron monitor check-in changes the configuration of the monitor. This causes confusion because there are more check-ins received than configured. Essentially the last job to check-in wins the configuration.
The issue occurs when monitors are automatically created by the Celerybeat auto-instrumentation via the Python SDK (it does NOT appear to be a Python SDK issue - #77692). When the monitor is created via this route and the slug exceeds 50 characters, Sentry truncates the slug to 50 characters.
For example, we have several Celerybeat periodic tasks are executed 4 times per day:
However, all check-in slugs are truncated at 50 characters to and therefore only a single monitor is created:
letter_send_not_signed_or_declined_reminder_notifi
We expected 4 monitors to be created, but only 1 monitor was created. No error or warning is displayed as a result of this issue.
Also, the Sentry UI does not enforce any character limits even though it appears it is limited to 50 characters:
Solution Brainstorm
Auto-instrumentation Creation:
Increase the acceptable length of the slug name. django-celerybeat allows up to 200 characters however this makes the fix work for celery without regard for other solutions.
Do not allow to create monitors when the slug exceeds 50 instead of truncating the slug silently. This change may break existing users as folks may unknowingly rely on this behavior.
UI:
Ensure the UI enforces a slug character limit.
Product Area
Crons
The text was updated successfully, but these errors were encountered:
Looks like this issue would not be resolved by increasing the character count. It sounds like there are also just plain bugs and we need to consistently enforce whatever truncation happens up front, before any other logic.
Problem Statement
This is in regards to cron monitors created by auto-instrumentation (in our case Celerybeat). Monitor names created by auto-instrumentation that exceed 50 characters result in a slug that is truncated at 50 characters. This can cause separate scheduled Celerybeat jobs with logn name to check-in on a single Sentry cron monitor because the slug names are truncated and essentially are the same.
Also, each cron monitor check-in changes the configuration of the monitor. This causes confusion because there are more check-ins received than configured. Essentially the last job to check-in wins the configuration.
The issue occurs when monitors are automatically created by the Celerybeat auto-instrumentation via the Python SDK (it does NOT appear to be a Python SDK issue - #77692). When the monitor is created via this route and the slug exceeds 50 characters, Sentry truncates the slug to 50 characters.
For example, we have several Celerybeat periodic tasks are executed 4 times per day:
letter-send-not-signed-or-declined-reminder-notifications-0700
letter-send-not-signed-or-declined-reminder-notifications-0800
letter-send-not-signed-or-declined-reminder-notifications-0900
letter-send-not-signed-or-declined-reminder-notifications-1000
However, all check-in slugs are truncated at 50 characters to and therefore only a single monitor is created:
letter_send_not_signed_or_declined_reminder_notifi
We expected 4 monitors to be created, but only 1 monitor was created. No error or warning is displayed as a result of this issue.
Also, the Sentry UI does not enforce any character limits even though it appears it is limited to 50 characters:
Solution Brainstorm
Auto-instrumentation Creation:
UI:
Product Area
Crons
The text was updated successfully, but these errors were encountered: