oncall-engine/engine
Joey Orlando 3cf2fcf660
optimize GET /schedules internal API endpoint (#1169)
# What this PR does

Fixes slow internal`GET /schedules` endpoints. Using the fake-data
generation script in #1128, I generated 65 calendar schedules in my
local setup. This resulted in the following endpoint performance:
![Screenshot 2023-01-24 at 12 03
16](https://user-images.githubusercontent.com/9406895/214276618-1a9848ba-eb84-49ec-a099-fdd96beac93f.png)

The responses which show ~76 queries were run on the latest `dev`
branch. Responses w/ ~26 queries were run on this branch.

Additionally:
- add typing to a few methods in `apps/schedules/ical_utils.py`
- document `apps/api/permissions/__init__.py:user_is_authorized`
function

## Which issue(s) this PR fixes

https://github.com/grafana/oncall-private/issues/1552

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2023-01-25 11:08:09 +01:00
..
apps optimize GET /schedules internal API endpoint (#1169) 2023-01-25 11:08:09 +01:00
common Sync users and teams on tf requests (#1180) 2023-01-24 13:44:07 +08:00
config_integrations Add escalation chain option when creating a direct page alert group (#1143) 2023-01-18 12:58:26 -03:00
engine Allow viewers fetch cloud connection status (#1181) 2023-01-23 11:17:57 +00:00
settings Update base.py 2023-01-20 20:20:51 +08:00
static/images World, meet OnCall! 2022-06-03 08:09:47 -06:00
.dockerignore One startup command to rule them all (#760) 2022-11-07 16:34:43 +01:00
.gitignore modify push notification settings + use fcm-django library (#998) 2022-12-20 12:41:34 +01:00
celery_with_exporter.sh Add flag to debug logs (#912) 2022-11-29 11:16:42 +08:00
conftest.py Enforce cloud connection to send push notifications on OSS (#1132) 2023-01-19 11:15:56 +00:00
Dockerfile Optimize alertgroups endpoint (#1186) 2023-01-21 21:59:20 +08:00
manage.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
pyproject.toml World, meet OnCall! 2022-06-03 08:09:47 -06:00
requirements.txt Add pyroscope integration (#1176) 2023-01-20 18:47:16 +08:00
tox.ini Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
uwsgi.ini Update uwsgi.ini 2022-06-15 19:13:50 +03:00
wait_for_test_mysql_start.sh World, meet OnCall! 2022-06-03 08:09:47 -06:00