NaNs in telemetry graph causes scaling crash #17

Closed
jmthomas opened this Issue Jan 15, 2015 · 4 comments

Comments

Projects
None yet
2 participants
@jmthomas
Member

jmthomas commented Jan 15, 2015

I've seen the Telemetry Grapher crash due to a "Comparison of Float with Float failed" error. I think the only way you can get this is if one of the values is a nan. By default the json_drb code allows nans and thus nans can be returned from the server. Somewhere the telemetry grapher needs to handle nans so the scaling code works. I'm not sure if it should replace nans with zero or simply remove them which would result in a blank spot in the graph. The first solution might look like real data might might be confusing. The second solution would result in a hole in the graph that might be confused with a telemetry drop out.

@ryanatball

This comment has been minimized.

Show comment
Hide comment
@ryanatball

ryanatball Jan 15, 2015

Member

This exception just needs to be caught and handled. Ideally it would also show exclamation point on the graph and provide more info on double click.

Member

ryanatball commented Jan 15, 2015

This exception just needs to be caught and handled. Ideally it would also show exclamation point on the graph and provide more info on double click.

@jmthomas

This comment has been minimized.

Show comment
Hide comment
@jmthomas

jmthomas Jan 15, 2015

Member

Yes but we're calling min and max on the lines in many different places. Or perhaps we catch it as it comes in as part of the Lines#add_line routine.

Member

jmthomas commented Jan 15, 2015

Yes but we're calling min and max on the lines in many different places. Or perhaps we catch it as it comes in as part of the Lines#add_line routine.

@ryanatball

This comment has been minimized.

Show comment
Hide comment
@ryanatball

ryanatball Jan 15, 2015

Member

Checking potentially millions of values for NaN is not practical for a realtime application. Needs to just be caught to prevent crashing.

Member

ryanatball commented Jan 15, 2015

Checking potentially millions of values for NaN is not practical for a realtime application. Needs to just be caught to prevent crashing.

@ryanatball

This comment has been minimized.

Show comment
Hide comment
@ryanatball

ryanatball Jan 15, 2015

Member

This could potentially be caught when adding values at the data object level.

Member

ryanatball commented Jan 15, 2015

This could potentially be caught when adding values at the data object level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment