gitblit icon indicating copy to clipboard operation
gitblit copied to clipboard

Expose metrics for Prometheus Monitoring Framework?

Open goettl79 opened this issue 8 years ago • 7 comments

Hi,

Anybody interested to expose gitblit metrics for the prometheus framework (prometheus.io). Would be a quick win I think. At least some basic metrics would be fine. E.g. Garbage Collections, Pushes / Pulls / Clone durations and so on...

goettl79 avatar Jan 26 '17 08:01 goettl79

Hi @goettl79. That's certainly a great suggestion. Gitblit doesn't currently track many/any stats now. It could be instrumented for metrics collection, of course. Is this something you'd be interested in contributing? I have had success using DropWizard Metrics to report to monitoring systems in other projects. Do you know if there is a Prometheus adapter for Metrics? Or would it require a one-off integration with Prometheus?

gitblit avatar Jan 26 '17 13:01 gitblit

I would be interested in contributing this feature, probably following the approach taken here: https://github.com/prometheus/client_java/issues/101.

Didn't know that gitblit is dropwizard service. Btw. Dropwizward Metrics do not export gitblit specific metrics, but only general service metrics to my knowledge.

goettl79 avatar Jan 31 '17 08:01 goettl79

Didn't know that gitblit is dropwizard service.

It is not, you misunderstood.

gitblit avatar Jan 31 '17 12:01 gitblit

Ah, ok. Then I'll see how far I get using the standard prometheus java client. Will add a pull request as soon as possible.

goettl79 avatar Jan 31 '17 12:01 goettl79

I implemented a first version of the metrics in pull request https://github.com/gitblit/gitblit/pull/1230 . @gitblit @fzs you can inspect the metrics on https://localhost:8443/prometheus/.

Next to default metrics for the jvm and log4j I implemented two metrics for git_garbage_collection and ldap sync time. ldap sync time is only visible when ldap is configured.

goettl79 avatar Apr 29 '17 13:04 goettl79

Hi @gitblit @fzs, anything I can do to advance this issue?

goettl79 avatar Jun 22 '17 04:06 goettl79

I wonder if this would also be possible through OpenTelemetry. I would like to have some adoption measurements and was planning to use OTeL for that. Having two separate observability systems seems overkill. On the other hand, Prometheus seems to come with many default libraries so not much needs to be done. It might still be nice to have system that allows for push and pull exporters, and OTeL has a Prometheus exporter. But that is classified as experimental.

flaix avatar Nov 19 '22 15:11 flaix