Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor trace detail #53

Merged
merged 20 commits into from
Aug 23, 2017
Merged

Refactor trace detail #53

merged 20 commits into from
Aug 23, 2017

Conversation

tiffon
Copy link
Member

@tiffon tiffon commented Aug 11, 2017

TODO

  • Maintenance of tests
  • Cleanup unused vars, imports
  • Refine utils
  • Many styles will be moved to CSS

Deferred Tasks

  • (Deferred) Finish shifting to transformed trace, exclusively, instead of raw trace
  • (Deferred) Cleanup ordering of vars, imports
  • (Deferred) Refine trace detail components
  • (Deferred) Refine trace selectors
  • Will likely remove model/trace-viewer.js

SpanGraph

TracePageHeader

  • trace prop removed
  • Added props for various title values instead of deriving them from trace

Trace Detail

  • Several components split out into separate files
  • transformTrace to use already created span tree to determine span depth
  • Fix Rename "Span Name" column #59 - "Span Name" to "Service & Operation"

Span Bar / Detail

  • Fix uber/jaeger#326: extraneous scrollbars in trace views
  • Fix Merged RPC spans not correctly shown, multi value tags not shown #55: Some tags were not being rendered due to clashing keys (observed in a log message)
  • Tall content scrolls via entire table instead of single table cell
  • Horizontal scrolling for wide content (e.g. long log values) (Fix Tag Value Span Does Not Scroll Horizontally #58)
  • Full width of the header is clickable for tags, process, and logs headers (instead of header text, only)
  • Service and endpoint are shown on mouseover anywhere in span bar row
  • Label on span bars no longer off-screen
  • Clip or hide span bars when zoomed in (instead of flush left)
  • Add shadow to left / right boundary when span bar view is clipped
  • Darkened span name column to differentiate from span bar section
  • Span detail left column color coded by service
  • Clicking span detail left column collapses detail
  • Clicking anywhere left of parent span name toggles children visibility
  • Prevent collision of logs in log entries table

SearchTracePage

  • Scatterplot dots are sized based on number of spans
  • Scatterplot dots mouseover shows trace name

Misc

  • Several TraceTimelineViewer / utils removed
  • TreeNode .walk() method can now be used to calculate the depth, avoiding use of less efficient .getPath()
  • Removed several console.error warnings caused by React key issues
  • yarn upgrade --latest
  • Removed react-sticky
  • Fix No support for Jaeger behind a reverse proxy #42 - Support URL prefix via homepage in package.json

tiffon added 2 commits August 11, 2017 01:21
TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

SpanGraph

- Fix #49 - Span position in graph doesn not match its position in the
  detail
- Ticks in span graph made to match trace detail (in number and
  formatting)
- Span graph refactored to trim down files and DOM elements

TracePageHeader

- `trace` prop removed
- Added props for various title values instead of deriving them
  from `trace`

Trace Detail

- Several components split out into separate files
- `transformTrace` to use alread span tree to determine span depth

Span Detail

- Fix uber/jaeger #326: extraneous scrollbars in trace views
- Fix: Some tags were not being rendered due to clashing keys (observed
  in a log message)
- Tall content scrolls via entire table instead of single table cell
- Horizontal scrolling for wide content (e.g. long log values)
- Full width of the header is clickable for tags, process, and logs
  headers (instead of header text, only)
- Service and endpoint are shown on mouseover anywhere in span bar row

Misc
- Several TraceTimelineViewer / utils removed
- `TreeNode` `.walk()` method can now be used to calculate the depth,
  avoiding use of less efficient `.getPath()`
- Removed several `console.error` warnings caused by React key issues
TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

Span Bar / Detail
- Label on span bars no longer off-screen
- Clip or hide span bars when zoomed in (insted of flush left)
- Add shadow to left / right boundary when span bar view is clipped
- Darkened span name column to differentiate from span bar section
- Span detail left column color coded by service
- Clicking span detail left column collapses detail
- Clicking anywhere left of parent span name toggles children
  visibility
@tiffon tiffon changed the title [WIP] Refactor trace detail selectors [WIP] Refactor trace detail Aug 17, 2017
@coveralls
Copy link

Coverage Status

Coverage increased (+0.09%) to 55.606% when pulling b8945ab on refactor-trace-detail-selectors into 0753092 on master.

tiffon added 3 commits August 20, 2017 05:26
Sub-page scrolling used for trace detail (TODO: revert this). This lays
the ground work for using react-virtualized, but unfortunately has major
perf issues, hence the TODO: revert.

yarn upgrade --latest. Notable changes:

- Removed react-sticky
- react-router v4
- react-vis CSS needed to be included via a sym-link

Misc tweaks:

- Styling adjusted on trace mini-map
- Scatterplot dots are sized based on number of spans
- Scatterplot dots mouseover shows trace name
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.7%) to 54.826% when pulling c041353 on refactor-trace-detail-selectors into 0753092 on master.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.7%) to 54.826% when pulling 9f54454 on refactor-trace-detail-selectors into 0753092 on master.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.7%) to 54.863% when pulling c657cf1 on refactor-trace-detail-selectors into 0753092 on master.

@yurishkuro
Copy link
Member

@tiffon why are we not breaking this up into multiple PRs?

@tiffon
Copy link
Member Author

tiffon commented Aug 20, 2017

@yurishkuro This PR is a collection of broad-scoped refactorings with some specific, more pointed, issues also taken care of.

My thinking with this PR is to knock out the refactoring changes in one shot and take a more piece-meal approach with ticket oriented work that is coming up.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.4%) to 55.879% when pulling 2226744 on refactor-trace-detail-selectors into 0753092 on master.

@yurishkuro
Copy link
Member

my concern is that it's going to be very hard to have quality code review given the amount of changes, many of which looks like they can be easily done in isolation. I realize that sometimes refactoring has to touch a lot of code, but it only makes it even more important to keep the blast radius as small as possible. The TODO list at the top of this issue looks like a many-weeks project plan, we don't ned to bundle everything in one diff.

@tiffon
Copy link
Member Author

tiffon commented Aug 21, 2017

@yurishkuro I'll address the TODOs as separate PRs.

I see what you mean about the amount of changes hindering review. Definitely it is a very large change set. Many of the changes are interdependent, but a number of them are quite isolated.

I'll wrap this up and aim for more isolation in future PRs.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 55.817% when pulling bef7f5b on refactor-trace-detail-selectors into 0753092 on master.

Copy link
Member Author

@tiffon tiffon left a comment

Choose a reason for hiding this comment

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

  • Consider adding flowtype for xformed trace and prop types

  • Consider adding some maybe git hash or whatever to something to expose version of the code in a given build

  • In mid-term switch to semver releases (gioing into docker builds, anyway, essentially as a release)

</XYPlot>
</div>
);
class TraceResultsScatterPlot extends Component {
Copy link
Member Author

Choose a reason for hiding this comment

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

recompose with state

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

traceID: 'some-trace-id',
name: 'some-trace-name',

// maxDepth: PropTypes.number, // eslint-disable-line react/no-unused-prop-types
Copy link
Member Author

Choose a reason for hiding this comment

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

cleanup

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.


export const HEADER_ITEMS = [
{
key: 'timestamp',
title: 'Trace Start',
renderer: trace => formatDatetime(getTraceTimestamp(trace)),
renderer: props => formatDatetime(props.timestampMs * 1000),
Copy link
Member Author

Choose a reason for hiding this comment

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

back to nano seconds

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

onMouseOut: null,
};

const SpanBar = compose(
Copy link
Member Author

Choose a reason for hiding this comment

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

export default compose...

instead of *Impl

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

const CollapsePanelStatefull = collapseEnhancer(CollapsePanel);

function ExpandableDataTable(props) {
const { data, label, open, onToggleOpen } = props;
return (
<div className="my1 overflow-hidden" style={{ textOverflow: 'ellipsis' }}>
<div className="my1" style={{ textOverflow: 'ellipsis' }}>
Copy link
Member Author

Choose a reason for hiding this comment

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

stlye to CSS

Copy link
Member Author

Choose a reason for hiding this comment

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

Will handle as a separate PR.

Copy link
Member Author

Choose a reason for hiding this comment

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

if (parentId && spanMap.has(parentId)) {
// make sure that the parent gets inserted before we continue by recursing
insertSpanIntoTree(tree, spanMap.get(parentId), spanMap);
export function getTraceSpanIdsAsTree(trace) {
Copy link
Member Author

Choose a reason for hiding this comment

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

comment this

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

tiffon added 2 commits August 21, 2017 17:02
Add back the styling that adds an ellipsis to truncated span name text.
@coveralls
Copy link

Coverage Status

Coverage increased (+0.3%) to 55.817% when pulling 3797f5b on refactor-trace-detail-selectors into 0753092 on master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.5%) to 56.045% when pulling d16097b on refactor-trace-detail-selectors into 0753092 on master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.5%) to 55.983% when pulling bdd6d7e on refactor-trace-detail-selectors into 0753092 on master.

@tiffon tiffon changed the title [WIP] Refactor trace detail Refactor trace detail Aug 22, 2017
Copy link
Member

@saminzadeh saminzadeh left a comment

Choose a reason for hiding this comment

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

LGTM. Reviewed offline with @tiffon

@tiffon tiffon merged commit 69d84b9 into master Aug 23, 2017
tiffon referenced this pull request Sep 8, 2017
* Update prettier and wrap at 110 instead of 80

* WIP commit for refactoring trace detail view

TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

SpanGraph

- Fix #49 - Span position in graph doesn not match its position in the
  detail
- Ticks in span graph made to match trace detail (in number and
  formatting)
- Span graph refactored to trim down files and DOM elements

TracePageHeader

- `trace` prop removed
- Added props for various title values instead of deriving them
  from `trace`

Trace Detail

- Several components split out into separate files
- `transformTrace` to use alread span tree to determine span depth

Span Detail

- Fix uber/jaeger #326: extraneous scrollbars in trace views
- Fix: Some tags were not being rendered due to clashing keys (observed
  in a log message)
- Tall content scrolls via entire table instead of single table cell
- Horizontal scrolling for wide content (e.g. long log values)
- Full width of the header is clickable for tags, process, and logs
  headers (instead of header text, only)
- Service and endpoint are shown on mouseover anywhere in span bar row

Misc
- Several TraceTimelineViewer / utils removed
- `TreeNode` `.walk()` method can now be used to calculate the depth,
  avoiding use of less efficient `.getPath()`
- Removed several `console.error` warnings caused by React key issues

* WIP commit for refactoring trace detail view

TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

Span Bar / Detail
- Label on span bars no longer off-screen
- Clip or hide span bars when zoomed in (insted of flush left)
- Add shadow to left / right boundary when span bar view is clipped
- Darkened span name column to differentiate from span bar section
- Span detail left column color coded by service
- Clicking span detail left column collapses detail
- Clicking anywhere left of parent span name toggles children
  visibility

* WIP refactor trace detail, split out css, start fixing tests

* WIP refactor trace detail, tests working again

* WIP refactor trace, yarn upgrade

Sub-page scrolling used for trace detail (TODO: revert this). This lays
the ground work for using react-virtualized, but unfortunately has major
perf issues, hence the TODO: revert.

yarn upgrade --latest. Notable changes:

- Removed react-sticky
- react-router v4
- react-vis CSS needed to be included via a sym-link

Misc tweaks:

- Styling adjusted on trace mini-map
- Scatterplot dots are sized based on number of spans
- Scatterplot dots mouseover shows trace name

* WIP refactor trace, test maintenance

* remove unused import

* add license to css files

* Revert sub-page scrolling for trace detail

* Support URL prefix via homepage in package.json

* Prevent collision of logs in log entries table

* Add comments to new utils

* WIP Use react-virtualized in trace detail view

* Fix #59 - "Span Name" to "Service & Operation"

* Fix unreleased regression - ellipsis on span name

Add back the styling that adds an ellipsis to truncated span name text.

* Address PR comment on search results scatter plot

https://github.com/uber/jaeger-ui/pull/53#discussion_r134313013

* Misc cleanup from PR comment

https://github.com/uber/jaeger-ui/pull/53#discussion_r134314020

* PR comment - Remove ms and use nano seconds

https://github.com/uber/jaeger-ui/pull/53#discussion_r134316418

* PR comment - Adjust export, relates to recompose

https://github.com/uber/jaeger-ui/pull/53#discussion_r134318188

* Reorganize span detail components

* PR comment - Comment getTraceSpanIdsAsTree()

https://github.com/uber/jaeger-ui/pull/53#discussion_r134321990

* PR comment - Add "SpanID:" label

https://github.com/uber/jaeger-ui/pull/64#issuecomment-324080675

* WIP react-virtualized layout progress

Outstanding:

- Window scroller used
  https://bvaughn.github.io/react-virtualized/#/components/WindowScroller
- Expanding span details
- Collapsing / expanding children

* WIP react-virtualized layout progress

Switching to use a props oriented ui state management for span details.
This is necessary because the virtualized scroller removes and adds span
details as it scrolls. The span detail components cannot retain their
own state (e.g. tags table is expanded / collapsed, etc.) because they
are not long-lived.

* PR comment - Flow typing for props

https://github.com/uber/jaeger-ui/pull/64#discussion_r134792924

* WIP Switching react-virtualized to custom solution

* fix file-header licenses

* WIP Switching react-virtualized to custom solution

* Add flow to ListView, comment ListView, Positions

* Positions tests, fix edge-case bug in Positions

* Fix comment issue from prettier

* Unit tests for ListView, remove unused propType/*

* Minor changes to a comment and a test case description

* Unit tests for TraceTimelineViewer/duck

* remove react-virtualized from package.json

* PR feedback - JSDoc, move trace transform

- JSDoc tweaks - documentation.js can infer types automatically
- Move trace transform - Move trace tranform out of
  src/components/TracePage/TraceTimelineViewer/transforms and into
  src/model/transform-trace-data.js
- Apply trace transform to data from HTTP response so the trace data
  stored in the state is always the enriched form

* Use top-level redux store for traceTimeline state
@yurishkuro yurishkuro deleted the refactor-trace-detail-selectors branch January 29, 2020 15:06
vvvprabhakar referenced this pull request in vvvprabhakar/jaeger-ui Jul 5, 2021
Top level tasks

- Maintenance of tests
- Cleanup unused vars, imports
- Refine utils
- Many styles will be moved to CSS

SpanGraph

- Fix #49 - Span position in graph doesn't not match its position in the
  detail
- Ticks in span graph made to match trace detail (in number and
  formatting)
- Span graph refactored to trim down files and DOM elements
- Styling adjustments

TracePageHeader

- `trace` prop removed
- Added props for various title values instead of deriving them from
  `trace`

Trace Detail

- Several components split out into separate files
- `transformTrace` to use already created span tree to determine span
  depth
- Fix jaegertracing#59 - "Span Name" to "Service & Operation"

Span Bar / Detail

- Fix uber/jaeger#326: extraneous scrollbars in trace views
- Fix #55: Some tags were not being rendered due to clashing keys
  (observed in a log message)
- Tall content scrolls via entire table instead of single table cell
- Horizontal scrolling for wide content (e.g. long log values) (Fix jaegertracing#58)
- Full width of the header is clickable for tags, process, and logs
  headers (instead of header text, only)
- Service and endpoint are shown on mouseover anywhere in span bar row
- Label on span bars no longer off-screen
- Clip or hide span bars when zoomed in (instead of flush left)
- Add shadow to left / right boundary when span bar view is clipped
- Darkened span name column to differentiate from span bar section
- Span detail left column color coded by service
- Clicking span detail left column collapses detail
- Clicking anywhere left of parent span name toggles children visibility
- Prevent collision of logs in log entries table

SearchTracePage

- Scatterplot dots are sized based on number of spans
- Scatterplot dots mouseover shows trace name

Misc

- Several TraceTimelineViewer / utils removed
- `TreeNode` `.walk()` method can now be used to calculate the depth,
  avoiding use of less efficient `.getPath()`
- Removed several `console.error` warnings caused by React key issues
- `yarn upgrade --latest`
- Removed `react-sticky`
- Fix #42 - Support URL prefix via homepage in package.json


Commits

* Update prettier and wrap at 110 instead of 80

* WIP commit for refactoring trace detail view

* WIP refactor trace detail, split out css, start fixing tests

* WIP refactor trace detail, tests working again

* WIP refactor trace, yarn upgrade

Sub-page scrolling used for trace detail (TODO: revert this). This lays
the ground work for using react-virtualized, but unfortunately has major
perf issues, hence the TODO: revert.

yarn upgrade --latest. Notable changes:

- Removed react-sticky
- react-router v4
- react-vis CSS needed to be included via a sym-link

Misc tweaks:

- Styling adjusted on trace mini-map
- Scatterplot dots are sized based on number of spans
- Scatterplot dots mouseover shows trace name

* WIP refactor trace, test maintenance

* remove unused import

* add license to css files

* Revert sub-page scrolling for trace detail

* Support URL prefix via homepage in package.json

* Prevent collision of logs in log entries table

* Add comments to new utils

* Fix jaegertracing#59 - "Span Name" to "Service & Operation"

* Fix unreleased regression - ellipsis on span name

Add back the styling that adds an ellipsis to truncated span name text.

* Address PR comment on search results scatter plot

https://github.com/uber/jaeger-ui/pull/53#discussion_r134313013

* Misc cleanup from PR comment

https://github.com/uber/jaeger-ui/pull/53#discussion_r134314020

* PR comment - Remove ms and use nano seconds

https://github.com/uber/jaeger-ui/pull/53#discussion_r134316418

* PR comment - Adjust export, relates to recompose

https://github.com/uber/jaeger-ui/pull/53#discussion_r134318188

* PR comment - Comment getTraceSpanIdsAsTree()

https://github.com/uber/jaeger-ui/pull/53#discussion_r134321990

Signed-off-by: vvvprabhakar <[email protected]>
vvvprabhakar referenced this pull request in vvvprabhakar/jaeger-ui Jul 5, 2021
* Update prettier and wrap at 110 instead of 80

* WIP commit for refactoring trace detail view

TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

SpanGraph

- Fix #49 - Span position in graph doesn not match its position in the
  detail
- Ticks in span graph made to match trace detail (in number and
  formatting)
- Span graph refactored to trim down files and DOM elements

TracePageHeader

- `trace` prop removed
- Added props for various title values instead of deriving them
  from `trace`

Trace Detail

- Several components split out into separate files
- `transformTrace` to use alread span tree to determine span depth

Span Detail

- Fix uber/jaeger jaegertracing#326: extraneous scrollbars in trace views
- Fix: Some tags were not being rendered due to clashing keys (observed
  in a log message)
- Tall content scrolls via entire table instead of single table cell
- Horizontal scrolling for wide content (e.g. long log values)
- Full width of the header is clickable for tags, process, and logs
  headers (instead of header text, only)
- Service and endpoint are shown on mouseover anywhere in span bar row

Misc
- Several TraceTimelineViewer / utils removed
- `TreeNode` `.walk()` method can now be used to calculate the depth,
  avoiding use of less efficient `.getPath()`
- Removed several `console.error` warnings caused by React key issues

* WIP commit for refactoring trace detail view

TODO
- Test are currently in a bad state
- Finish shifting to transformed trace, exclusively, instead of raw
  trace
- Misc cleanup (unused / ordering of vars, imports, etc) is outstanding
  while changes are WIP
- Continued refinement of trace-detail components, selectors and utils
- Many styles will be moved to CSS
- Will likely remove `model/trace-viewer.js`

Span Bar / Detail
- Label on span bars no longer off-screen
- Clip or hide span bars when zoomed in (insted of flush left)
- Add shadow to left / right boundary when span bar view is clipped
- Darkened span name column to differentiate from span bar section
- Span detail left column color coded by service
- Clicking span detail left column collapses detail
- Clicking anywhere left of parent span name toggles children
  visibility

* WIP refactor trace detail, split out css, start fixing tests

* WIP refactor trace detail, tests working again

* WIP refactor trace, yarn upgrade

Sub-page scrolling used for trace detail (TODO: revert this). This lays
the ground work for using react-virtualized, but unfortunately has major
perf issues, hence the TODO: revert.

yarn upgrade --latest. Notable changes:

- Removed react-sticky
- react-router v4
- react-vis CSS needed to be included via a sym-link

Misc tweaks:

- Styling adjusted on trace mini-map
- Scatterplot dots are sized based on number of spans
- Scatterplot dots mouseover shows trace name

* WIP refactor trace, test maintenance

* remove unused import

* add license to css files

* Revert sub-page scrolling for trace detail

* Support URL prefix via homepage in package.json

* Prevent collision of logs in log entries table

* Add comments to new utils

* WIP Use react-virtualized in trace detail view

* Fix jaegertracing#59 - "Span Name" to "Service & Operation"

* Fix unreleased regression - ellipsis on span name

Add back the styling that adds an ellipsis to truncated span name text.

* Address PR comment on search results scatter plot

https://github.com/uber/jaeger-ui/pull/53#discussion_r134313013

* Misc cleanup from PR comment

https://github.com/uber/jaeger-ui/pull/53#discussion_r134314020

* PR comment - Remove ms and use nano seconds

https://github.com/uber/jaeger-ui/pull/53#discussion_r134316418

* PR comment - Adjust export, relates to recompose

https://github.com/uber/jaeger-ui/pull/53#discussion_r134318188

* Reorganize span detail components

* PR comment - Comment getTraceSpanIdsAsTree()

https://github.com/uber/jaeger-ui/pull/53#discussion_r134321990

* PR comment - Add "SpanID:" label

https://github.com/uber/jaeger-ui/pull/64#issuecomment-324080675

* WIP react-virtualized layout progress

Outstanding:

- Window scroller used
  https://bvaughn.github.io/react-virtualized/#/components/WindowScroller
- Expanding span details
- Collapsing / expanding children

* WIP react-virtualized layout progress

Switching to use a props oriented ui state management for span details.
This is necessary because the virtualized scroller removes and adds span
details as it scrolls. The span detail components cannot retain their
own state (e.g. tags table is expanded / collapsed, etc.) because they
are not long-lived.

* PR comment - Flow typing for props

https://github.com/uber/jaeger-ui/pull/64#discussion_r134792924

* WIP Switching react-virtualized to custom solution

* fix file-header licenses

* WIP Switching react-virtualized to custom solution

* Add flow to ListView, comment ListView, Positions

* Positions tests, fix edge-case bug in Positions

* Fix comment issue from prettier

* Unit tests for ListView, remove unused propType/*

* Minor changes to a comment and a test case description

* Unit tests for TraceTimelineViewer/duck

* remove react-virtualized from package.json

* PR feedback - JSDoc, move trace transform

- JSDoc tweaks - documentation.js can infer types automatically
- Move trace transform - Move trace tranform out of
  src/components/TracePage/TraceTimelineViewer/transforms and into
  src/model/transform-trace-data.js
- Apply trace transform to data from HTTP response so the trace data
  stored in the state is always the enriched form

* Use top-level redux store for traceTimeline state

Signed-off-by: vvvprabhakar <[email protected]>
yurishkuro pushed a commit that referenced this pull request Jul 16, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [npm-run-all2](https://togithub.com/bcomnes/npm-run-all2) | [`5.0.0`
-> `6.2.2`](https://renovatebot.com/diffs/npm/npm-run-all2/5.0.0/6.2.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/npm-run-all2/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/npm-run-all2/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/npm-run-all2/5.0.0/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/npm-run-all2/5.0.0/6.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>bcomnes/npm-run-all2 (npm-run-all2)</summary>

###
[`v6.2.2`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v622)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.2.1...v6.2.2)

##### Commits

- Revert "Compatibility: npm, yarn and pnpm run scripts"
[`fc35f0d`](https://togithub.com/bcomnes/npm-run-all2/commit/fc35f0dc4f78afc1c631fa94b6ac85ba0fb0e7b1)

###
[`v6.2.1`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v621)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.2.0...v6.2.1)

##### Merged

- Compatibility: npm, yarn and pnpm run scripts
[`#143`](https://togithub.com/bcomnes/npm-run-all2/pull/143)
- Use neostandard + add more static code analysis
[`#142`](https://togithub.com/bcomnes/npm-run-all2/pull/142)
- Upgrade: Bump c8 from 9.1.0 to 10.0.0
[`#141`](https://togithub.com/bcomnes/npm-run-all2/pull/141)
- Upgrade: Bump p-queue from 7.4.1 to 8.0.1
[`#138`](https://togithub.com/bcomnes/npm-run-all2/pull/138)

###
[`v6.2.0`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v620)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.1.2...v6.2.0)

##### Merged

- Placeholder that unfolds into multiple tasks
[`#134`](https://togithub.com/bcomnes/npm-run-all2/pull/134)
- 📝 add compatibility note for pnpm.
[`#136`](https://togithub.com/bcomnes/npm-run-all2/pull/136)
- Upgrade: Bump codecov/codecov-action from 3 to 4
[`#131`](https://togithub.com/bcomnes/npm-run-all2/pull/131)

###
[`v6.1.2`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v612)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.1.1...v6.1.2)

##### Merged

- feat: move to read-package-json-fast
[`#130`](https://togithub.com/bcomnes/npm-run-all2/pull/130)
- Upgrade: Bump c8 from 8.0.1 to 9.0.0
[`#127`](https://togithub.com/bcomnes/npm-run-all2/pull/127)
- Upgrade: Bump github/codeql-action from 2 to 3
[`#126`](https://togithub.com/bcomnes/npm-run-all2/pull/126)
- Upgrade: Bump actions/setup-node from 3 to 4
[`#123`](https://togithub.com/bcomnes/npm-run-all2/pull/123)

##### Commits

- Publish the whole project
[`3dde20c`](https://togithub.com/bcomnes/npm-run-all2/commit/3dde20c1c8fa973045773e03f4fc121360fdbed4)
- Utilize CJS require for 'read-package-json-fast'
[`605ca15`](https://togithub.com/bcomnes/npm-run-all2/commit/605ca15d9adee3ce14da6fcaa98cb14d9c03795c)
- Update FUNDING.yml
[`c838ee9`](https://togithub.com/bcomnes/npm-run-all2/commit/c838ee9eea06e545d1a7f25592f7beb8468f1afd)

###
[`v6.1.1`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v611)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.1.0...v6.1.1)

##### Commits

- Add an npm-run-all2 bin alias
[`e6dc017`](https://togithub.com/bcomnes/npm-run-all2/commit/e6dc0175006a9a703c1256949f8424922043a33a)
- Fix npx on node 16
[`cfbd974`](https://togithub.com/bcomnes/npm-run-all2/commit/cfbd974a5990e8d549ae8bf7bfb632424ff4990b)

###
[`v6.1.0`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v610---2023-10-04)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.6...v6.1.0)

##### Merged

- Upgrade: Bump actions/checkout from 3 to 4
[`#119`](https://togithub.com/bcomnes/npm-run-all2/pull/119)

##### Commits

- Lets avoid spawn.sync
[`a3ee6cd`](https://togithub.com/bcomnes/npm-run-all2/commit/a3ee6cd9e051471bfd7b1b4d153aa260fc9b6634)
- Add support for pnpm
([#&#8203;117](https://togithub.com/bcomnes/npm-run-all2/issues/117))
[`3df3708`](https://togithub.com/bcomnes/npm-run-all2/commit/3df37084ab1ae55f873fcbb449ad0d7df8bc328f)

###
[`v6.0.6`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v606---2023-07-04)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.5...v6.0.6)

##### Merged

- Update all esm only packages
[`#114`](https://togithub.com/bcomnes/npm-run-all2/pull/114)
- Upgrade: Bump c8 from 7.14.0 to 8.0.0
[`#111`](https://togithub.com/bcomnes/npm-run-all2/pull/111)
- Delete .nycrc
[`#109`](https://togithub.com/bcomnes/npm-run-all2/pull/109)
- Update CodeQL workflow
[`#110`](https://togithub.com/bcomnes/npm-run-all2/pull/110)

##### Commits

- Lint fix and a few hand fixes
[`2c81236`](https://togithub.com/bcomnes/npm-run-all2/commit/2c8123694b73084f37b68eb6719632024331d2e9)
- Fix tests
[`79e2c97`](https://togithub.com/bcomnes/npm-run-all2/commit/79e2c97c5b32c46d5cf64ce37b3b78cf4035498e)
- Update p-queue and ansi-styles
[`10b075c`](https://togithub.com/bcomnes/npm-run-all2/commit/10b075c849153822e9abc1447222d186a1cd6136)

###
[`v6.0.5`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v605---2023-04-03)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.4...v6.0.5)

##### Merged

- Upgrade: Bump bcomnes/npm-bump from 2.1.0 to 2.2.1
[`#104`](https://togithub.com/bcomnes/npm-run-all2/pull/104)
- Upgrade: Bump minimatch from 6.2.0 to 7.0.0
[`#103`](https://togithub.com/bcomnes/npm-run-all2/pull/103)
- Upgrade: Bump minimatch from 5.1.4 to 6.0.4
[`#102`](https://togithub.com/bcomnes/npm-run-all2/pull/102)
- Upgrade: Bump fs-extra from 10.1.0 to 11.1.0
[`#98`](https://togithub.com/bcomnes/npm-run-all2/pull/98)

##### Commits

- Merge pull request
[#&#8203;105](https://togithub.com/bcomnes/npm-run-all2/issues/105) from
bcomnes/dependabot/npm_and_yarn/minimatch-8.0.2
[`cbf78c8`](https://togithub.com/bcomnes/npm-run-all2/commit/cbf78c8155365db9ec06cb8054bc821e057d06e2)
- Upgrade: Bump minimatch from 7.4.4 to 8.0.2
[`c90d02b`](https://togithub.com/bcomnes/npm-run-all2/commit/c90d02b02df6dd33cbab01caac44b9729e012bb9)
- Merge pull request
[#&#8203;101](https://togithub.com/bcomnes/npm-run-all2/issues/101) from
bcomnes/dependabot/npm_and_yarn/rimraf-4.0.4
[`d0d46a2`](https://togithub.com/bcomnes/npm-run-all2/commit/d0d46a2b0aa87a3c0c79b78a013415e7902c8324)

###
[`v6.0.4`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v604---2022-11-09)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.3...v6.0.4)

##### Merged

- When running through npx, use the npm that should be next to it.
[`#96`](https://togithub.com/bcomnes/npm-run-all2/pull/96)

###
[`v6.0.3`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v603---2022-11-09)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.2...v6.0.3)

##### Merged

- Upgrade: Bump jsdoc from 3.6.11 to 4.0.0
[`#95`](https://togithub.com/bcomnes/npm-run-all2/pull/95)
- Upgrade: Bump bcomnes/npm-bump from 2.0.2 to 2.1.0
[`#92`](https://togithub.com/bcomnes/npm-run-all2/pull/92)
- docs: update minimum supported Node version
[`#90`](https://togithub.com/bcomnes/npm-run-all2/pull/90)

##### Commits

- Merge pull request
[#&#8203;94](https://togithub.com/bcomnes/npm-run-all2/issues/94) from
MarmadileManteater/runjs-being-called-instead-of-npm-run
[`da913f9`](https://togithub.com/bcomnes/npm-run-all2/commit/da913f9481543907457bd2298ad17192a4420874)
- Use NPM_CLI_JS over npm_execpath
[`0224167`](https://togithub.com/bcomnes/npm-run-all2/commit/022416740f0d9cf8eae2f2e4ca4de8d09a6b67d8)
- Add a proper check for yarn
[`bb41ef6`](https://togithub.com/bcomnes/npm-run-all2/commit/bb41ef6fd85a803a4a22e8382f67ea9e3e235b7d)

###
[`v6.0.2`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v602---2022-08-16)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.1...v6.0.2)

##### Merged

- Update package shell quote
[`#89`](https://togithub.com/bcomnes/npm-run-all2/pull/89)

###
[`v6.0.1`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v601---2022-06-14)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v6.0.0...v6.0.1)

##### Commits

- Lower bound node engine to ^14.18.0 || >=16.0.0
[`fc2957f`](https://togithub.com/bcomnes/npm-run-all2/commit/fc2957f4814848b55bc29b0a0a1def8bfadda18b)

###
[`v6.0.0`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v600---2022-06-11)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v5.0.2...v6.0.0)

##### Merged

- Move support to node 16 and npm 8
[`#85`](https://togithub.com/bcomnes/npm-run-all2/pull/85)
- Upgrade: Bump pidtree from 0.5.0 to 0.6.0
[`#84`](https://togithub.com/bcomnes/npm-run-all2/pull/84)
- Upgrade: Bump mocha from 9.2.2 to 10.0.0
[`#83`](https://togithub.com/bcomnes/npm-run-all2/pull/83)
- Upgrade: Bump github/codeql-action from 1 to 2
[`#82`](https://togithub.com/bcomnes/npm-run-all2/pull/82)
- Upgrade: Bump fastify/github-action-merge-dependabot from 3.0.2 to 3.1
[`#78`](https://togithub.com/bcomnes/npm-run-all2/pull/78)
- Upgrade: Bump codecov/codecov-action from 2 to 3
[`#77`](https://togithub.com/bcomnes/npm-run-all2/pull/77)
- Upgrade: Bump actions/setup-node from 2 to 3
[`#75`](https://togithub.com/bcomnes/npm-run-all2/pull/75)
- Upgrade: Bump actions/checkout from 2 to 3
[`#76`](https://togithub.com/bcomnes/npm-run-all2/pull/76)
- Upgrade: Bump minimatch from 4.2.1 to 5.0.0
[`#74`](https://togithub.com/bcomnes/npm-run-all2/pull/74)
- Upgrade: Bump minimatch from 3.1.1 to 4.1.1
[`#73`](https://togithub.com/bcomnes/npm-run-all2/pull/73)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.7.1 to
3.0.2 [`#72`](https://togithub.com/bcomnes/npm-run-all2/pull/72)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.7.0 to
2.7.1 [`#71`](https://togithub.com/bcomnes/npm-run-all2/pull/71)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.6.0 to
2.7.0 [`#70`](https://togithub.com/bcomnes/npm-run-all2/pull/70)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.5.0 to
2.6.0 [`#69`](https://togithub.com/bcomnes/npm-run-all2/pull/69)
- Simplify npm scripts
[`#64`](https://togithub.com/bcomnes/npm-run-all2/pull/64)
- Update CI config
[`#62`](https://togithub.com/bcomnes/npm-run-all2/pull/62)
- Add CodeQL workflow
[`#65`](https://togithub.com/bcomnes/npm-run-all2/pull/65)
- Switch to c8 for coverage
[`#66`](https://togithub.com/bcomnes/npm-run-all2/pull/66)
- tests: switch to assert's strict mode
[`#67`](https://togithub.com/bcomnes/npm-run-all2/pull/67)
- Enforce LF in the repo.
[`#61`](https://togithub.com/bcomnes/npm-run-all2/pull/61)
- Upgrade: Bump actions/setup-node from 2.4.0 to 2.4.1
[`#59`](https://togithub.com/bcomnes/npm-run-all2/pull/59)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.4.0 to
2.5.0 [`#58`](https://togithub.com/bcomnes/npm-run-all2/pull/58)
- Upgrade: Bump codecov/codecov-action from 2.0.2 to 2.1.0
[`#57`](https://togithub.com/bcomnes/npm-run-all2/pull/57)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.2.0 to
2.4.0 [`#54`](https://togithub.com/bcomnes/npm-run-all2/pull/54)
- Upgrade: Bump actions/setup-node from 2.3.2 to 2.4.0
[`#53`](https://togithub.com/bcomnes/npm-run-all2/pull/53)
- Upgrade: Bump actions/setup-node from 2.3.1 to 2.3.2
[`#52`](https://togithub.com/bcomnes/npm-run-all2/pull/52)
- Upgrade: Bump actions/setup-node from 2.3.0 to 2.3.1
[`#51`](https://togithub.com/bcomnes/npm-run-all2/pull/51)
- Upgrade: Bump codecov/codecov-action from 2.0.1 to 2.0.2
[`#50`](https://togithub.com/bcomnes/npm-run-all2/pull/50)
- Upgrade: Bump actions/setup-node from 2.2.0 to 2.3.0
[`#49`](https://togithub.com/bcomnes/npm-run-all2/pull/49)
- Upgrade: Bump codecov/codecov-action from 1.5.2 to 2.0.1
[`#48`](https://togithub.com/bcomnes/npm-run-all2/pull/48)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.1.1 to
2.2.0 [`#47`](https://togithub.com/bcomnes/npm-run-all2/pull/47)
- Upgrade: Bump actions/setup-node from 2.1.5 to 2.2.0
[`#46`](https://togithub.com/bcomnes/npm-run-all2/pull/46)
- Upgrade: Bump codecov/codecov-action from 1.5.0 to 1.5.2
[`#44`](https://togithub.com/bcomnes/npm-run-all2/pull/44)
- Upgrade: Bump mocha from 8.4.0 to 9.0.0
[`#43`](https://togithub.com/bcomnes/npm-run-all2/pull/43)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.1.0 to
2.1.1 [`#42`](https://togithub.com/bcomnes/npm-run-all2/pull/42)
- Upgrade: Bump fastify/github-action-merge-dependabot from 2.0.0 to
2.1.0 [`#41`](https://togithub.com/bcomnes/npm-run-all2/pull/41)
- Upgrade: Bump gh-release from 5.0.2 to 6.0.0
[`#40`](https://togithub.com/bcomnes/npm-run-all2/pull/40)
- Upgrade: Bump codecov/codecov-action from 1 to 1.5.0
[`#39`](https://togithub.com/bcomnes/npm-run-all2/pull/39)
- Upgrade: Bump fs-extra from 9.1.0 to 10.0.0
[`#38`](https://togithub.com/bcomnes/npm-run-all2/pull/38)
- Upgrade: Bump fastify/github-action-merge-dependabot from v1.2.1 to
v2.0.0 [`#33`](https://togithub.com/bcomnes/npm-run-all2/pull/33)
- Upgrade: Bump fastify/github-action-merge-dependabot
[`#32`](https://togithub.com/bcomnes/npm-run-all2/pull/32)
- Upgrade: Bump fastify/github-action-merge-dependabot from v1.1.1 to
v1.2.0 [`#31`](https://togithub.com/bcomnes/npm-run-all2/pull/31)
- Upgrade: Bump actions/setup-node from v2.1.4 to v2.1.5
[`#30`](https://togithub.com/bcomnes/npm-run-all2/pull/30)
- Upgrade: Bump gh-release from 4.0.4 to 5.0.0
[`#29`](https://togithub.com/bcomnes/npm-run-all2/pull/29)
- Upgrade: Bump actions/setup-node from v2.1.3 to v2.1.4
[`#28`](https://togithub.com/bcomnes/npm-run-all2/pull/28)
- Upgrade: Bump actions/setup-node from v2.1.2 to v2.1.3
[`#27`](https://togithub.com/bcomnes/npm-run-all2/pull/27)

##### Fixed

- Disable override tests on > npm 7
[`#79`](https://togithub.com/bcomnes/npm-run-all2/issues/79)

##### Commits

- **Breaking change:** Bump engines to node 16 and npm 8
[`7d19dd4`](https://togithub.com/bcomnes/npm-run-all2/commit/7d19dd47ee70286878f380934d18823310355471)
- Add auto merge
[`e598066`](https://togithub.com/bcomnes/npm-run-all2/commit/e598066fea7478e0fce14b4f09d64fdf37b0420f)
- Update test.yml
[`96260d6`](https://togithub.com/bcomnes/npm-run-all2/commit/96260d6c088ce0aa2bd367ff0736d653f5b0b1f1)

###
[`v5.0.2`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v502---2020-12-08)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v5.0.1...v5.0.2)

##### Merged

- Upgrade: Bump ansi-styles from 4.3.0 to 5.0.0
[`#26`](https://togithub.com/bcomnes/npm-run-all2/pull/26)
- Upgrade: Bump actions/checkout from v2.3.3 to v2.3.4
[`#25`](https://togithub.com/bcomnes/npm-run-all2/pull/25)

###
[`v5.0.1`](https://togithub.com/bcomnes/npm-run-all2/blob/HEAD/CHANGELOG.md#v501---2020-10-24)

[Compare
Source](https://togithub.com/bcomnes/npm-run-all2/compare/v5.0.0...v5.0.1)

##### Commits

- Fix repo field to a valid format
[`00b88f8`](https://togithub.com/bcomnes/npm-run-all2/commit/00b88f8a399d45cb104a33357cf56015ab92a1c0)
- Remove duplicate repo field
[`a2d11ff`](https://togithub.com/bcomnes/npm-run-all2/commit/a2d11ff3f234812ba660be32f3a9a0aa45a510f6)
- Update FUNDING.yml
[`648a541`](https://togithub.com/bcomnes/npm-run-all2/commit/648a5418725b4330571e08e9e1300756c98edd76)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/jaegertracing/jaeger-ui).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFuZ2Vsb2c6ZGVwZW5kZW5jaWVzIl19-->

Signed-off-by: Mend Renovate <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants