[go: up one dir, main page]

Skip to content

Partitioning: Identify access patterns for Audit Events

Function Level Query Query example + timing
View project audit_events Project-level Count all project-level events 3035ms
Project-level View first page <1ms
Project-level View last page (of 560k events) 72,000ms (timeout)
Project-level Add created_at filter for 10/2019-31/2019 (count-all) Cold: HTTP 500 (>60s)
Warm: 1663ms (as per pb)
Project-level Add created_at filter for 10/2019-31/2019 (view first page) Warm: 496ms
Project-level Pagination with date filter effectively not possible on GitLab.com (random replica, high likelyhood of cold cache => HTTP/500)
View group audit events Group-level Similar to project-level in terms of functionality, but entity_type = 'Group'
Group-level Feature flag audit_log_group_level - adds events from all projects below this group (not enabled currently) HTTP/500 consistently even for small group
API: Instance Audit Events Instance level Optional filter by created_at, user/group/project
API: Group Audit Events Group-level Filter on the group plus additional by created_at
Admin UI Same filters/access as API

So in summary, we can combine the following filters:

Filter
None Global admin UI view
Date range By created_at
Entity type By group, group including all projects in tree, project, user
Edited by Andreas Brandl