org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics Java Examples
The following examples show how to use
org.apache.tinkerpop.gremlin.process.traversal.util.TraversalMetrics.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AbstractTypedCompatibilityTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void shouldReadWriteTraversalMetrics() throws Exception { final String resourceName = "traversalmetrics"; assumeCompatibility(resourceName); final TraversalMetrics resource = findModelEntryObject(resourceName); final TraversalMetrics fromStatic = (TraversalMetrics) read(getCompatibility().readFromResource(resourceName), getCompatibility().resolve(TraversalMetrics.class)); final TraversalMetrics recycled = (TraversalMetrics) read(write(fromStatic, TraversalMetrics.class), getCompatibility().resolve(TraversalMetrics.class)); assertNotSame(fromStatic, recycled); // need to assert against each other since the model version can change between test runs as it is dynamically // generated assertEquals(recycled.getDuration(TimeUnit.MILLISECONDS), fromStatic.getDuration(TimeUnit.MILLISECONDS)); final Collection<? extends Metrics> resourceMetrics = resource.getMetrics(); resourceMetrics.forEach(m -> { assertEquals(recycled.getMetrics(m.getId()).getAnnotations(), fromStatic.getMetrics(m.getId()).getAnnotations()); assertEquals(recycled.getMetrics(m.getId()).getName(), fromStatic.getMetrics(m.getId()).getName()); assertEquals(recycled.getMetrics(m.getId()).getCounts(), fromStatic.getMetrics(m.getId()).getCounts()); }); }
Example #2
Source File: CustomTest.java From hgraphdb with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") @Ignore @Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final ObjectMapper mapper = graph.io(GraphSONIo.build()).mapper().create().createMapper(); final TraversalMetrics tm = (TraversalMetrics) g.V().both().profile().next(); final String json = mapper.writeValueAsString(tm); final Map<String, Object> m = mapper.readValue(json, mapTypeReference); assertTrue(m.containsKey(GraphSONTokens.DURATION)); assertTrue(m.containsKey(GraphSONTokens.METRICS)); final List<Map<String, Object>> metrics = (List<Map<String, Object>>) m.get(GraphSONTokens.METRICS); assertEquals(2, metrics.size()); final Map<String, Object> metrics0 = metrics.get(0); assertTrue(metrics0.containsKey(GraphSONTokens.ID)); assertTrue(metrics0.containsKey(GraphSONTokens.NAME)); assertTrue(metrics0.containsKey(GraphSONTokens.COUNTS)); assertTrue(metrics0.containsKey(GraphSONTokens.DURATION)); }
Example #3
Source File: TinkerGraphGraphSONSerializerV2d0Test.java From tinkergraph-gremlin with Apache License 2.0 | 6 votes |
@Test public void deserializersTestsTraversalMetrics() { final TinkerGraph tg = TinkerFactory.createModern(); final GraphWriter writer = getWriter(defaultMapperV2d0); final GraphReader reader = getReader(defaultMapperV2d0); final TraversalMetrics tm = tg.traversal().V(1).as("a").has("name").as("b"). out("knows").out("created").as("c"). has("name", "ripple").values("name").as("d"). identity().as("e").profile().next(); try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) { writer.writeObject(out, tm); final String json = out.toString(); final TraversalMetrics traversalMetricsRead = (TraversalMetrics)reader.readObject(new ByteArrayInputStream(json.getBytes()), Object.class); // toString should be enough to compare TraversalMetrics assertTrue(tm.toString().equals(traversalMetricsRead.toString())); } catch (IOException e) { e.printStackTrace(); fail("Should not have thrown exception: " + e.getMessage()); } }
Example #4
Source File: TraversalVertexProgram.java From tinkerpop with Apache License 2.0 | 6 votes |
@Override public void workerIterationEnd(final Memory memory) { // store profile metrics in proper ProfileStep metrics if (this.profile) { final List<ProfileStep> profileSteps = TraversalHelper.getStepsOfAssignableClassRecursively(ProfileStep.class, this.traversal.get()); // guess the profile step to store data int profileStepIndex = memory.getIteration(); // if we guess wrongly write timing into last step profileStepIndex = profileStepIndex >= profileSteps.size() ? profileSteps.size() - 1 : profileStepIndex; this.iterationMetrics.finish(0); // reset counts this.iterationMetrics.setCount(TraversalMetrics.TRAVERSER_COUNT_ID,0); if (null != MemoryTraversalSideEffects.getMemorySideEffectsPhase(this.traversal.get())) { this.traversal.get().getSideEffects().add(profileSteps.get(profileStepIndex).getId(), this.iterationMetrics); } this.iterationMetrics = null; } }
Example #5
Source File: SerializationTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final GryoIo gryoIo = graph.io(GryoIo.build(GryoVersion.V1_0)); final GryoWriter gryoWriter = gryoIo.writer().create(); final GryoReader gryoReader = gryoIo.reader().create(); final TraversalMetrics before = g.V().both().profile().next(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); gryoWriter.writeObject(outputStream, before); final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); final TraversalMetrics after = gryoReader.readObject(inputStream, TraversalMetrics.class); assertNotNull(after); assertEquals(before.getMetrics().size(), after.getMetrics().size()); assertEquals(before.getDuration(TimeUnit.MILLISECONDS), after.getDuration(TimeUnit.MILLISECONDS)); assertEquals(before.getMetrics(0).getCounts(), after.getMetrics().stream().findFirst().get().getCounts()); }
Example #6
Source File: SerializationTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final GryoIo gryoIo = graph.io(GryoIo.build(GryoVersion.V3_0)); final GryoWriter gryoWriter = gryoIo.writer().create(); final GryoReader gryoReader = gryoIo.reader().create(); final TraversalMetrics before = (TraversalMetrics) g.V().both().profile().next(); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); gryoWriter.writeObject(outputStream, before); final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); final TraversalMetrics after = gryoReader.readObject(inputStream, TraversalMetrics.class); assertNotNull(after); assertEquals(before.getMetrics().size(), after.getMetrics().size()); assertEquals(before.getDuration(TimeUnit.MILLISECONDS), after.getDuration(TimeUnit.MILLISECONDS)); assertEquals(before.getMetrics(0).getCounts(), after.getMetrics().stream().findFirst().get().getCounts()); }
Example #7
Source File: SerializationTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final ObjectMapper mapper = graph.io(GraphSONIo.build(GraphSONVersion.V1_0)).mapper().version(GraphSONVersion.V1_0).create().createMapper(); final TraversalMetrics tm = g.V().both().profile().next(); final String json = mapper.writeValueAsString(tm); final Map<String, Object> m = mapper.readValue(json, mapTypeReference); assertTrue(m.containsKey(GraphSONTokens.DURATION)); assertTrue(m.containsKey(GraphSONTokens.METRICS)); final List<Map<String, Object>> metrics = (List<Map<String, Object>>) m.get(GraphSONTokens.METRICS); assertEquals(tm.getMetrics().size(), metrics.size()); final Map<String, Object> metrics0 = metrics.get(0); assertTrue(metrics0.containsKey(GraphSONTokens.ID)); assertTrue(metrics0.containsKey(GraphSONTokens.NAME)); assertTrue(metrics0.containsKey(GraphSONTokens.COUNTS)); assertTrue(metrics0.containsKey(GraphSONTokens.DURATION)); }
Example #8
Source File: SerializationTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final ObjectMapper mapper = graph.io(GraphSONIo.build(GraphSONVersion.V2_0)).mapper().version(GraphSONVersion.V2_0).create().createMapper(); final TraversalMetrics before = g.V().both().profile().next(); final String json = mapper.writeValueAsString(before); final TraversalMetrics after = mapper.readValue(json, TraversalMetrics.class); assertNotNull(after); assertEquals(before.getMetrics().size(), after.getMetrics().size()); assertEquals(before.getDuration(TimeUnit.MILLISECONDS), after.getDuration(TimeUnit.MILLISECONDS)); assertEquals(before.getMetrics().size(), after.getMetrics().size()); before.getMetrics().forEach(b -> { final Optional<? extends Metrics> mFromA = after.getMetrics().stream().filter(a -> b.getId().equals(a.getId())).findFirst(); if (mFromA.isPresent()) { final Metrics m = mFromA.get(); assertEquals(b.getAnnotations(), m.getAnnotations()); assertEquals(b.getCounts(), m.getCounts()); assertEquals(b.getName(), m.getName()); assertEquals(b.getDuration(TimeUnit.MILLISECONDS), m.getDuration(TimeUnit.MILLISECONDS)); } else { fail("Metrics were not present after deserialization"); } }); }
Example #9
Source File: SerializationTest.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test @LoadGraphWith(LoadGraphWith.GraphData.MODERN) public void shouldSerializeTraversalMetrics() throws Exception { final ObjectMapper mapper = graph.io(GraphSONIo.build(GraphSONVersion.V3_0)).mapper().version(GraphSONVersion.V3_0).create().createMapper(); final TraversalMetrics before = g.V().both().profile().next(); final String json = mapper.writeValueAsString(before); final TraversalMetrics after = mapper.readValue(json, TraversalMetrics.class); assertNotNull(after); assertEquals(before.getMetrics().size(), after.getMetrics().size()); assertEquals(before.getDuration(TimeUnit.MILLISECONDS), after.getDuration(TimeUnit.MILLISECONDS)); assertEquals(before.getMetrics().size(), after.getMetrics().size()); before.getMetrics().forEach(b -> { final Optional<? extends Metrics> mFromA = after.getMetrics().stream().filter(a -> b.getId().equals(a.getId())).findFirst(); if (mFromA.isPresent()) { final Metrics m = mFromA.get(); assertEquals(b.getAnnotations(), m.getAnnotations()); assertEquals(b.getCounts(), m.getCounts()); assertEquals(b.getName(), m.getName()); assertEquals(b.getDuration(TimeUnit.MILLISECONDS), m.getDuration(TimeUnit.MILLISECONDS)); } else { fail("Metrics were not present after deserialization"); } }); }
Example #10
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 6 votes |
private void validate_g_V_out_out_profile_modern(final Traversal traversal, final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown assumeThat("The following assertions apply to TinkerGraph only as provider strategies can alter the steps to not comply with expectations", graph.getClass().getSimpleName(), equalTo("TinkerGraph")); Metrics metrics = traversalMetrics.getMetrics(0); assertEquals(6, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertEquals(6, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); metrics = traversalMetrics.getMetrics(1); assertEquals(6, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); assertNotEquals(0, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); metrics = traversalMetrics.getMetrics(2); assertEquals(2, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); assertNotEquals(0, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); if (!onGraphComputer(traversal.asAdmin())) { // Every other step should be a Profile step List<Step> steps = traversal.asAdmin().getSteps(); for (int ii = 1; ii <= 6; ii += 2) { assertEquals("Every other Step should be a ProfileStep.", ProfileStep.class, steps.get(ii).getClass()); } } }
Example #11
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 6 votes |
private void validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown assumeThat("The following assertions apply to TinkerGraph only as provider strategies can alter the steps to not comply with expectations", graph.getClass().getSimpleName(), equalTo("TinkerGraph")); // Grab the second (sideEffect{sleep}) step and check the times. Metrics metrics = traversalMetrics.getMetrics(1); // 6 elements w/ a 10ms sleep each = 60ms with 10ms for other computation. assertTrue("Duration should be at least the length of the sleep (59ms): " + metrics.getDuration(TimeUnit.MILLISECONDS), metrics.getDuration(TimeUnit.MILLISECONDS) >= 59); // 6 elements w/ a 5ms sleep each = 30ms plus 20ms for other computation metrics = traversalMetrics.getMetrics(2); assertTrue("Duration should be at least the length of the sleep (29ms): " + metrics.getDuration(TimeUnit.MILLISECONDS), metrics.getDuration(TimeUnit.MILLISECONDS) >= 29); double totalPercentDuration = 0; for (Metrics m : traversalMetrics.getMetrics()) { totalPercentDuration += (Double) m.getAnnotation(TraversalMetrics.PERCENT_DURATION_KEY); } assertEquals(100, totalPercentDuration, 0.000001); }
Example #12
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 6 votes |
private void validate_g_V_whereXinXcreatedX_count_isX1XX_name_profile(final Traversal traversal, final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown assumeThat("The following assertions apply to TinkerGraph only as provider strategies can alter the steps to not comply with expectations", graph.getClass().getSimpleName(), equalTo("TinkerGraph")); assertEquals("There should be 3 top-level metrics.", 3, traversalMetrics.getMetrics().size()); Metrics metrics = traversalMetrics.getMetrics(0); assertEquals(6, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertEquals(6, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); metrics = traversalMetrics.getMetrics(1); assertEquals(1, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertEquals(1, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); if (traversal.asAdmin().getStrategies().getStrategy(CountStrategy.class).isPresent()) { assertEquals("Metrics 1 should have 4 nested metrics.", 4, metrics.getNested().size()); } else { assertEquals("Metrics 1 should have 3 nested metrics.", 3, metrics.getNested().size()); } }
Example #13
Source File: TinkerGraphGraphSONSerializerV2d0Test.java From tinkerpop with Apache License 2.0 | 6 votes |
@Test public void deserializersTestsTraversalMetrics() { final TinkerGraph tg = TinkerFactory.createModern(); final GraphWriter writer = getWriter(defaultMapperV2d0); final GraphReader reader = getReader(defaultMapperV2d0); final TraversalMetrics tm = tg.traversal().V(1).as("a").has("name").as("b"). out("knows").out("created").as("c"). has("name", "ripple").values("name").as("d"). identity().as("e").profile().next(); try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) { writer.writeObject(out, tm); final String json = out.toString(); final TraversalMetrics traversalMetricsRead = (TraversalMetrics)reader.readObject(new ByteArrayInputStream(json.getBytes()), Object.class); // toString should be enough to compare TraversalMetrics assertTrue(tm.toString().equals(traversalMetricsRead.toString())); } catch (IOException e) { e.printStackTrace(); fail("Should not have thrown exception: " + e.getMessage()); } }
Example #14
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void testProfileStrategyCallback() { final Traversal<Vertex, TraversalMetrics> t = get_g_V_out_out_profile(); MockStep mockStep = new MockStep(t.asAdmin()); t.asAdmin().addStep(3, mockStep); TraversalMetrics traversalMetrics = t.next(); assertTrue(mockStep.callbackCalled); if (!onGraphComputer(t.asAdmin())) { assertEquals(100, traversalMetrics.getMetrics(3).getCount("bogusCount").longValue()); } }
Example #15
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) @IgnoreEngine(TraversalEngine.Type.STANDARD) public void g_V_hasLabelXpersonX_pageRank_withXpropertyName_rankX_withXedges_bothEX_rank_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_hasLabelXpersonX_pageRank_withXpropertyName_rankX_withXedges_bothEX_rank_profile(); //printTraversalForm(traversal); try { traversal.iterate(); fail("Should have tossed an exception because multi-OLAP is unsolvable"); } catch (Exception ex) { assertTrue(ex instanceof VerificationException || ExceptionUtils.getRootCause(ex) instanceof VerificationException); } }
Example #16
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void g_V_groupXmX_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_groupXmX_profile(); printTraversalForm(traversal); traversal.next(); assertFalse(traversal.hasNext()); }
Example #17
Source File: TinkerGraphGraphSONSerializerV2d0Test.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test public void deserializersTestsMetrics() { final TinkerGraph tg = TinkerFactory.createModern(); final GraphWriter writer = getWriter(defaultMapperV2d0); final GraphReader reader = getReader(defaultMapperV2d0); final TraversalMetrics tm = tg.traversal().V(1).as("a").has("name").as("b"). out("knows").out("created").as("c"). has("name", "ripple").values("name").as("d"). identity().as("e").profile().next(); final MutableMetrics m = new MutableMetrics(tm.getMetrics(0)); // making sure nested metrics are included in serde m.addNested(new MutableMetrics(tm.getMetrics(1))); try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) { writer.writeObject(out, m); final String json = out.toString(); final Metrics metricsRead = (Metrics)reader.readObject(new ByteArrayInputStream(json.getBytes()), Object.class); // toString should be enough to compare Metrics assertTrue(m.toString().equals(metricsRead.toString())); } catch (IOException e) { e.printStackTrace(); fail("Should not have thrown exception: " + e.getMessage()); } }
Example #18
Source File: TinkerGraphGraphSONSerializerV2d0Test.java From tinkergraph-gremlin with Apache License 2.0 | 5 votes |
@Test public void deserializersTestsMetrics() { final TinkerGraph tg = TinkerFactory.createModern(); final GraphWriter writer = getWriter(defaultMapperV2d0); final GraphReader reader = getReader(defaultMapperV2d0); final TraversalMetrics tm = tg.traversal().V(1).as("a").has("name").as("b"). out("knows").out("created").as("c"). has("name", "ripple").values("name").as("d"). identity().as("e").profile().next(); final MutableMetrics m = new MutableMetrics(tm.getMetrics(0)); // making sure nested metrics are included in serde m.addNested(new MutableMetrics(tm.getMetrics(1))); try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) { writer.writeObject(out, m); final String json = out.toString(); final Metrics metricsRead = (Metrics)reader.readObject(new ByteArrayInputStream(json.getBytes()), Object.class); // toString should be enough to compare Metrics assertTrue(m.toString().equals(metricsRead.toString())); } catch (IOException e) { e.printStackTrace(); fail("Should not have thrown exception: " + e.getMessage()); } }
Example #19
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void g_V_matchXa_created_b__b_in_count_isXeqX1XXX_selectXa_bX_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_matchXa_created_b__b_in_count_isXeqX1XXX_selectXa_bX_profile(); printTraversalForm(traversal); traversal.iterate(); }
Example #20
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void g_V_whereXinXcreatedX_count_isX1XX_name_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_whereXinXcreatedX_count_isX1XX_name_profile(); printTraversalForm(traversal); final TraversalMetrics traversalMetrics = traversal.next(); validate_g_V_whereXinXcreatedX_count_isX1XX_name_profile(traversal, traversalMetrics); }
Example #21
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void g_V_repeat_both_profileXmetricsX() { final Traversal<Vertex, Vertex> traversal = get_g_V_repeatXbothX_timesX3X_profileXmetricsX(); printTraversalForm(traversal); traversal.iterate(); final TraversalMetrics traversalMetrics = traversal.asAdmin().getSideEffects().get(METRICS_KEY); validate_g_V_repeat_both_modern_profile(traversalMetrics, traversal.asAdmin().getStrategies().getStrategy(RepeatUnrollStrategy.class).isPresent() && !traversal.asAdmin().getStrategies().getStrategy(ComputerVerificationStrategy.class).isPresent()); }
Example #22
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void g_V_repeat_both_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_repeatXbothX_timesX3X_profile(); printTraversalForm(traversal); final TraversalMetrics traversalMetrics = traversal.next(); validate_g_V_repeat_both_modern_profile(traversalMetrics, traversal.asAdmin().getStrategies().getStrategy(RepeatUnrollStrategy.class).isPresent() && !traversal.asAdmin().getStrategies().getStrategy(ComputerVerificationStrategy.class).isPresent()); }
Example #23
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) @IgnoreEngine(TraversalEngine.Type.COMPUTER) public void g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profileXmetricsX() { final Traversal<Vertex, Vertex> traversal = get_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profileXmetricsX(); printTraversalForm(traversal); traversal.iterate(); // This assertion is really only meant for tinkergraph if (graph.getClass().getSimpleName().equals("TinkerGraph")) assertEquals("There should be 7 steps in this traversal (counting injected profile steps).", 7, traversal.asAdmin().getSteps().size()); final TraversalMetrics traversalMetrics = traversal.asAdmin().getSideEffects().get(METRICS_KEY); validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(traversalMetrics); }
Example #24
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) @IgnoreEngine(TraversalEngine.Type.COMPUTER) public void g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(); printTraversalForm(traversal); // This assertion is really only meant for tinkergraph if (graph.getClass().getSimpleName().equals("TinkerGraph")) assertEquals("There should be 8 steps in this traversal (counting injected profile steps).", 8, traversal.asAdmin().getSteps().size()); final TraversalMetrics traversalMetrics = traversal.next(); validate_g_V_sideEffectXThread_sleepX10XX_sideEffectXThread_sleepX5XX_profile(traversalMetrics); }
Example #25
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
private void validate_g_V_out_out_profile_grateful(final TraversalMetrics traversalMetrics) { traversalMetrics.toString(); // ensure no exceptions are thrown assumeThat("The following assertions apply to TinkerGraph only as provider strategies can alter the steps to not comply with expectations", graph.getClass().getSimpleName(), equalTo("TinkerGraph")); Metrics metrics = traversalMetrics.getMetrics(0); assertEquals(808, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertEquals(808, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); assertTrue("Percent duration should be positive.", (Double) metrics.getAnnotation(TraversalMetrics.PERCENT_DURATION_KEY) >= 0); assertTrue("Times should be positive.", metrics.getDuration(TimeUnit.MICROSECONDS) >= 0); metrics = traversalMetrics.getMetrics(1); assertEquals(8049, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); assertNotEquals(0, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertTrue("Percent duration should be positive.", (Double) metrics.getAnnotation(TraversalMetrics.PERCENT_DURATION_KEY) >= 0); assertTrue("Times should be positive.", metrics.getDuration(TimeUnit.MICROSECONDS) >= 0); metrics = traversalMetrics.getMetrics(2); assertEquals(327370, metrics.getCount(TraversalMetrics.ELEMENT_COUNT_ID).longValue()); assertNotEquals(0, metrics.getCount(TraversalMetrics.TRAVERSER_COUNT_ID).longValue()); assertTrue("Percent duration should be positive.", (Double) metrics.getAnnotation(TraversalMetrics.PERCENT_DURATION_KEY) >= 0); assertTrue("Times should be positive.", metrics.getDuration(TimeUnit.MICROSECONDS) >= 0); double totalPercentDuration = 0; for (Metrics m : traversalMetrics.getMetrics()) { totalPercentDuration += (Double) m.getAnnotation(TraversalMetrics.PERCENT_DURATION_KEY); } assertEquals(100, totalPercentDuration, 0.000001); }
Example #26
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(GRATEFUL) public void grateful_V_out_out_profileXmetricsX() { final Traversal<Vertex, Vertex> traversal = get_g_V_out_out_profileXmetricsX(); printTraversalForm(traversal); traversal.iterate(); final TraversalMetrics traversalMetrics = traversal.asAdmin().getSideEffects().get(METRICS_KEY); validate_g_V_out_out_profile_grateful(traversalMetrics); }
Example #27
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(GRATEFUL) public void grateful_V_out_out_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_out_out_profile(); printTraversalForm(traversal); final TraversalMetrics traversalMetrics = traversal.next(); validate_g_V_out_out_profile_grateful(traversalMetrics); }
Example #28
Source File: GryoSerializersV3d0.java From tinkerpop with Apache License 2.0 | 5 votes |
@Override public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final TraversalMetrics object) { output.writeDouble(object.getDuration(TimeUnit.NANOSECONDS) / 1000000d); final Collection<? extends Metrics> metrics = object.getMetrics(); output.writeInt(metrics.size()); metrics.forEach(m -> kryo.writeObject(output, m)); }
Example #29
Source File: ProfileTest.java From tinkerpop with Apache License 2.0 | 5 votes |
@Test @LoadGraphWith(MODERN) public void modern_V_out_out_profile() { final Traversal<Vertex, TraversalMetrics> traversal = get_g_V_out_out_profile(); printTraversalForm(traversal); validate_g_V_out_out_profile_modern(traversal, traversal.next()); }
Example #30
Source File: GraphSONSerializersV3d0.java From tinkerpop with Apache License 2.0 | 5 votes |
@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) ); }