@Override public DefaultTraversalMetrics get() { return new DefaultTraversalMetrics(); }
@Override public TraversalMetrics createObject(final Map<String, Object> traversalMetricsData) { return new DefaultTraversalMetrics( Math.round((Double) traversalMetricsData.get(GraphSONTokens.DURATION) * 1000000), (List<MutableMetrics>) traversalMetricsData.get(GraphSONTokens.METRICS) ); } }
@Override public TraversalMetrics deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { final Map<String, Object> traversalMetricsData = deserializationContext.readValue(jsonParser, Map.class); return new DefaultTraversalMetrics( Math.round((Double) traversalMetricsData.get(GraphSONTokens.DURATION) * 1000000), (List<MutableMetrics>) traversalMetricsData.get(GraphSONTokens.METRICS) ); }
@Override public <I extends InputShim> TraversalMetrics read(final KryoShim<I, ?> kryo, final I input, final Class<TraversalMetrics> clazz) { final double duration = input.readDouble(); final int size = input.readInt(); final List<MutableMetrics> orderedMetrics = new ArrayList<>(); for (int ix = 0; ix < size; ix++) { orderedMetrics.add(kryo.readObject(input, MutableMetrics.class)); } return new DefaultTraversalMetrics(Math.round(duration * 1000000), orderedMetrics); } }
private static DefaultTraversalMetrics createStaticTraversalMetrics() { // based on g.V().hasLabel("person").out().out().tree().profile().next() final List<MutableMetrics> traversalMutableMetrics = new ArrayList<>(); final MutableMetrics m7 = new MutableMetrics("7.0.0()", "TinkerGraphStep(vertex,[~label.eq(person)])"); m7.setDuration(100, TimeUnit.MILLISECONDS); m7.setCount("traverserCount", 4); m7.setCount("elementCount", 4); m7.setAnnotation("percentDur", 25.0d); traversalMutableMetrics.add(m7); final MutableMetrics m2 = new MutableMetrics("2.0.0()", "VertexStep(OUT,vertex)"); m2.setDuration(100, TimeUnit.MILLISECONDS); m2.setCount("traverserCount", 13); m2.setCount("elementCount", 13); m2.setAnnotation("percentDur", 25.0d); traversalMutableMetrics.add(m2); final MutableMetrics m3 = new MutableMetrics("3.0.0()", "VertexStep(OUT,vertex)"); m3.setDuration(100, TimeUnit.MILLISECONDS); m3.setCount("traverserCount", 7); m3.setCount("elementCount", 7); m3.setAnnotation("percentDur", 25.0d); traversalMutableMetrics.add(m3); final MutableMetrics m4 = new MutableMetrics("4.0.0()", "TreeStep"); m4.setDuration(100, TimeUnit.MILLISECONDS); m4.setCount("traverserCount", 1); m4.setCount("elementCount", 1); m4.setAnnotation("percentDur", 25.0d); traversalMutableMetrics.add(m4); return new DefaultTraversalMetrics(4000, traversalMutableMetrics); }
@Override public DefaultTraversalMetrics get() { return new DefaultTraversalMetrics(); }
@Override public TraversalMetrics createObject(final Map<String, Object> traversalMetricsData) { return new DefaultTraversalMetrics( Math.round((Double) traversalMetricsData.get(GraphSONTokens.DURATION) * 1000000), (List<MutableMetrics>) traversalMetricsData.get(GraphSONTokens.METRICS) ); } }
@Override public TraversalMetrics deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException { final Map<String, Object> traversalMetricsData = deserializationContext.readValue(jsonParser, Map.class); return new DefaultTraversalMetrics( Math.round((Double) traversalMetricsData.get(GraphSONTokens.DURATION) * 1000000), (List<MutableMetrics>) traversalMetricsData.get(GraphSONTokens.METRICS) ); }
@Override public <I extends InputShim> TraversalMetrics read(final KryoShim<I, ?> kryo, final I input, final Class<TraversalMetrics> clazz) { final double duration = input.readDouble(); final int size = input.readInt(); final List<MutableMetrics> orderedMetrics = new ArrayList<>(); for (int ix = 0; ix < size; ix++) { orderedMetrics.add(kryo.readObject(input, MutableMetrics.class)); } return new DefaultTraversalMetrics(Math.round(duration * 1000000), orderedMetrics); } }