Class StatApplicationManager

Inheritance Relationships

Base Type

Class Documentation

class StatApplicationManager : public ska::pst::common::ApplicationManager

Manager for running SKA PST STAT within a pipeline.

Public Types

enum ProcessingState

Enumeration of statistics processor’s state.

Values:

enumerator Unknown
enumerator Idle
enumerator Processing
enumerator Waiting

Public Functions

StatApplicationManager(std::string base_path, std::shared_ptr<StatKafkaProducerFactory> kafka_producer_factory = nullptr)

Create instance of a Stat Application Manager object.

Parameters
  • base_path – directory to which stat hdf5 files will be written.

  • kafka_producer_factory – the factory use to get an instance of a StatKafkaProducer when a scan is configured to send dashboard messages to Kafka.

~StatApplicationManager()

Destroy the Stat Application Manager object.

inline std::string get_stat_base_path()

Get the base path the StatApplicationManager is constructed with.

Returns

std::string filesystem base path to where files will be written

void configure_from_file(const std::string &config_file)

Configure beam and scan as described by the configuration file.

Parameters

config_file – configuration file containing beam and scan configuration parameters

virtual void validate_configure_beam(const ska::pst::common::AsciiHeader &config, ska::pst::common::ValidationContext *context) override

Verify that beam configuration contains required, valid configuration parameters.

Parameters
  • config – beam configuration to be validated

  • context – A validation context where errors should be added.

virtual void validate_configure_scan(const ska::pst::common::AsciiHeader &config, ska::pst::common::ValidationContext *context) override

Verify that scan configuration contains required, valid configuration parameters.

Parameters
  • config – scan configuration to be validated

  • context – A validation context where errors should be added.

virtual void validate_start_scan(const ska::pst::common::AsciiHeader &config) override

Start scan as described by the configuration parameters.

Parameters

config – start scan configuration

virtual void perform_initialise() override

Initialisation callback that creates output directory.

virtual void perform_configure_beam() override

Beam Configuration callback that checks the DATA_KEY and WEIGHTS_KEY are valid.

virtual void perform_configure_scan() override

Scan Configuration callback that constructs the SrmbSegmentProducer, connecting it to the data and weights ring buffers.

virtual void perform_start_scan() override

StartScan callback that sets the keep_processing attribute to true.

virtual void perform_scan() override

Scan callback that reads the data and weights headers from the producer, instantiates the processor, scalar_publisher and hdf5_publisher and then periodically processes segments of data from the data and weights ring buffers and publishes the statistics. This continues until the end of data is encountered or until the keep_processing attribute is false.

virtual void perform_stop_scan() override

StopScan callback that interrupts the processor and sets the keep_processing attribute to false.

virtual void perform_abort_scan() override

Abort the current scan.

This just calls perform_stop_scan.

virtual void perform_deconfigure_scan() override

DeconfigureScan callback that disconnects the producer from the data and weights ring buffers.

virtual void perform_deconfigure_beam() override

DeconfigureBeam callback that takes no action.

virtual void perform_terminate() override

Terminate callback that takes no action.

inline void set_timeout(int _timeout)

Set the timeout for connecting to the DataBlockView object.

StatStorage::scalar_stats_t get_scalar_stats()

Get the scalar stats object.

Returns

StatStorage::scalar_stats_t

inline ProcessingState get_processing_state()

Get the processing state of the application manager.

Returns

State processing state of the application manager