Skip to content

Conversation

@AAgnihotry
Copy link
Contributor

@AAgnihotry AAgnihotry commented Jan 15, 2026

Summary

Removes redundant span exporting from StudioWebProgressReporter that was causing duplicate traces in evaluations.

Changes

  • Removed spans_exporter parameter and all manual span exporting logic from StudioWebProgressReporter
  • Removed deprecated methods: _send_parent_trace(), _send_eval_run_trace(), _send_evaluator_traces()
  • Updated tests to reflect the removal of mock_exporter

Why

All span exporting is now handled exclusively by LiveTrackingSpanProcessor in _runtime.py, which was introduced to provide real-time span tracking. The manual span exporting in _progress_reporter was redundant and causing duplicate traces.

Testing

  • All existing tests pass (1753 passed)
  • Verified LiveTrackingSpanProcessor handles all eval-related spans automatically

Development Package

  • Use uipath pack --nolock to get the latest dev build from this PR (requires version range).
  • Add this package as a dependency in your pyproject.toml:
[project]
dependencies = [
  # Exact version:
  "uipath==2.5.4.dev1011293930",

  # Any version from PR
  "uipath>=2.5.4.dev1011290000,<2.5.4.dev1011300000"
]

[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
publish-url = "https://test.pypi.org/legacy/"
explicit = true

[tool.uv.sources]
uipath = { index = "testpypi" }

[tool.uv]
override-dependencies = [
    "uipath>=2.5.4.dev1011290000,<2.5.4.dev1011300000",
]

@github-actions github-actions bot added test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository labels Jan 15, 2026
@AAgnihotry AAgnihotry added the build:dev Create a dev build from the pr label Jan 15, 2026
AAgnihotry and others added 2 commits January 15, 2026 12:37
The live tracking exporter's trace_id needs to be set to eval_set_run_id
to ensure all spans for an evaluation set run are grouped together with
the same trace_id in the tracing UI.

Changes:
- Create live_tracking_exporter in cli_eval.py and share it between
  progress reporter and runtime
- Pass exporter to StudioWebProgressReporter constructor
- Set exporter.trace_id = eval_set_run_id in handle_create_eval_set_run
- Pass exporter through evaluate() to UiPathEvalRuntime

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove conditional imports for LlmOpsHttpExporter and import it directly
instead of using TYPE_CHECKING guards. This simplifies the imports and
makes the type annotations cleaner.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@AAgnihotry AAgnihotry force-pushed the fix/doubleTraces branch 2 times, most recently from 1d35e6e to dfa4cb0 Compare January 16, 2026 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build:dev Create a dev build from the pr test:uipath-langchain Triggers tests in the uipath-langchain-python repository test:uipath-llamaindex Triggers tests in the uipath-llamaindex-python repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant