We have a lot of graphing libraries in our codebase to render graphs. In an effort to improve maintainability, new graphs should use D3.js. If a new graph is fairly simple, consider implementing it in SVGs or HTML5 canvas.
We chose D3 as our library going forward because of the following features:
D3 is very popular across many projects outside of GitLab:
Within GitLab, D3 has been used for the following notable features
- Prometheus graphs
- Contribution calendars