|
Andreas Wachter opened 7 months ago
|
||||||
![]() |
No such ability yet. |
||||||
![]() |
Robin Shen changed fields 7 months ago
|
||||||
|
Interesting. What you want monitor you can't already done with prometheus ? |
||||||
|
Basically statistics from Onedev itself. Garbage collection, CPU usage, memory, threads and so on. Repository stats would also be nice: repositories, commits, branches, tags, builds, issues, and whatever else you can think of. It would be nice to have such metrics to create a dashboard in Grafana. For me as a devops engineer, the performance and build metrics would be great. But for management and sales people, a Grafana dashboard with total issues, resolved issues, and a commit chart would be very helpful. |
||||||
|
Grafana looks super useful Plugin creation documents |
||||||
![]() |
This would be a good idea, but I also feel it would be more Onedev style to include the statistics inhouse instead of serving it over promethius to a frontend such as grafana. After all Robin you have told me yourself you want onedev to be an all in one solution without any other dependencies, therefore inhouse would be preferable for this. |
||||||
![]() |
I guess offering some metrics for Prometheus will not introduce extra dependencies. This should be doable within JVM. OneDev will certaily not packaing tools like Prometheus, but can offer some integration point for them. |
||||||
![]() |
@robin My point was to possibly include a statistics page within the instance administration section, to have the statistics builtin, seen as that is the idea of onedev, to be a all in one solution, prevents the average user from having to configure prometheus and then a frontend for it, they can just go to administration and then see all the statistics. You were the one who told me you do not want users having to install other software to use a feature! |
||||||
![]() |
Of course OneDev can include some stats, but it does not mean it should not offer metrics to external tools.
@polarian I can not remembered I said this. |
||||||
![]() |
When we discussed a separate IRC daemon for the onedev distribution written in C, so that onedev did not need to handle tons of IRC connections, and how it would be more efficient. You told me to have everything built in as you did not want features having to depend on external sources. You also did not want it to be platform specific.
Never said not to include external links, you offer a fully featured API for onedev, I do not see why prometheus shouldn't be added, what I am trying to say though it would also be useful to have this information which you serve to prometheus also on the administration section of the instance. |
||||||
![]() |
This is different case. If someone wants to implement a prometheus integration plugin in OneDev with C or other non-JVM languages, I will object to that, as you will need to package the integration plugin inside OneDev, and it hurts its cross-platform ability. |
||||||
![]() |
Ah, so you cared more about cross platform than you did having everything bundled together. I thought the cross compatibility argument was just an additional no! obviously I was misleaded :) |
||||||
![]() |
Cross-platform is an obvious factor. Even if prometheus is written in Java, I will not package it as it is not core functionality of OneDev, and you will need to care about its setup and configuration, and many other things. This is not one-or-none, we need to consider case by case. |
||||||
![]() |
Typo, all-or-none |
||||||
|
@cooperspencer I think you can get some metrics by using opentelemetry.io. It is a Cloud Native incubating project that aims to solve metrics, logging and tracing in cloud setups. The reason why you might want to check it out is that they support automatic instrumentation of a large number of Java libraries by using a Java agent and thus you do not have to change any OneDev code. Setup of Java agent: All supported libraries that are instrumented out of the box: So you could at least get some insights about OneDev server health. |
||||||
|
@jbauer opentelemetry might help me at work. thanks 😀 I could also just write a onedev exporter for prometheus if it's too big a problem to integrate it. I have already started to write a golang wrapper for the onedev api. |
||||||
![]() |
Ah, I am working on a Java wrapper... mind linking the golang wrapper...? |
||||||
![]() |
OneDev referenced from other issue 7 months ago
|
||||||
|
Sure, there you go. I have not implemented everything and at the moment I mainly use it in gickup, but I plan to implement everything https://github.com/cooperspencer/onedev |
||||||
![]() |
Mind if I mirror this to my community onedev instance (https://onedev.polarian.dev). I might want to use it in the future :) |
||||||
|
Please do |
||||||
![]() |
|
||||||
![]() |
@cooperspencer in case you have any restful api questions, please raise at issue #1125 |
Type |
New Feature
|
Priority |
Normal
|
Assignee |
is there any way to monitor OneDev via prometheus or any other monitoring tool?