Class ExperimentErrorReceiver

Class Documentation

class ExperimentErrorReceiver

Public Functions

ExperimentErrorReceiver(ExperimentErrorReceiverStates &receiverStates)
void StartReceivingExperimentErrors()

Called by receiver, when user changed pipeline state (command list state) to get errors after experiment.

void StopReceivingExperimentErrors()

Called by receiver, when experiment has finished successfully (it is up to receiver to define what is a success).

virtual void OnExperimentErrors(const std::vector<ExperimentError> &errors) = 0

Must be overriden to get errors after experiment. It is expected that if array of errors is empty then receivers will call StopReceivingExperimentErrors, because relevant experiment finished without errors. Receiver can StartReceivingExperimentErrors again if needed.

virtual uint64_t GetReceiverUniqueId() const = 0
virtual uint64_t GetReceiverGroupId() const
bool GetIsErrorFoundDuringExperiment() const
void SetIsErrorFoundDuringExperiment(bool isErrorFound)
std::string GetErrorDescription() const
void SetErrorDescription(const std::string &errorDescription)

Public Static Functions

static void NotifyReceiversAboutErrors(ExperimentErrorReceiverStates &receiverStates, const std::vector<ExperimentError> &errors, uint64_t notifyGroupId = kExperimentErrorReceiverGroupIDUndefined)

Called by experimentor after relevant experiment (for example, calculating metrics with all shader/pipeline replacements).