Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
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 }}
Uh oh!
There was an error while loading.
Please reload this page
.
OpenStackweb
/
summit-api
Public
Notifications
You must be signed in to change notification settings
Fork
2
Star
3
Code
Issues
3
Pull requests
17
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
perf(attendees): eliminate /attendees N+1 — 83 → 36 queries (-57%)
- #550
#550
Open
smarcet
wants to merge 30 commits into
hotfix/cache-optimizations
OpenStackweb/summit-api:hotfix/cache-optimizations
from
perf/attendees-n-plus-1
OpenStackweb/summit-api:perf/attendees-n-plus-1
Copy head branch name to clipboard
Conversation
Commits
30
(30)
Checks
Files changed
Open
perf(attendees): eliminate /attendees N+1 — 83 → 36 queries (-57%)
#550
smarcet
wants to merge 30 commits into
hotfix/cache-optimizations
OpenStackweb/summit-api:hotfix/cache-optimizations
from
perf/attendees-n-plus-1
OpenStackweb/summit-api:perf/attendees-n-plus-1
Copy head branch name to clipboard
Commits
Commits on May 23, 2026
fix(serializer): add last_edited timestamp to presentation cache key for automatic invalidation
Show description for 7da81b2
smarcet
committed
7da81b2
View commit details
Copy full SHA for 7da81b2
Browse repository at this point
chore(routes): enable server.timing.doctrine on getEvents for profiling
Show description for 34d39eb
smarcet
committed
34d39eb
View commit details
Copy full SHA for 34d39eb
Browse repository at this point
chore(profiling): expose per-phase request breakdown via Server-Timing header
Show description for 07882a0
smarcet
committed
07882a0
View commit details
Copy full SHA for 07882a0
Browse repository at this point
fix(profiling): accurate DB time measurement via DBAL Driver Middleware
Show description for d09ff46
smarcet
committed
d09ff46
View commit details
Copy full SHA for d09ff46
Browse repository at this point
chore(profiling): log top-repeating SQL patterns to identify exact N+1 sources
Show description for 3c04297
smarcet
committed
3c04297
View commit details
Copy full SHA for 3c04297
Browse repository at this point
fix(member): memoize belongsToGroup() per-instance to eliminate N+1 of 84 queries
Show description for 9a9e23e
smarcet
committed
9a9e23e
View commit details
Copy full SHA for 9a9e23e
Browse repository at this point
fix(repository): preload PresentationSpeaker + Member in single DQL query
Show description for c6fa4d3
smarcet
committed
c6fa4d3
View commit details
Copy full SHA for c6fa4d3
Browse repository at this point
fix(repository): include root alias 'a' in speaker+member preload SELECT
Show description for b3ba482
smarcet
committed
b3ba482
View commit details
Copy full SHA for b3ba482
Browse repository at this point
chore(debug): instrument preload to confirm what it loads
Show description for 098d513
smarcet
committed
098d513
View commit details
Copy full SHA for 098d513
Browse repository at this point
chore(debug): capture Member query params to identify which Members are being loaded
Show description for 92596db
smarcet
committed
92596db
View commit details
Copy full SHA for 92596db
Browse repository at this point
fix(debug): strip backticks before matching Member table name
Show description for 0aab8d1
smarcet
committed
0aab8d1
View commit details
Copy full SHA for 0aab8d1
Browse repository at this point
fix(auth): memoize getCurrentUser() — eliminates ~98 redundant Member SELECTs per request
Show description for 9883ff4
smarcet
committed
9883ff4
View commit details
Copy full SHA for 9883ff4
Browse repository at this point
fix(repository): batch-preload SummitSelectedPresentation, eliminates 20 queries
Show description for 5043231
smarcet
committed
5043231
View commit details
Copy full SHA for 5043231
Browse repository at this point
Commits on May 25, 2026
chore(debug): instrument SummitSelectedPresentation preload to find why it has no effect
Show description for e49226a
smarcet
committed
e49226a
View commit details
Copy full SHA for e49226a
Browse repository at this point
fix(speaker): pre-populate getPresentationAssignmentOrder cache from batch-loaded assignments
Show description for bec63ec
smarcet
committed
bec63ec
View commit details
Copy full SHA for bec63ec
Browse repository at this point
fix(repository): preload location (FETCH JOIN), tags and materials in /events hydration
Show description for 9a40015
smarcet
committed
9a40015
View commit details
Copy full SHA for 9a40015
Browse repository at this point
fix(repository): preload sponsors batch + fetch-join PresentationCategory
Show description for 1376db2
smarcet
committed
1376db2
View commit details
Copy full SHA for 1376db2
Browse repository at this point
chore(cleanup): remove diagnostic logging used to profile the /events N+1 hunt
Show description for e919d1c
smarcet
committed
e919d1c
View commit details
Copy full SHA for e919d1c
Browse repository at this point
docs(adr): document /events N+1 elimination work
Show description for f6d3997
smarcet
committed
f6d3997
View commit details
Copy full SHA for f6d3997
Browse repository at this point
chore(profiling): enable Server-Timing + SQL pattern logger on /summits/{id}/attendees
Show description for 71d9bc9
smarcet
committed
71d9bc9
View commit details
Copy full SHA for 71d9bc9
Browse repository at this point
fix(attendees): batch-preload Summit::getSpeakerByMember for the page — eliminates ~24 queries
Show description for dfa430b
smarcet
committed
dfa430b
View commit details
Copy full SHA for dfa430b
Browse repository at this point
fix(events): correct SummitSelectedPresentation preload DQL and cache reset on auth context change
Show description for a6b24db
smarcet
committed
a6b24db
View commit details
Copy full SHA for a6b24db
Browse repository at this point
fix(attendees): batch-preload Notes / Tickets / Tags / Member in afterQuery hook
Show description for 66ed55c
smarcet
committed
66ed55c
View commit details
Copy full SHA for 66ed55c
Browse repository at this point
fix(attendees): fetch-join Speaker.member and Ticket.badge in preloads
Show description for b899225
smarcet
committed
b899225
View commit details
Copy full SHA for b899225
Browse repository at this point
fix(events): low-severity findings + unit tests from PR #549 review
Show description for 9883943
smarcet
committed
9883943
View commit details
Copy full SHA for 9883943
Browse repository at this point
fix(events): correct SummitSelectedPresentation preload DQL and cache reset on auth context change
Show description for 56610bb
smarcet
committed
56610bb
View commit details
Copy full SHA for 56610bb
Browse repository at this point
fix(events): low-severity findings + unit tests from PR #549 review
Show description for 1506fd1
smarcet
committed
1506fd1
View commit details
Copy full SHA for 1506fd1
Browse repository at this point
fix(trait): restore optional afterQuery hook in _getAll
Show description for ad726c4
smarcet
committed
ad726c4
View commit details
Copy full SHA for ad726c4
Browse repository at this point
chore: merge hotfix/cache-optimizations for trait afterQuery hook
smarcet
committed
a4ca815
View commit details
Copy full SHA for a4ca815
Browse repository at this point
docs(adr): document /attendees N+1 elimination
Show description for 437a25e
smarcet
committed
437a25e
View commit details
Copy full SHA for 437a25e
Browse repository at this point
You can’t perform that action at this time.