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

Andrzej Bialecki  commented on SOLR-10654:
------------------------------------------

I see, it's an interesting issue. The metrics API as it is today is focused on 
the push model, but indeed the MetricsHandler seems like the ideal place for 
adding custom formats to support pull models. However, response writers are 
registered globally per SolrCore, and it seems weird and potentially misleading 
to globally register a writer that is a) handler-specific, b) supports only 
numeric values.

OTOH there are precedents for a) above - graphml, schema.xml and filestream 
writers. There are also precedents for b) - handlers that accept requests in 
one format but return response in a different (hardcoded) format, eg. 
{{ExportHandler}}, so maybe it's not such a big deal...

In the current patch the registration is hardcoded - it would have to be made 
more dynamic. Eg. you could consider adding generic support for custom pull 
formats to {{MetricsHandler}}, which would go through every 
{{SolrMetricReporter}} instance that implements a {{SolrMetricPullReporter}} 
(what an ugly name...) or something like that, and register its response 
writers and WT-s that it supports, and then based on either a reporter name, or 
path or WT, call a method from that interface to prepare a report to be 
serialized.

Current patch also ignores all metric / property filtering logic present in 
{{MetricsHandler.handleRequestBody}} - I understand that {{DropwizardExports}} 
doesn't support any filtering, but it should be possible to reimplement this 
using {{MetricUtils.toMaps}} or similar methods from {{MetricUtils}}.

And finally, Solr now uses many non-numeric gauges, most notably {{String}} and 
a dynamic {{MetricsMap}}, so you would have to add a special treatment for 
these.

> Expose Metrics in Prometheus format
> -----------------------------------
>
>                 Key: SOLR-10654
>                 URL: https://issues.apache.org/jira/browse/SOLR-10654
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: metrics
>            Reporter: Keith Laban
>
> Expose metrics via a `wt=prometheus` response type.
> Example scape_config in prometheus.yml:
> {code}
> scrape_configs:
>   - job_name: 'solr'
>     metrics_path: '/solr/admin/metrics'
>     params:
>       wt: ["prometheus"]
>     static_configs:
>       - targets: ['localhost:8983']
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to