org.apache.tinkerpop.gremlin.process.traversal.step

## Interface ProfilingAware

- All Known Implementing Classes:
    GroupSideEffectStep, GroupStep

      public interface ProfilingAware

  Marks a `Step` as one that is aware of profiling. A good example of where this is important is with `GroupStep` which needs to track and hold a `Barrier`, which is important for the `ProfileStrategy` to know about. Once the `ProfileStep` is injected the `Barrier` needs to be recalculated so that the timer can be properly started on the associated `ProfileStep`. Without that indirect start of the timer, the operation related to the `Barrier` will not be properly accounted for and when metrics are normalized it is possible to end up with a negative timing.
  Author:
    Stephen Mallette (http://stephen.genoprime.com)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `ProfilingAware.ProfiledBarrier` A helper class which holds a `Barrier` and it's related `ProfileStep` so that the latter can have its timer started and stopped appropriately.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `prepareForProfiling()` Prepares the step for any internal changes that might help ensure that profiling will work as expected.

- - ### Method Detail

    - #### prepareForProfiling

          void prepareForProfiling()

      Prepares the step for any internal changes that might help ensure that profiling will work as expected.

Copyright © 2013–2021 Apache Software Foundation. All rights reserved.