private void process(ServerRequest req, ServerResponse res) { Set<String> filters = new HashSet<>(req.queryParams().all("name[]")); Enumeration<Collector.MetricFamilySamples> mfs = collectorRegistry.filteredMetricFamilySamples(filters); res.headers().contentType(CONTENT_TYPE); res.send(compose(mfs)); }
public String writeRegistry(Set<String> metricsToInclude) { try { Writer writer = new StringWriter(); TextFormat.write004(writer, collectorRegistry.filteredMetricFamilySamples(metricsToInclude)); return writer.toString(); } catch (IOException e) { // This actually never happens since StringWriter::write() doesn't throw any IOException throw new RuntimeException("Writing metrics failed", e); } } }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { resp.setStatus(HttpServletResponse.SC_OK); resp.setContentType(TextFormat.CONTENT_TYPE_004); Writer writer = resp.getWriter(); try { TextFormat.write004(writer, registry.filteredMetricFamilySamples(parse(req))); writer.flush(); } finally { writer.close(); } }
public void handle(HttpExchange t) throws IOException { String query = t.getRequestURI().getRawQuery(); ByteArrayOutputStream response = this.response.get(); response.reset(); OutputStreamWriter osw = new OutputStreamWriter(response); TextFormat.write004(osw, registry.filteredMetricFamilySamples(parseQuery(query))); osw.flush(); osw.close(); response.flush(); response.close(); t.getResponseHeaders().set("Content-Type", TextFormat.CONTENT_TYPE_004); if (shouldUseCompression(t)) { t.getResponseHeaders().set("Content-Encoding", "gzip"); t.sendResponseHeaders(HttpURLConnection.HTTP_OK, 0); final GZIPOutputStream os = new GZIPOutputStream(t.getResponseBody()); response.writeTo(os); os.close(); } else { t.getResponseHeaders().set("Content-Length", String.valueOf(response.size())); t.sendResponseHeaders(HttpURLConnection.HTTP_OK, response.size()); response.writeTo(t.getResponseBody()); } t.close(); }
@Override public void handle(RoutingContext ctx) { try { final BufferWriter writer = new BufferWriter(); TextFormat.write004(writer, registry.filteredMetricFamilySamples(parse(ctx.request()))); ctx.response() .setStatusCode(200) .putHeader("Content-Type", TextFormat.CONTENT_TYPE_004) .end(writer.getBuffer()); } catch (IOException e) { ctx.fail(e); } }
public String writeRegistry(Set<String> metricsToInclude) { try { Writer writer = new StringWriter(); TextFormat.write004(writer, collectorRegistry.filteredMetricFamilySamples(metricsToInclude)); return writer.toString(); } catch (IOException e) { // This actually never happens since StringWriter::write() doesn't throw any IOException throw new RuntimeException("Writing metrics failed", e); } } }
@Override protected void doGet(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response) throws IOException { response.setStatus(HttpServletResponse.SC_OK); response.setContentType(ProtobufFormatter.CONTENT_TYPE); try (final OutputStream output = response.getOutputStream()) { new ProtobufFormatter(registry.filteredMetricFamilySamples(names(request))).write(output); output.flush(); } }
private void process(ServerRequest req, ServerResponse res) { Set<String> filters = new HashSet<>(req.queryParams().all("name[]")); Enumeration<Collector.MetricFamilySamples> mfs = collectorRegistry.filteredMetricFamilySamples(filters); res.headers().contentType(CONTENT_TYPE); res.send(compose(mfs)); }
private void process(ServerRequest req, ServerResponse res) { Set<String> filters = new HashSet<>(req.queryParams().all("name[]")); Enumeration<Collector.MetricFamilySamples> mfs = collectorRegistry.filteredMetricFamilySamples(filters); res.headers().contentType(CONTENT_TYPE); res.send(compose(mfs)); }
public void handle(HttpExchange t) throws IOException { String query = t.getRequestURI().getRawQuery(); ByteArrayOutputStream response = this.response.get(); response.reset(); OutputStreamWriter osw = new OutputStreamWriter(response); TextFormat.write004(osw, registry.filteredMetricFamilySamples(parseQuery(query))); osw.flush(); osw.close(); response.flush(); response.close(); t.getResponseHeaders().set("Content-Type", TextFormat.CONTENT_TYPE_004); if (shouldUseCompression(t)) { t.getResponseHeaders().set("Content-Encoding", "gzip"); t.sendResponseHeaders(HttpURLConnection.HTTP_OK, 0); final GZIPOutputStream os = new GZIPOutputStream(t.getResponseBody()); response.writeTo(os); os.close(); } else { t.getResponseHeaders().set("Content-Length", String.valueOf(response.size())); t.sendResponseHeaders(HttpURLConnection.HTTP_OK, response.size()); response.writeTo(t.getResponseBody()); } t.close(); }