public JsonObject build() { return factory.createObjectBuilder() .add(MetricFields.METRIC_NAME, metricName) .add(MetricFields.APP_ID, applicationId) .add(MetricFields.INSTANCE_ID, instanceId) .add(MetricFields.HOSTNAME, hostname) .add(MetricFields.TIMESTAMP, timestamp) .add(MetricFields.START_TIME, timestamp) .add(MetricFields.METRICS, factory.createObjectBuilder() .add(String.valueOf(timestamp), metricValue) ).build(); }
public JsonObject build() { return factory.createObjectBuilder() .add(MetricFields.METRIC_NAME, metricName) .add(MetricFields.APP_ID, applicationId) .add(MetricFields.INSTANCE_ID, instanceId) .add(MetricFields.HOSTNAME, hostname) .add(MetricFields.TIMESTAMP, timestamp) .add(MetricFields.START_TIME, timestamp) .add(MetricFields.METRICS, factory.createObjectBuilder() .add(String.valueOf(timestamp), metricValue) ).build(); }
private static void addField(final JsonObjectBuilder builder, final JsonBuilderFactory factory, final String key, final Map<String, String> values) { if (values == null) { return; } final JsonObjectBuilder mapBuilder = factory.createObjectBuilder(); for (final Map.Entry<String, String> entry : values.entrySet()) { if (entry.getKey() == null || entry.getValue() == null) { continue; } mapBuilder.add(entry.getKey(), entry.getValue()); } builder.add(key, mapBuilder); }
/** * Create a JSON header object. * * @return JsonObject for header */ public JsonObject headerJson() { JsonObjectBuilder objectBuilder = JSON.createObjectBuilder(); headerClaims.forEach(objectBuilder::add); algorithm.ifPresent(it -> objectBuilder.add("alg", it)); keyId.ifPresent(it -> objectBuilder.add("kid", it)); type.ifPresent(it -> objectBuilder.add("typ", it)); contentType.ifPresent(it -> objectBuilder.add("cty", it)); return objectBuilder.build(); }
/** * Create a json representation of this address. * * @return Address as a Json object */ public JsonObject getJson() { JsonObjectBuilder objectBuilder = JSON.createObjectBuilder(); formatted.ifPresent(it -> objectBuilder.add("formatted", it)); streetAddress.ifPresent(it -> objectBuilder.add("street_address", it)); locality.ifPresent(it -> objectBuilder.add("locality", it)); region.ifPresent(it -> objectBuilder.add("region", it)); postalCode.ifPresent(it -> objectBuilder.add("postal_code", it)); country.ifPresent(it -> objectBuilder.add("country", it)); return objectBuilder.build(); } }
static JsonObject toJsonData(Registry registry) { JsonObjectBuilder builder = JSON.createObjectBuilder(); registry.stream() .forEach(mpMetric -> mpMetric.jsonData(builder)); return builder.build(); }
static JsonObject toJsonMeta(Registry registry) { JsonObjectBuilder builder = JSON.createObjectBuilder(); registry.stream() .forEach(mpMetric -> mpMetric.jsonMeta(builder)); return builder.build(); }
private JsonObject toJson(State state, List<HcResponse> responses) { final JsonObjectBuilder jsonBuilder = JSON.createObjectBuilder() .add("outcome", state.toString()); final JsonArrayBuilder checkArrayBuilder = JSON.createArrayBuilder(); for (HcResponse r : responses) { JsonObjectBuilder checkBuilder = JSON.createObjectBuilder(); checkBuilder.add("name", r.name()); checkBuilder.add("state", r.state().toString()); Optional<Map<String, Object>> data = r.data(); data.ifPresent(m -> checkBuilder.add("data", JSON.createObjectBuilder(m))); checkArrayBuilder.add(checkBuilder); } // Have to add this after the checkArrayBuilder is populated jsonBuilder.add("checks", checkArrayBuilder); return jsonBuilder.build(); }
static JsonObject toJsonData(Registry... registries) { JsonObjectBuilder builder = JSON.createObjectBuilder(); for (Registry registry : registries) { if (!registry.empty()) { builder.add(registry.type(), toJsonData(registry)); } } return builder.build(); }
static JsonObject toJsonMeta(Registry... registries) { JsonObjectBuilder builder = JSON.createObjectBuilder(); for (Registry registry : registries) { if (!registry.empty()) { builder.add(registry.type(), toJsonMeta(registry)); } } return builder.build(); }
@Override public void jsonData(JsonObjectBuilder builder) { JsonObjectBuilder myBuilder = JSON.createObjectBuilder(); myBuilder.add("count", getCount()); myBuilder.add("meanRate", getMeanRate()); myBuilder.add("oneMinRate", getOneMinuteRate()); myBuilder.add("fiveMinRate", getFiveMinuteRate()); myBuilder.add("fifteenMinRate", getFifteenMinuteRate()); builder.add(getName(), myBuilder.build()); }
@Override public void jsonData(JsonObjectBuilder builder) { JsonObjectBuilder myBuilder = JSON.createObjectBuilder(); myBuilder.add("count", getCount()); Snapshot snapshot = getSnapshot(); myBuilder.add("min", snapshot.getMin()); myBuilder.add("max", snapshot.getMax()); myBuilder.add("mean", snapshot.getMean()); myBuilder.add("stddev", snapshot.getStdDev()); myBuilder.add("p50", snapshot.getMedian()); myBuilder.add("p75", snapshot.get75thPercentile()); myBuilder.add("p95", snapshot.get95thPercentile()); myBuilder.add("p98", snapshot.get98thPercentile()); myBuilder.add("p99", snapshot.get99thPercentile()); myBuilder.add("p999", snapshot.get999thPercentile()); builder.add(getName(), myBuilder.build()); }
@Override public void jsonData(JsonObjectBuilder builder) { JsonObjectBuilder myBuilder = JSON.createObjectBuilder(); myBuilder.add("count", getCount()); myBuilder.add("meanRate", getMeanRate()); myBuilder.add("oneMinRate", getOneMinuteRate()); myBuilder.add("fiveMinRate", getFiveMinuteRate()); myBuilder.add("fifteenMinRate", getFifteenMinuteRate()); Snapshot snapshot = getSnapshot(); myBuilder.add("min", snapshot.getMin()); myBuilder.add("max", snapshot.getMax()); myBuilder.add("mean", snapshot.getMean()); myBuilder.add("stddev", snapshot.getStdDev()); myBuilder.add("p50", snapshot.getMedian()); myBuilder.add("p75", snapshot.get75thPercentile()); myBuilder.add("p95", snapshot.get95thPercentile()); myBuilder.add("p98", snapshot.get98thPercentile()); myBuilder.add("p99", snapshot.get99thPercentile()); myBuilder.add("p999", snapshot.get999thPercentile()); builder.add(getName(), myBuilder.build()); }
public JsonObject build() { // builds JsonObject for individual metrics final MetricBuilder metricBuilder = new MetricBuilder(factory); metricBuilder.instanceId(instanceId).applicationId(applicationId).timestamp(timestamp).hostname(hostname); final JsonArrayBuilder metricArrayBuilder = factory.createArrayBuilder(); for (Map.Entry<String,String> entry : metrics.entrySet()) { metricBuilder.metricName(entry.getKey()).metricValue(entry.getValue()); metricArrayBuilder.add(metricBuilder.build()); } // add the array of metrics to a top-level json object final JsonObjectBuilder metricsBuilder = factory.createObjectBuilder(); metricsBuilder.add(ROOT_JSON_ELEMENT, metricArrayBuilder); return metricsBuilder.build(); }
public JsonObject build() { // builds JsonObject for individual metrics final MetricBuilder metricBuilder = new MetricBuilder(factory); metricBuilder.instanceId(instanceId).applicationId(applicationId).timestamp(timestamp).hostname(hostname); final JsonArrayBuilder metricArrayBuilder = factory.createArrayBuilder(); for (Map.Entry<String,String> entry : metrics.entrySet()) { metricBuilder.metricName(entry.getKey()).metricValue(entry.getValue()); metricArrayBuilder.add(metricBuilder.build()); } // add the array of metrics to a top-level json object final JsonObjectBuilder metricsBuilder = factory.createObjectBuilder(); metricsBuilder.add(ROOT_JSON_ELEMENT, metricArrayBuilder); return metricsBuilder.build(); }
@Override public void jsonMeta(JsonObjectBuilder builder) { JsonObjectBuilder metaBuilder = JSON.createObjectBuilder(); addNonEmpty(metaBuilder, "unit", getUnit()); addNonEmpty(metaBuilder, "unit", getUnit()); addNonEmpty(metaBuilder, "type", getType()); addNonEmpty(metaBuilder, "description", getDescription()); addNonEmpty(metaBuilder, "displayName", getDisplayName()); addNonEmpty(metaBuilder, "tags", tagsToSimpleString(this)); builder.add(getName(), metaBuilder); }
private void getOne(ServerRequest req, ServerResponse res, Registry registry) { String metricName = req.path().param("metric"); OptionalHelper.from(registry.getMetric(metricName)) .ifPresentOrElse(metric -> { if (requestsJsonData(req.headers())) { JsonObjectBuilder builder = JSON.createObjectBuilder(); metric.jsonData(builder); res.send(builder.build()); } else { res.send(metric.prometheusData()); } }, () -> { res.status(Http.Status.NOT_FOUND_404); res.send(); }); }
private void optionsOne(ServerRequest req, ServerResponse res, Registry registry) { String metricName = req.path().param("metric"); OptionalHelper.from(registry.getMetric(metricName)) .ifPresentOrElse(metric -> { if (req.headers().isAccepted(MediaType.APPLICATION_JSON)) { JsonObjectBuilder builder = JSON.createObjectBuilder(); metric.jsonMeta(builder); res.send(builder.build()); } else { res.status(Http.Status.NOT_ACCEPTABLE_406); res.send(); } }, () -> { res.status(Http.Status.NO_CONTENT_204); res.send(); }); }
private void serializeRemoteProcessGroupStatus(final JsonArrayBuilder arrayBuilder, final JsonBuilderFactory factory, final RemoteProcessGroupStatus status, final DateFormat df, final String hostname, final String applicationName, final String platform, final String parentId, final Date currentDate) { final JsonObjectBuilder builder = factory.createObjectBuilder(); final String componentType = "RemoteProcessGroup"; final String componentName = status.getName(); if (componentMatchesFilters(componentType, componentName)) { addCommonFields(builder, df, hostname, applicationName, platform, parentId, currentDate, componentType, componentName); addField(builder, "componentId", status.getId()); addField(builder, "activeRemotePortCount", status.getActiveRemotePortCount()); addField(builder, "activeThreadCount", status.getActiveThreadCount()); addField(builder, "inactiveRemotePortCount", status.getInactiveRemotePortCount()); addField(builder, "receivedContentSize", status.getReceivedContentSize()); addField(builder, "receivedCount", status.getReceivedCount()); addField(builder, "sentContentSize", status.getSentContentSize()); addField(builder, "sentCount", status.getSentCount()); addField(builder, "averageLineageDuration", status.getAverageLineageDuration()); arrayBuilder.add(builder.build()); } }
private void serializePortStatus(final String componentType, final JsonArrayBuilder arrayBuilder, final JsonBuilderFactory factory, final PortStatus status, final DateFormat df, final String hostname, final String applicationName, final String platform, final String parentId, final Date currentDate) { final JsonObjectBuilder builder = factory.createObjectBuilder(); final String componentName = status.getName(); if (componentMatchesFilters(componentType, componentName)) { addCommonFields(builder, df, hostname, applicationName, platform, parentId, currentDate, componentType, componentName); addField(builder, "componentId", status.getId()); addField(builder, "activeThreadCount", status.getActiveThreadCount()); addField(builder, "bytesReceived", status.getBytesReceived()); addField(builder, "bytesSent", status.getBytesSent()); addField(builder, "flowFilesReceived", status.getFlowFilesReceived()); addField(builder, "flowFilesSent", status.getFlowFilesSent()); addField(builder, "inputBytes", status.getInputBytes()); addField(builder, "inputCount", status.getInputCount()); addField(builder, "outputBytes", status.getOutputBytes()); addField(builder, "outputCount", status.getOutputCount()); arrayBuilder.add(builder.build()); } }