rnewson commented on issue #3377:
URL: https://github.com/apache/couchdb/issues/3377#issuecomment-783250157


   It seems the discussion is still open, are we to continue it here in the 
Issue or on the mailing list? I was about to raise several points but they've 
all come up in the discussion (without resolution).
   
   Consolidating my thoughts;
   
   1) We're adding support for Prometheus but also inventing a new format for 
it that nothing understands.
   2) Negotiation by content-type when Prometheus doesn't have a registered one 
is a mistake (The accept= query parameter idea is better).
   3) As not every item in active_tasks is a metric, the new endpoint is not a 
replacement for it, so we'll have to retain both.
   4) The output, in any format, remains Prometheus specific anyway (though, 
again, noting that tools that understand prometheus format could not consume 
our novel JSON format).
   
   It's an odd proposal that appears to satisfy no particular audience, I don't 
feel it's appropriate to add this to CouchDB in this form.
   
   The goal seemed clear, "integrate with Prometheus", and the solution is 
equally clear, a new endpoint ("/_prometheus") that emits the documented 
Prometheus format with the 'text/plain; version="0.0.4' content type. The 
CouchDB project can accept or reject such a thing. Should Prometheus become old 
hat, we can remove the endpoint, losing no other functionality.
   
   The code to interrogate CouchDB internals and produce the Prometheus output 
is useful regardless and could live on as a plugin or separate library (system 
administrators could add in the 'couchdb-prometheus-plugin' library as part of 
a custom 'make release') if the project were not to accept the work. 
   
   imo it is not a blocker that Prometheus does not speak JSON and that CouchDB 
does. This is an integration endpoint and, by definition, the two systems being 
integrated are not identical.
   
   I would vote to accept a clean Prometheus endpoint.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to