nasa / openmct

A web based mission control framework.
https://nasa.github.io/openmct/
Other
11.99k stars 1.24k forks source link

Chart lines do not correspond with data #7644

Open inad9300 opened 5 months ago

inad9300 commented 5 months ago

Summary

When hovering over a chart, the values shown do not correspond with the lines drawn. The correct values are the ones shown when hovering over the lines, while the lines are wrong. We've seen this happening on a dashboard containing many charts, which may be a clue as to what the underlying issue is.

Environment

Impact Check List

Additional Information

In the following pictures (apologies for their small size), you might appreciate how, as the mouse hovers over the line (blue and red fat arrows), the numbers shown right above (8 and 49) are not what you would expect looking at the chart line and axis.

open-mct-wrong-line-1 open-mct-wrong-line-2

Upon later inspection of the same data as a single chart (as opposed to as part of a dashboard), the revealed shape looks very different, and much more according to our expectations:

open-mct-right-line

I wish I could provide more details to you, but I haven't got any more information at this moment.

akhenry commented 5 months ago

@inad9300 Thanks for reporting this. Something certainly doesn't look right here!

A couple of questions that might help us understand a little better what might be going on here:

  1. What telemetry server are you using? Is it a bespoke one you're written yourself? Or is it Yamcs, ITOS, COSMOS? I ask because my initial suspicion is a problem in the telemetry provider, or in the supplied data, so if it's in a plugin that we maintain (ie. the openmct-yamcs plugin) we could take a look.
  2. Was this data populated via a historical request, or did it arrive in real-time?
    • If it's historical, I wonder if perhaps the telemetry values are returned in a different order to what the plot is expecting? Or if they are returned unordered? This shouldn't matter, and our plots should correct for that, but I wonder if it might be causing the plot to retrieve the wrong index from the backing array when you hover over it? If so that's something we can fix.
  3. I'm having some trouble correlating the third image with the two previous images, as you say the shapes are very different. If you are seeing a different shaped plot depending upon the size of the plot, then my first question would be whether your telemetry server is doing any min-maxing, and whether that might account for the difference in shape here?
inad9300 commented 5 months ago

Hi @akhenry. Thanks for your quick response. Please, find my answers below.

  1. The telemetry server is custom. This was my initial suspicion too, and I apologize beforehand if I opened an issue too quickly. It was seeing that the data was shown correctly on hover what prompted me to report it; to me, this still hints that the data served was correct, but somehow misrepresented – though I keep all options open and will let you know if we find any issues on our side.
  2. The first two graphs (which really are the same graph, just two screenshots of it taken at slightly different times) were part of a dashboard being looked at in real time. In the case of the third graph, a historical request was used to populate it. Regarding ordering, the data could have been served unordered for historical requests (a specific order was not enforced), while we have only observed the problem in real-time cases. As for the real-time data, you may assume that the timestamps could potentially be quite different from the current time, for instance if the communication of the values is delayed for one or another reasons.
  3. I understand. To help you identify the similarity, I drew arrows on the third chart with colors corresponding to the first two. This way, you should see that the values 8 and 49 happen at the same time in all charts (according to the "tooltip" in the first two, and according to the lines and axis in the third). Looking at the data source directly, I could confirm that the chart should have had the data and shape displayed in the third picture. I don't believe the size is playing a part here (the server provides the data verbatim either way), though the fact that many charts were being visualized at the same time might.

I hope this sheds a little bit more light on the problem.