How we supercharged GitLab CI statuses with WebSockets
Blog post from GitLab
GitLab has significantly enhanced its CI job status updates by reducing API calls by 92.56%, dropping from 45 million to 3.4 million daily, thanks to implementing WebSockets and GraphQL subscriptions. This shift from traditional polling, which involves frequent network requests regardless of data changes, to event-driven WebSockets allows instant updates only when data changes, thus improving efficiency and reducing latency. By refactoring the job header component to use GraphQL for data and employing ActionCable for real-time updates, users now experience immediate job status changes, and network traffic is drastically cut. This optimization has not increased CPU usage, marking a win for both the software's performance and user experience. GitLab aims to extend this real-time capability across its entire CI/CD workflow, replacing remaining polling mechanisms to enhance user feedback and system efficiency further.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Real-time | 6 | 4,881 | 1,155 | 268 | -10% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.