TelemetryStreamHandler

class lsst.ts.scheduler.telemetry_stream_handler.TelemetryStreamHandler(log: Logger, efd_name: str)

Bases: object

Handle telemetry stream.

Parameters:
loglogging.Logger

Logger class.

efd_namestr

Name of the efd instance to query telemetry from.

Attributes Summary

telemetry_stream_schema

Methods Summary

configure_telemetry_stream(telemetry_stream)

Configure telemetry streams.

get_fill_values_for(stream_name)

Return list of fill values for telemetry stream.

retrive_telemetry(stream_name)

Retrieve telemetry for a given stream.

Attributes Documentation

telemetry_stream_schema

Methods Documentation

async configure_telemetry_stream(telemetry_stream: List[Dict]) None

Configure telemetry streams.

Parameters:
telemetry_streamlist of dict

List of telemetry streams to parse.

Raises:
ValidationError:

If one (or more) stream is invalid.

RuntimeError:

If selected efd_table are not in the selected EFD instance. If selected efd_columns are not in the topic attributes.

get_fill_values_for(stream_name: str) List[float]

Return list of fill values for telemetry stream.

Parameters:
stream_namestr

Name of the telemetry stream to retrieve data from.

Returns:
list of float

Fill values.

async retrive_telemetry(stream_name: str) List[float]

Retrieve telemetry for a given stream.

Parameters:
stream_namestr

Name of the telemetry stream to retrieve data from.

Returns:
telemetry_valueslist of float

Telemetry value, one for each entry in telemetry_streams[stream_name]["efd_columns"].

Raises:
RuntimeError:

If stream_name is not in the list of configured streams.