addisonj opened a new issue #2161: When httpServerEnabled=true, Prometheus reports doesn't sent content-type URL: https://github.com/apache/bookkeeper/issues/2161 **BUG REPORT** ***Describe the bug*** When running with `httpServerEnabled` set to true, `/metrics` endpoint stops sending a `content-type` header (this uses the `MetricsService`, see code here https://github.com/apache/bookkeeper/blob/28dee8464764b0edceeb31ce24424f0947b5789b/bookkeeper-server/src/main/java/org/apache/bookkeeper/server/http/service/MetricsService.java). With the `httpServerEnabled=false` the `PrometheusServlet` is used, and it does set a content-type header (https://github.com/apache/bookkeeper/blob/28dee8464764b0edceeb31ce24424f0947b5789b/bookkeeper-stats-providers/prometheus-metrics-provider/src/main/java/org/apache/bookkeeper/stats/prometheus/PrometheusServlet.java#L44) The content-type header is expected by some prometheus tools to differentiate between plaintext and protobuf formatted metrics and no content-type is considered an error. ***To Reproduce*** Steps to reproduce the behavior: 1. Set `httpServerEnabled=false` and enable prometheus reporter 2. run `curl localhost:8000/metrics` and notice that a content-type header is set 3. Set `httpServerEnabled=true` and enable prometheus reporter 4. run `curl localhost:8000/metrics -v` notice that there is no content-type header set ***Expected behavior*** I expect a content-type header It seems like the statsProvider interface should have a method for allowing to set headers on the response. Default to a given content type might cause problems with other providers.
---------------------------------------------------------------- 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] With regards, Apache Git Services
