[ 
https://issues.apache.org/jira/browse/OAK-8113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16790245#comment-16790245
 ] 

Amit Jain commented on OAK-8113:
--------------------------------

bq.  In order to add support for prometheus, we need to add those libraries, 
but there are other systems as well and we may end up adding many different 
libraries when at most one is needed at runtime.
Yes that's right. But is that a big issue? As these libraries certainly are not 
heavy in size - 57, 15, 8 KB. If it is, then we can make them optional and add 
documentation about adding these libs on the classpath at runtime.

bq. Did you consider running the push gateway in a separate process and 
establish a JMX connection to oak-run?
The problem with this or with the jmx_exporter is that it requires a long 
standing jobs to be of use. With oak-run the job would most likely be short 
term in nature and it would be difficult to know when the metrics have been 
scraped. The pushgateway client seems more natural to me for these short term 
jobs. Also, the client seems is flexible and seems to support other ways also 
of exporting should we require them in future.
For the code coupling, there can be an indirection layer introduced which can 
depending on some semantics initialize the specific implementation. But I don't 
have a template on how other exports will work.
Other option is to implement this specifically for the DataStore where I need 
it completely. The datastore depends on other libraries like aws, azure 
anyways. And once we have clarity on some common pattern we can implement that 
for more generally for other commands in oak-run.

> Add ability to push metrics to prometheus pushgateway from oak-run
> ------------------------------------------------------------------
>
>                 Key: OAK-8113
>                 URL: https://issues.apache.org/jira/browse/OAK-8113
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: oak-run
>            Reporter: Amit Jain
>            Assignee: Amit Jain
>            Priority: Major
>             Fix For: 1.12
>
>         Attachments: OAK-8113.patch
>
>
> Currently, metrics capturing is supported in oak-run but these are not 
> exported. If some important tasks like DSGC are run outside of the server 
> using oak-run then it would be helpful help if these important metrics 
> captured, can be pushed to an external system if available and from where any 
> reporting can be developed.
> This task is specifically meant for prometheus pushgateway 
> https://github.com/prometheus/client_java though there are some other export 
> options also available.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to