grafana / oncall

Developer-friendly incident response with brilliant Slack integration
GNU Affero General Public License v3.0
3.5k stars 288 forks source link

Evenly distribute load across layers with intersected oncall #2797

Open Hronom opened 1 year ago

Hronom commented 1 year ago

What would you like to see!

We wanna have possibility to enable even distribution of OnCall load between layers.

If we check video here there a great example on how use layers for different timezones e.g. US vs European.

However, there no possibility to configure situations when we have work hours from timezone that is being intersect. For example, we need to use "Follow the sun" approach here: image

General idea behind this picture is that we put persons on call with respect to the timezone and work hours of each person.

So we created schedule where each layer is the timezone, so L1 stays for timezone -6 GMT, L2 stays for -4 GMT, L3 stays for -5 GMT, L4 stays for +3 GMT.

We set for each shift to start from 09:00 AM in the each timezone and 8 hours as "Limit each shift length". This is the calendar looks like: image

As you can see persons from layer 2 never get on call as their time covered by persons from layer 4, 3. Also you can see that persons from layer 1 got small time on call.

Expected to have even distribution between layers too. So one shift layer 2, 1 becomes dominant in final calendar and persons from layer 4 and 3 not involved there. So we got even distribution between intersected timezones e.g. layers.

Product Area

Schedules

Anything else to add?

Grafana Cloud OnCall r213-v1.3.23

github-actions[bot] commented 1 year ago

The current version of Grafana OnCall, at the time this issue was opened, is v1.3.23. If your issue pertains to an older version of Grafana OnCall, please be sure to list it in the PR description. Thank you :smile:!

Hronom commented 1 year ago

Yes bot we use Grafana Cloud OnCall r213-v1.3.23 latest version

Matvey-Kuk commented 1 year ago

Hi! There is no a clear way of setting up even distribution for those who are on-call at the same time, so thank you for the feature request! I think we need to replicate smth like the "round-robin" we have in the escalation steps but include schedules.

There is one thing I could suggest is putting multiple rotations at the same level like Matvey and Julia at this example:

Screenshot 2023-08-18 at 12 04 29