Description
This issue is a request for two things that are related but might end up being implemented very differently.
If you want me to break this up into multiple issues, let me know!
The first ask: basic operational metrics.
Currently, I am running this as a docker container and am using Google's ContainerAdvisor to expose basic metrics around CPU/Memory usage. This works well enough since my primary concern is "did I allocate enough RAM to this or should I add more?!". Since there are multiple processes running inside the container, there's no good way to get insight into the memory/cpu...etc of any one component. Not a concern for my purposes, but I can certainly imagine larger deployments where knowing cpu/disk/memory...etc consumption of node
vs zoekt
would come in very handy.
For these metrics, standard prometheus format would be ideal / most accessible for everybody.
The second ask: metrics about what's in the index.
- count of files in the index
- number of repos in the index
- how long indexing takes (combined with a counter for number of repos, I can calc average index time per repo...)
- success/fail count per repo (if - suddenly - the number of repos successfully refreshed/indexed inverts with the number of repos that could not be successfully refreshed/indexed, that's an alert that I need to go page somebody to go figure out what's happened to our git server!)