All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.jaegertracing.analytics.gremlin.TraceTraversalDsl Maven / Gradle / Ivy

package io.jaegertracing.analytics.gremlin;

import io.opentracing.References;
import java.util.function.Predicate;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.GremlinDsl;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
import org.apache.tinkerpop.gremlin.structure.Vertex;

@GremlinDsl(traversalSource = "io.jaegertracing.analytics.gremlin.TraceTraversalSourceDsl")
public interface TraceTraversalDsl extends GraphTraversal.Admin {

  default GraphTraversal trace(int traceId) {
    return (GraphTraversal) has(Keys.TRACE_ID, traceId);
  }

  default GraphTraversal hasName(String name) {
    return (GraphTraversal) has(Keys.OPERATION_NAME, name);
  }

  default GraphTraversal hasTag(String key) {
    return (GraphTraversal) has(key);
  }

  default GraphTraversal hasTag(String key, Object value) {
    return (GraphTraversal) has(key, value);
  }

  default GraphTraversal startTime(Predicate p) {
    return (GraphTraversal) has(Keys.START_TIME, p);
  }

  default GraphTraversal duration(Predicate p) {
    return (GraphTraversal) has(Keys.DURATION, p);
  }

  default GraphTraversal child() {
    return out(References.CHILD_OF);
  }

  default GraphTraversal rootSpan() {
    return (GraphTraversal) not(__.inE());
  }

  default GraphTraversal leafSpan() {
    return (GraphTraversal) not(__.outE());
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy