Skip to content

Commit

Permalink
Remove scatter data providers (e.g. latency scatter charts)
Browse files Browse the repository at this point in the history
All latency scatter XY charts have in common that each series don't
have a common x axis in comparison to the Histogram which have multiple
series where each series have the same x values the same number of
y-values.

The theia-traceviewer currently doesn't have support of drawing such
scatter charts properly and should be hidden.

The data provider descriptor, however, doesn't provide a way to
determine if it's a xy-chart with common x-Axis or not, and hence it's
not possible to generically hide such graphs.

This PR hides such graphs based on the data provider ID, which contain
the string "scatter" in it the Trace Compass case all with
org.eclipse.tracecompass.internal.analysis.timing.core.segmentstore.scatter.dataprovider.

Even if this is Trace Compass server specific, it will improve
the UX for such users. This stop gap implementation will be removed
once the front-end properly supports such graphs or there is a generic
way to filter-out unwanted data provider.

Contributes to fixing of #296

Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
  • Loading branch information
bhufmann committed Nov 5, 2021
1 parent 2681383 commit 6327e3c
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,17 @@ export class ReactAvailableViewsWidget extends React.Component<ReactAvailableVie
if (descriptors && descriptors.length) {
outputDescriptors.push(...descriptors);
}
return outputDescriptors.filter(value => value.type !== 'DATA_TREE');
/**
* Remove outputs of type DATA_TREE since the view is not supported in theia-traceviewer
*/
let outputs = outputDescriptors.filter(value => (value.type !== 'DATA_TREE'));
/*
* Remove certain scatter specific outputs since they are not supported in the theia-traceviewer
* There is no generic way to identify such outputs. This is not ideal because other server
* implementations are not covered.
*/
outputs = outputs.filter(value => !value.id.includes('scatter'));
return outputs;
}
}

0 comments on commit 6327e3c

Please sign in to comment.