public JsonBenchmarkResultWriter(OutputStream outputStream) { requireNonNull(outputStream, "outputStream is null"); try { jsonGenerator = new JsonFactory().createGenerator(outputStream, JsonEncoding.UTF8); jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("samples"); } catch (IOException e) { throw new UncheckedIOException(e); } }
public static void writeArray(JsonGenerator json, String fieldName, Collection<String> array) throws IOException { json.writeArrayFieldStart(fieldName); for (String o: array) json.writeObject(o); json.writeEndArray(); }
public void serialize(JsonGenerator jgen, BeakerObjectConverter boc) throws JsonGenerationException, IOException { jgen.writeStartObject(); if (theStyle!=null) jgen.writeStringField("thestyle", theStyle); if (theClass!=null) jgen.writeStringField("theclass", theClass); jgen.writeArrayFieldStart("cols"); for (dashColumn r : payload) r.serialize(jgen, boc); jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public List<ProfileNode> visit(ProfileNode node, int depth) throws IOException { height = Math.max(height, depth + 1); jg.writeStartObject(); jg.writeStringField("name", node.getText()); jg.writeNumberField("value", node.sampleCount); if (!node.childNodes.isEmpty()) { jg.writeArrayFieldStart("children"); } return node.childNodes; }
@Override public void writeString(int fieldNumber, CharSequence value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeString(value.toString()); return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); generator.writeString(value.toString()); } else generator.writeStringField(name, value.toString()); lastNumber = fieldNumber; lastRepeated = repeated; }
public static void jsonArrayStream(OutputStream os, Consumer<JsonGenerator> itemGenerator) throws IOException { JsonGenerator jg = objectMapper.getFactory().createGenerator(os); jg.writeStartObject(); { jg.writeNumberField("status", HttpStatus.OK_200); jg.writeNumberField("resultCode", SUCCESS); jg.writeStringField("message", ""); jg.writeArrayFieldStart("result"); { itemGenerator.accept(jg); } jg.writeEndArray(); } jg.writeEndObject(); jg.flush(); jg.close(); }
public static void writeArray(JsonGenerator json, String fieldName, String[] array) throws IOException { json.writeArrayFieldStart(fieldName); for (String o: array) json.writeObject(o); json.writeEndArray(); }
@Override public List<ProfileNode> visit(ProfileNode node, int depth) throws IOException { jg.writeStartObject(); jg.writeStringField("stackTraceElement", node.getText()); Profile.LeafThreadState leafThreadState = node.leafThreadState; if (leafThreadState != Profile.LeafThreadState.NONE) { jg.writeStringField("leafThreadState", leafThreadState.name()); } jg.writeNumberField("sampleCount", node.sampleCount); long ellipsedSampleCount = node.ellipsedSampleCount; if (ellipsedSampleCount > 0) { jg.writeNumberField("ellipsedSampleCount", ellipsedSampleCount); } List<ProfileNode> childNodes = node.childNodes; if (!childNodes.isEmpty()) { jg.writeArrayFieldStart("childNodes"); } return childNodes; }
private void writeNodeDetails(JsonGenerator jsonGenerator, Node node, boolean withNodeProperties) throws IOException { jsonGenerator.writeStringField("id", String.valueOf(node.getId())); if (node.getLabels().iterator().hasNext()) { jsonGenerator.writeArrayFieldStart("labels"); List<String> labels = getLabelsSorted(node); for (String label : labels) { jsonGenerator.writeString(label); } jsonGenerator.writeEndArray(); } if (withNodeProperties) { serializeProperties(jsonGenerator, node.getAllProperties()); } }
public void serialize(JsonGenerator jgen, BeakerObjectConverter boc) throws JsonGenerationException, IOException { jgen.writeStartObject(); jgen.writeNumberField("width", w); if (theStyle!=null) jgen.writeStringField("thestyle", theStyle); if (theClass!=null) jgen.writeStringField("theclass", theClass); jgen.writeArrayFieldStart("payload"); for (Object o : payload) { if ( o instanceof dashRow ) { ((dashRow) o).serialize(jgen, boc); } else if (!boc.writeObject(o, jgen, true)) jgen.writeObject(o.toString()); } jgen.writeEndArray(); jgen.writeEndObject(); }
public static void writeArray(JsonGenerator json, String fieldName, double[] array) throws IOException { json.writeArrayFieldStart(fieldName); for (double o: array) json.writeObject(o); json.writeEndArray(); }
private void writeReplacements(JsonGenerator g, RuleMatch match) throws IOException { g.writeArrayFieldStart("replacements"); for (SuggestedReplacement replacement : match.getSuggestedReplacementObjects()) { g.writeStartObject(); g.writeStringField("value", replacement.getReplacement()); if (replacement.getShortDescription() != null) { g.writeStringField("shortDescription", replacement.getShortDescription()); } g.writeEndObject(); } g.writeEndArray(); }
/** * Serialize this pair of histograms out as a JSON document using the given JsonGenerator. The format is: * <pre> { * sums: [], * counts: [] * } </pre> */ public void writeJson(JsonGenerator jgen) throws JsonGenerationException, IOException { // The number of features reached during each minute, ignoring their magnitudes jgen.writeArrayFieldStart("sums"); { for(int sum : sums) { jgen.writeNumber(sum); } } jgen.writeEndArray(); // The total number of opportunities reached during each minute (the sum of the features' magnitudes) jgen.writeArrayFieldStart("counts"); { for(int count : counts) { jgen.writeNumber(count); } } jgen.writeEndArray(); } }
/** {@inheritDoc} */ @Override public void serialize(Throwable e, JsonGenerator gen, SerializerProvider ser) throws IOException { gen.writeStartObject(); writeException(e, gen); if (e.getCause() != null) gen.writeObjectField("cause", e.getCause()); if (!F.isEmpty(e.getSuppressed())) { gen.writeArrayFieldStart("suppressed"); for (Throwable sup : e.getSuppressed()) gen.writeObject(sup); gen.writeEndArray(); } gen.writeEndObject(); } };
@Override public void writeInt32(int fieldNumber, int value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(value); return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); generator.writeNumber(value); } else generator.writeNumberField(name, value); lastNumber = fieldNumber; lastRepeated = repeated; }
@Override public void serialize(BeakerDashboard value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { synchronized(value) { jgen.writeStartObject(); jgen.writeObjectField("update_time", System.currentTimeMillis()); jgen.writeObjectField("type", SerializerUtil.getTypeName(value)); if (value.getTheStyle()!=null) jgen.writeStringField("thestyle", value.getTheStyle()); if (value.getTheClass()!=null) jgen.writeStringField("theclass", value.getTheClass()); jgen.writeArrayFieldStart("rows"); jgen.writeEndArray(); jgen.writeEndObject(); } } }
@Override public void writeInt64(int fieldNumber, long value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(value); return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); generator.writeNumber(value); } else generator.writeNumberField(name, value); lastNumber = fieldNumber; lastRepeated = repeated; }
@Override public void serialize( final ICoordinatedCluster value, final JsonGenerator jgen, final SerializerProvider provider ) throws IOException { jgen.writeStartObject(); jgen.writeStringField( NAME, value.getName() ); jgen.writeNumberField( SIZE, value.getSize() ); jgen.writeObjectField( INSTANCE_SPEC, value.getInstanceSpec() ); jgen.writeArrayFieldStart( INSTANCES ); for( Instance instance: value.getInstances() ) { jgen.writeObject( instance ); } jgen.writeEndArray(); jgen.writeEndObject(); } }
@Override public void writeDouble(int fieldNumber, double value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(value); return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); generator.writeNumber(value); } else generator.writeNumberField(name, value); lastNumber = fieldNumber; lastRepeated = repeated; }
@Override public void toJson(JsonGenerator gen) throws IOException { gen.writeStartObject(); // common tags gen.writeObjectFieldStart("tags"); for (Tag tag : tags) { ValidCharacters.tagToJson(gen, tag); } gen.writeEndObject(); gen.writeArrayFieldStart("metrics"); for (AtlasMetric m : metrics) { m.toJson(gen); } gen.writeEndArray(); gen.writeEndObject(); gen.flush(); } }