Defined in “ark/plotting/gui/abstract_plotting_manager.hh”:
using PlottingFieldPtr = std::shared_ptr< PlottingField >
using PlottingFieldGroupPtr = std::shared_ptr< PlottingFieldGroup >
An abstraction over a plot manager this allows you to collect various fields/objects from arbitrary sources (say, comms, or logging), and present them to the rest of the plots.
This class wraps the plugin comms manager, and allows the plotting system to request data coming in on various fields/channels.
Stores and computes data for a single variable’s series (ie, a 1D value stored against some other value). For example, you might have ‘CPU usage’ which is emitted at some dynamic frequency. This class could store it, recording each sample with its time, and applying limits and computing minimums/maximums.
This plugin allows you to decode arbitrary serializable messages coming in from the pipeline as JSON and display the most recently received value. Useful for debugging.
This log plotting manager takes care of managing and providing field information based on a data log.
A table model that allows you to quickly search and select objects. The list of objects must be poplated from an external source.
This plugin allows you to plot data from arbitrary serializable objects into a central plotting pane.
A table model that reads the selected fields from a comms manager, and displays them as if it was a legend. Also shows their current values, and has provisions for removing items.
An aggregated data series sample. The data series system can automatically construct these to make analysis of large amounts of data easier.
A filter to be applied to a data series. This limits what data we store, and what data we return.
A data sample, as passed in from the user.
Configuration for a DataSeriesStore class.
An individual field-name storage. This stores the actual data series that contains all of the updates being made.
This represents a group of fields for a particular object that need to be plotted. It contains all of the fields we are listening for.
Used to provide a configuration to the plotting host plugin. You can, for example, use this tell it to load a log.
An individual row that we can search over. We take the time to process this into a list to simplify a lot of the row work.
This represents an object that will be searchable/selectable through the table model UI.
Declared in “ark/plotting/gui/abstract_plotting_manager.hh”:
- void initialize_field(PlottingFieldPtr & field, const std::shared_ptr< serialization::Object > & object, const std::string & channel_name, const std::string & field_name)
Initializes the given field with the specified object, populating the object and field declarations as necessary.
Declared in “ark/plotting/gui/name_helpers.hh”:
std::pair< std::string, std::string > break_subscriber_name(const std::string & name)
Breaks up a subscriber name into a channel name and type name, returned in that order in the pair.
serialization::FieldDescriptor get_object_field_descriptor(const serialization::SchemaRegistry & registry, const serialization::Schema & schema, const std::string & field_name)
Extracts the descriptor of the field from the given object, recursing into child objects if necessary.