Skip to content

[Feature]: Add Trace Logs view to aggregate all span events #3563

Merged
yurishkuro merged 13 commits into
jaegertracing:mainfrom
SoumyaRaikwar:feat/trace-logs-view
Mar 6, 2026
Merged

[Feature]: Add Trace Logs view to aggregate all span events #3563
yurishkuro merged 13 commits into
jaegertracing:mainfrom
SoumyaRaikwar:feat/trace-logs-view

Conversation

@SoumyaRaikwar
Copy link
Copy Markdown
Contributor

@SoumyaRaikwar SoumyaRaikwar commented Mar 5, 2026

Which problem is this PR solving?

Description of the changes

  • Added a new "Trace Logs" tab to the trace detail page that aggregates all log events from every span in a trace and displays them in a chronologically sorted table.
  • The table includes columns for Timestamp, Service , Span Name/Operation, Event/Log Name, Attributes, and Span ID (linked back to timeline view).
  • Supports both OTel terminology ("Trace Events", "Span Name", "Event") and legacy terminology ("Trace Logs", "Operation", "Log").
  • Shows an empty state message when the trace has no logs/events.
  • Added TraceLogs to ETraceViewType enum, tracking action, and menu entry in the view selector dropdown.

How was this change tested?

  • Added 9 new unit tests for the TraceLogsView component covering rendering, empty state, OTel/legacy terminology, attributes display, and span ID links.
  • Updated existing tests for AltViewOptions and TracePageHeader.track to cover the new view type.
  • All 2484 tests pass across 217 test suites.
  • All lint checks pass (prettier, tsc, eslint, license, copyright-year, tsx-naming).

Checklist

AI Usage in this PR (choose one)

See AI Usage Policy.

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

Add a new 'Trace Logs' tab to the trace detail page that
collects all log events from every span in a trace and
displays them in a chronologically sorted table.

The view includes columns for timestamp, service name,
span name, event name, attributes, and a linked span ID.
Supports both OTel and legacy terminology.

Resolves jaegertracing#1377

Signed-off-by: SoumyaRaikwar <[email protected]>
Update AltViewOptions and TracePageHeader.track tests to
cover the new TraceLogs view type menu item and tracking.

Signed-off-by: SoumyaRaikwar <[email protected]>
Copilot AI review requested due to automatic review settings March 5, 2026 21:06
@SoumyaRaikwar SoumyaRaikwar requested a review from a team as a code owner March 5, 2026 21:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@yurishkuro
Copy link
Copy Markdown
Member

please add screenshots

@github-actions github-actions Bot added the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 5, 2026
@SoumyaRaikwar
Copy link
Copy Markdown
Contributor Author

please add screenshots

@yurishkuro Here are the screenshots:
View selector dropdown with "Trace Logs" option:
Screenshot from 2026-03-06 03-30-38
Trace Logs view showing aggregated events from all spans, sorted chronologically:
Screenshot from 2026-03-06 03-30-42

@github-actions github-actions Bot removed the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 5, 2026
@yurishkuro
Copy link
Copy Markdown
Member

a few comments:

  • the layout seems to be very inefficient. The attributes column is arguably the most text-heavy but other columns consume too much real estate and should be less wide.
  • the naming is mixed up, Logs (OpenTracing), Attributes (OTEL). There is a config flag which tells the UI which nomenclature it should use (currently we support both old naming and OTEL terms)
  • the Attributes column should use the same component to display the tags as Span Detail panel, an expandable widget that renders one string in a collapsed form but expands into a table.
  • did you test in dark mode?

@github-actions github-actions Bot added the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 5, 2026
@SoumyaRaikwar
Copy link
Copy Markdown
Contributor Author

SoumyaRaikwar commented Mar 5, 2026

a few comments:

  • the layout seems to be very inefficient. The attributes column is arguably the most text-heavy but other columns consume too much real estate and should be less wide.
  • the naming is mixed up, Logs (OpenTracing), Attributes (OTEL). There is a config flag which tells the UI which nomenclature it should use (currently we support both old naming and OTEL terms)
  • the Attributes column should use the same component to display the tags as Span Detail panel, an expandable widget that renders one string in a collapsed form but expands into a table.
  • did you test in dark mode?

@yurishkuro, thanks for catching dark mode i completely forgot that.

  • Column layout : Fixed column widths. Timestamp, Service Name, Operation, Log, and Span ID are narrow fixed-width columns. The Tags/Attributes column is flexible and takes the remaining space.
  • Naming consistency: Fixed. Now uses consistent terminology based on the useOtelTerms config flag:
    • OpenTracing: "Trace Logs", "Operation", "Log", "Tags"
    • OTel: "Trace Events", "Span Name", "Event", "Attributes"
  • Attributes column : Now uses the existing AccordionAttributes component from SpanDetail. Collapsed state shows a key=value summary, expanded state shows the full AttributesTable with copy buttons.
  • Dark mode : Tested and working. Screenshots below:
Screenshot from 2026-03-06 04-12-28 Screenshot from 2026-03-06 04-12-32 Screenshot from 2026-03-06 04-12-39

- Use AccordionAttributes expandable widget for attributes
- Fix column widths for better layout efficiency
- Consistent terminology: Tags/Attributes based on config flag
- Verify dark mode compatibility

Signed-off-by: SoumyaRaikwar <[email protected]>
@yurishkuro yurishkuro added the changelog:new-feature Change that should be called out as new feature in CHANGELOG label Mar 5, 2026
Comment thread packages/jaeger-ui/src/components/TracePage/TraceLogsView/index.tsx Outdated
Copilot AI review requested due to automatic review settings March 5, 2026 23:01
Comment thread packages/jaeger-ui/src/components/TracePage/TraceLogsView/index.tsx
@github-actions github-actions Bot removed the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 5, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread packages/jaeger-ui/src/components/TracePage/TraceLogsView/index.test.js Outdated
Comment thread packages/jaeger-ui/src/components/TracePage/TraceLogsView/index.tsx
Signed-off-by: Soumya Raikwar <[email protected]>
@SoumyaRaikwar SoumyaRaikwar requested a review from yurishkuro March 5, 2026 23:35
Comment thread packages/jaeger-ui/src/components/TracePage/TraceLogsView/index.tsx Outdated
…x.tsx

Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: Soumya Raikwar <[email protected]>
Copilot AI review requested due to automatic review settings March 6, 2026 00:49
@SoumyaRaikwar SoumyaRaikwar requested a review from yurishkuro March 6, 2026 00:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Signed-off-by: Soumya Raikwar <[email protected]>
@yurishkuro
Copy link
Copy Markdown
Member

please improve test coverage, see #3563 (comment)

@github-actions github-actions Bot added the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 6, 2026
@github-actions github-actions Bot removed the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 6, 2026
@SoumyaRaikwar
Copy link
Copy Markdown
Contributor Author

please improve test coverage, see #3563 (comment)

Done, improved in the latest commit.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

yurishkuro
yurishkuro previously approved these changes Mar 6, 2026
@yurishkuro yurishkuro enabled auto-merge March 6, 2026 14:44
@yurishkuro
Copy link
Copy Markdown
Member

code coverage is still down

@github-actions github-actions Bot added the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 6, 2026
auto-merge was automatically disabled March 6, 2026 19:58

Head branch was pushed to by a user without write access

@github-actions github-actions Bot removed the waiting-for-author PR is waiting for author to respond to maintainer's comments label Mar 6, 2026
@SoumyaRaikwar
Copy link
Copy Markdown
Contributor Author

code coverage is still down

sorry for it, i updated it.

@SoumyaRaikwar SoumyaRaikwar requested a review from yurishkuro March 6, 2026 20:00
Copilot AI review requested due to automatic review settings March 6, 2026 20:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@yurishkuro yurishkuro enabled auto-merge March 6, 2026 20:16
@yurishkuro yurishkuro added this pull request to the merge queue Mar 6, 2026
Merged via the queue into jaegertracing:main with commit 2c1a2d1 Mar 6, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:new-feature Change that should be called out as new feature in CHANGELOG

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: View all logs nested under a trace or span

3 participants