Skip to content

feat: Tracing support - #4110

Merged
michaeljguarino merged 35 commits into
masterfrom
marcin/prod-4759-add-trace-visualization-designs-from-figma
Sep 9, 2026
Merged

feat: Tracing support#4110
michaeljguarino merged 35 commits into
masterfrom
marcin/prod-4759-add-trace-visualization-designs-from-figma

Conversation

@maciaszczykm

@maciaszczykm maciaszczykm commented Sep 4, 2026

Copy link
Copy Markdown
Member

Fixes PROD-5129 too.

Test Plan

Test environment: https://console.plrl-dev-aws.onplural.sh/
Test image: sha-d14b2a4

Checklist

  • I have added a meaningful title and summary to convey the impact of this PR to a user.
  • If required, I have updated the Plural documentation accordingly.
  • I have added tests to cover my changes.
  • I have deployed the agent to a test environment and verified that it works as expected (required only when changing agent code).

Plural Flow: console

@linear

linear Bot commented Sep 4, 2026

Copy link
Copy Markdown

PROD-4759

PROD-5129

@plural-copilot plural-copilot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Deploy preview for docs-pr-4110 is ready!

Name Details
⚡ Service docs-pr-4110 (5 / 5 ready)
☁️ Cluster plural (eks)
:octocat: Commit sha a8fed4a
Plural URL https://console.mgmt.plural.sh/cd/clusters/446acdef-8524-425a-a49f-5336a...
🔍 Logs URL https://console.mgmt.plural.sh/cd/clusters/446acdef-8524-425a-a49f-5336a...
🌊 Flow URL https://console.mgmt.plural.sh/flows/08a17af1-8578-449e-9ae1-28ccd97eafc...
Preview Link Preview

You can learn more about preview environments and Plural Flows here

@soffi-ai

soffi-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Soffi AI Summary

This PR introduces end-to-end distributed tracing support for the AI Workbench, addressing PROD-5129. On the backend, it adds opt-in OpenTelemetry instrumentation to the Elixir server (including Ecto query tracing, Git command tracing, and workbench execution span tracking via a new Console.AI.Workbench.Tracking module). On the frontend, it delivers a rich trace visualization experience within the Workbench job view: a Gantt-style waterfall timeline, a topology graph showing service dependencies, semantic status colors (ok/warning/error), fullscreen mode, span detail panels, and multi-trace selection. Utility modules handle span ordering, tree metadata, tick generation, duration formatting, and color assignment per service. Tests cover span shape, topology rendering, canvas summaries, and user interactions.


Updated: 2026-09-08 10:01 UTC

Deploy in Soffi

@maciaszczykm maciaszczykm added the enhancement New feature or request label Sep 4, 2026
@maciaszczykm maciaszczykm changed the title feat: Add trace visualization designs from figma feat: Add trace visualization Sep 4, 2026
@maciaszczykm

Copy link
Copy Markdown
Member Author

@greptileai

@greptile-apps

greptile-apps Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds end-to-end tracing support and new Workbench trace visualization:

  • Configures opt-in OpenTelemetry export and instruments HTTP, Phoenix, GraphQL, Ecto, ReqLLM, Git, Helm, and Workbench execution.
  • Sanitizes URL-bearing telemetry attributes and disables capture of GraphQL documents, variables, results, and errors.
  • Adds Workbench trace timelines, span and service topology views, fullscreen details, trace canvas blocks, and supporting design-system controls.
  • Improves canvas metrics, logs, summaries, legends, and time-range controls, with frontend and backend tests.

Confidence Score: 5/5

The PR appears safe to merge; no new actionable correctness, security, or repository-rule violations remain.

The current changes preserve Bandit handler behavior while stripping request query strings before span creation, disable sensitive GraphQL payload capture, sanitize telemetry URL attributes, and keep Workbench trace rendering and canvas layout consistent. The five earlier findings were manually resolved without explanatory replies and therefore are not outstanding.

Important Files Changed

Filename Overview
lib/console/otel/tracing.ex Configures tracing integrations and centralizes URL, GraphQL, database, and HTTP query-string redaction.
lib/console/ai/workbench/tracking.ex Adds parent run spans, typed activity spans, and propagated context for concurrent Workbench activities.
lib/console/ai/workbench/engine.ex Wraps Workbench execution and activity dispatch in the new tracing boundaries.
js/console/src/components/workbenches/workbench/job/WorkbenchJobTraces.tsx Implements trace selection, timeline rendering, fullscreen span details, and topology view controls.
js/console/src/components/workbenches/workbench/job/workbenchJobTraceUtils.ts Provides trace grouping, ordering, timing, severity, and formatting utilities used by the visualization.
js/console/src/components/workbenches/workbench/job/workbenchJobTraceGraph.ts Builds span-level and aggregated service-level topology nodes and edges.
js/console/src/components/workbenches/workbench/job/WorkbenchJobActivityResults.tsx Adds trace result loading and rendering while improving metrics legends, summaries, and time-range filtering.
js/console/src/components/workbenches/workbench/job/WorkbenchJobCanvas.tsx Adds trace canvas blocks and refines metrics, logs, and summary presentation without overriding stored grid layout.
rel/runtime.exs Enables batch OTLP trace export only when a runtime endpoint is configured.
mix.exs Adds the OpenTelemetry instrumentation, exporter, and process-propagation dependencies required by tracing.

Reviews (7): Last reviewed commit: "drop query strings from bandit spans" | Re-trigger Greptile

Comment thread js/console/src/components/workbenches/workbench/job/WorkbenchJobCanvas.tsx Outdated
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

@maciaszczykm

Copy link
Copy Markdown
Member Author

@greptileai

@maciaszczykm
maciaszczykm marked this pull request as ready for review September 7, 2026 13:53
@maciaszczykm
maciaszczykm requested a review from a team as a code owner September 7, 2026 13:53
@maciaszczykm
maciaszczykm requested a review from a team September 7, 2026 14:28
Comment thread lib/console/ai/workbench/engine.ex Outdated
Comment thread lib/console/otel/tracing.ex Outdated
Comment thread lib/console/otel/tracing.ex
@maciaszczykm maciaszczykm changed the title feat: Add trace visualization feat: Tracing support Sep 8, 2026
Comment thread lib/console/deployments/git/cmd.ex Outdated
Comment thread lib/console/otel/tracing.ex Outdated
Comment thread lib/console/otel/tracing.ex Outdated
Comment thread lib/console/otel/tracing.ex Outdated
@maciaszczykm

Copy link
Copy Markdown
Member Author

@greptileai

@maciaszczykm
maciaszczykm requested review from a team and michaeljguarino September 8, 2026 10:49
@michaeljguarino
michaeljguarino merged commit 7757e98 into master Sep 9, 2026
20 checks passed
@michaeljguarino
michaeljguarino deleted the marcin/prod-4759-add-trace-visualization-designs-from-figma branch September 9, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants