Key Features

  • Unified User Journey View: Consolidates all traces, sessions, and metrics related to a specific user into one tab, eliminating the need to manually piece together their journey.
  • Efficient Debugging: Quickly isolate and investigate a user’s reported issue by viewing all associated sessions and anomalies.
  • User-Level Quality Metrics: Track satisfaction scores, frustration indices, and success rates at the individual level.
  • Behavioral Insights: Identify patterns such as engagement frequency, query evolution, task completion rates, and guardrail triggers.
  • Resource Optimization: Detect power users, problematic users, or high-cost accounts to inform allocation strategies.
  • Search & Filtering: Search by UserID and apply filters across date, metrics, and custom attributes.

How to Use the User Tab

1. Pass User Identifiers in Traces

When creating a trace or span, include user.id and optional metadata to associate interactions with a specific user:
with using_attributes(
    session_id="new-session",
    user_id="newuser",
):
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "Write a haiku."}],
        max_tokens=20,
    )
OR
from fi_instrumentation import register, FITracer

trace_provider = register(
    project_type=ProjectType.OBSERVE,
    project_name="PROJECT_NAME",
    session_name="SESSION_NAME"
)

tracer = FITracer(trace_provider.get_tracer(__name__))

with tracer.start_as_current_span(
    f"SPAN_NAME",
) as span:
    span.set_status(Status(StatusCode.OK))
    span.set_attribute("user.id", "vivek.gupta")
    span.set_attribute("user.id.type", "email | phone | uuid | custom")
    span.set_attribute("user.id.hash", "<hash_for_the_user.id>")
    span.set_attribute("user.metadata", {})
    span.set_attribute("fi.span.kind", "llm")
    span.set_attribute("llm.provider", "claude")
    span.set_attribute("input.value", "input")
    span.set_attribute("output.value", "output")

2. Explore the User Tab

The User Tab displays a paginated table with:
  • UserID
  • Activation Date
  • Last Active Date
  • Count of Traces / Count of Error Traces
  • Count of Sessions
  • Average Latency (Trace & Session)
  • Total LLM Calls
  • Evaluation Pass Rate
  • Guardrail Trigger Count
  • Total Tokens (Input, Output, Total)
  • Total Cost

3. Drill into User Details

Click on any user.id to open a detailed view containing:
  • Summary: Total traces, cost, active days, average latency, total sessions, session duration, task completion rate, satisfaction score, and % successful sessions.
  • Traces Tab: Trace ID, session ID, latency, input/output, evaluation results, cost, annotations, and full trace details.
  • Sessions Tab: Session ID, start/end time, # of traces, session-level evals, cost/tokens, first/last message, status, and filters by date, status, duration, or cost.
  • Behavioral Insights: Engagement trends, anomalies (e.g., spikes in errors), and guardrail triggers.
Filter by:
  • Date range
  • Trace ID
  • Evaluation metrics
  • System metrics
  • Custom attributes
Search across the User Tab, Sessions, or Traces using UserID. By leveraging the User-Level Tab, teams can proactively manage user experiences, accelerate debugging, and gain deep behavioral insights to improve product quality and personalization.