Class AgentTrace

java.lang.Object
com.tnsai.quality.tracing.AgentTrace

public final class AgentTrace extends Object
Top-level trace for an agent interaction.

Represents one logical unit of work (e.g. a user request and its full processing chain). Contains a flat list of Observations that form a tree via parent-child references, and a list of Scores for evaluation.

Thread-safe: observations and scores use CopyOnWriteArrayList.

  • Method Details

    • id

      public String id()
    • agentId

      public String agentId()
    • sessionId

      public String sessionId()
    • startTime

      public Instant startTime()
    • metadata

      public Map<String,String> metadata()
    • observations

      public List<Observation> observations()
      Returns an unmodifiable snapshot of current observations.
    • scores

      public List<Score> scores()
      Returns an unmodifiable snapshot of current scores.
    • addObservation

      public void addObservation(Observation observation)
      Adds an observation to this trace.
    • addScore

      public void addScore(Score score)
      Adds a score to this trace.
    • startSpan

      public Observation.Builder startSpan(String name)
      Convenience: creates a span builder pre-linked to this trace's context.
      Parameters:
      name - the span name
      Returns:
      a builder whose parentId is set to the current TraceContext parent (if any)
    • startGeneration

      public Observation.Builder startGeneration(String name)
      Convenience: creates a generation builder pre-linked to this trace's context.
      Parameters:
      name - the generation name
      Returns:
      a builder whose parentId is set to the current TraceContext parent (if any)
    • rootObservations

      public List<Observation> rootObservations()
      Returns root observations (those with no parent).
    • childrenOf

      public List<Observation> childrenOf(String parentId)
      Returns child observations of a given parent.
    • scoresFor

      public List<Score> scoresFor(String observationId)
      Returns scores for a specific observation.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • builder

      public static AgentTrace.Builder builder(String agentId)