Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New metrics #21

Open
aviorma opened this issue Apr 2, 2018 · 20 comments
Open

New metrics #21

aviorma opened this issue Apr 2, 2018 · 20 comments

Comments

@aviorma
Copy link

aviorma commented Apr 2, 2018

ould like to ask from if you could add some new metrics,
i would like to see some info which is important for our devops team
Jira: sprint remaining time per project, and log work per project,sprint,issue

@AndreyVMarkelov
Copy link
Owner

Will be done

@aviorma
Copy link
Author

aviorma commented Apr 2, 2018

Thanks

@PatrickSchuster
Copy link
Contributor

Hi,
I'm currently looking into this, but I have a few questions/concerns:
Having the remaining time, logged work (= worklog?), issues, etc. per project/sprint/issue might lead to a lot of output in case a team handles a lot of projects/issues/etc., right?
Might this be a problem for the performance of the Prometheus instance?

I'm trying to retrieve all relevant metrics and use Prometheus labels but have doubts if I can do it efficiently.

@aviorma
Copy link
Author

aviorma commented Apr 11, 2018

Prometheus instance can handle with High number of metrics

The mission is to programmed with no delays.

@wbrauneis
Copy link

On the (non-)usage of labels please be referred to https://prometheus.io/docs/practices/naming/

CAUTION: Remember that every unique combination of key-value label pairs represents a new time series, which can dramatically increase the amount of data stored. Do not use labels to store dimensions with high cardinality (many different label values), such as user IDs, email addresses, or other unbounded sets of values.

and individual issues as labels imho are even worse in this respect than user ids...

@PatrickSchuster
Copy link
Contributor

PatrickSchuster commented Apr 11, 2018

So far I have been experimenting with the time spent per project and per issue (see the following "worklog" metrics) and the result looks something like this:
prometheus_worklog_metrics
However, I agree that having a lot of individual labels might be a problem.
I tried finding a better way of doing something like this and stumpled upon a similiar question: prometheus/prometheus#1015 where a core developer of Prometheus suggests:

You should use a general purpose processing system, such as Hadoop or Spark. Prometheus is intended as a real-time monitoring system that you can easily run and depend on in an emergency. High cardinality metrics tend to only grow and require work disproportionate to the benefit they bring you in such a system, and dealing with them in a less-realtime fashion is more appropriate.

How do you suggest we proceed in this matter?

@AndreyVMarkelov
Copy link
Owner

@PatrickSchuster Not really sure about issueKey. I think project is good enought

@aviorma
Copy link
Author

aviorma commented Apr 12, 2018 via email

@aviorma
Copy link
Author

aviorma commented Apr 12, 2018 via email

@PatrickSchuster
Copy link
Contributor

Hi everyone,
I've added the number of projects as well as the times spent per project (link to pull request). The result looks something like this:
jira_times_spent_per_project
Let me know if this is useful or not. Also, I'm still not sure if this could cause problems in case there are a lot of projects, so please keep that in mind.

Thank you!

@Rohlik
Copy link

Rohlik commented Oct 18, 2018

Please add also Jira version metric.
Thank you.

@lexek
Copy link

lexek commented Jan 16, 2019

I don't understand why this should be implemented in this project.
As far as I understand, this project's purpose is to monitor health of Jira instance, and these metrics aren't related to this.

@AndreyVMarkelov
Copy link
Owner

@lexek Actually when implement feature to have all metrics togables it can be there.

@nteplov
Copy link

nteplov commented Jan 16, 2019

Maybe create an additional branch: "Various garbage for prometheus" and don't touch the main one in pursuit of stability?

@AndreyVMarkelov
Copy link
Owner

@nteplov It is not bed to have these metrics toggleable and switched off by default and maybe can active per project if cordinality allows. But in this way 100% sure not be applied.

@diverser
Copy link

Make it optional, configurable from plugin settings

@AndreyVMarkelov
Copy link
Owner

Yes. +1

@Rohlik
Copy link

Rohlik commented Jan 16, 2019

@lexek If you have multiple instances then "JIRA version" come in handy for comparing JIRA health.

@lexek
Copy link

lexek commented Jan 17, 2019

@Rohlik Jira version is legit of course, I was talking about original request.

@wbrauneis
Copy link

wbrauneis commented Jan 17, 2019

Having the version number available for display in the grafana dashboard is, at least for us, valuable information. It would then be possible for our administrators to quickly check versions in case of a vulnerability report without having to access all individual Jira instances.

Some of our systems (not Jira) even actively send out alerts based on prometheus metrics in case of available (important) software updates. Wish we could achieve the same with Atlassian products. But until then, the version number is perfectly fine for us.

From a performance perspective, having looked up Jira source code (v6.3.15), an additional gauge for the version information should not have any impact on the performance of the plugin or the prometheus system.

I am tempted to call this security monitoring, and we consider security to part of health care of our system, m2c :-).

@Rohlik would you mind to open another ticket for your request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants