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