souffle  2.0.2-371-g6315b36
Public Member Functions
souffle::profile::FrequencyAtomProcessor Class Reference

Frequency Atom Processor. More...

#include <EventProcessor.h>

Inheritance diagram for souffle::profile::FrequencyAtomProcessor:
Inheritance graph
Collaboration diagram for souffle::profile::FrequencyAtomProcessor:
Collaboration graph

Public Member Functions

 FrequencyAtomProcessor ()
 
void process (ProfileDatabase &db, const std::vector< std::string > &signature, va_list &args) override
 process event input More...
 
- Public Member Functions inherited from souffle::profile::EventProcessor
virtual ~EventProcessor ()=default
 

Detailed Description

Frequency Atom Processor.

Definition at line 499 of file EventProcessor.h.

Constructor & Destructor Documentation

◆ FrequencyAtomProcessor()

souffle::profile::FrequencyAtomProcessor::FrequencyAtomProcessor ( )
inline

Definition at line 501 of file EventProcessor.h.

501  {
502  db.addSizeEntry({"program", "relation", relation, "non-recursive-rule", rule, "atom-frequency",
503  rule, atom, "level"},

References relation, and rule.

Referenced by souffle::profile::ProgramResourceUtilisationProcessor::process().

Member Function Documentation

◆ process()

void souffle::profile::FrequencyAtomProcessor::process ( ProfileDatabase &  db,
const std::vector< std::string > &  signature,
va_list &  args 
)
inlineoverridevirtual

process event input

Reimplemented from souffle::profile::EventProcessor.

Definition at line 505 of file EventProcessor.h.

505  {"program", "relation", relation, "non-recursive-rule", rule, "atom-frequency",
506  rule, atom, "num-tuples"},
507  number);
508  } else {
509  db.addSizeEntry(
510  {"program", "relation", relation, "iteration", std::to_string(iteration),
511  "recursive-rule", originalRule, version, "atom-frequency", rule, atom, "level"},
512  level);
513  db.addSizeEntry({"program", "relation", relation, "iteration", std::to_string(iteration),
514  "recursive-rule", originalRule, version, "atom-frequency", rule, atom,
515  "num-tuples"},
516  number);
517  }
518  }
520 
521 /**
522  * Reads Processor
523  */
524 const class RelationReadsProcessor : public EventProcessor {
525 public:
526  RelationReadsProcessor() {
528  }
529  /** process event input */
530  void process(ProfileDatabase& db, const std::vector<std::string>& signature, va_list& args) override {
531  const std::string& relation = signature[1];
532  size_t reads = va_arg(args, size_t);

References relation, and rule.

Referenced by souffle::profile::ProgramResourceUtilisationProcessor::process().


The documentation for this class was generated from the following file:
relation
Relation & relation
Definition: Reader.h:130
iteration
Iteration & iteration
Definition: Reader.h:129
souffle::profile::frequencyAtomProcessor
souffle::profile::FrequencyAtomProcessor frequencyAtomProcessor
rule
Rule & rule
Definition: Reader.h:85
souffle::profile::FrequencyAtomProcessor::process
void process(ProfileDatabase &db, const std::vector< std::string > &signature, va_list &args) override
process event input
Definition: EventProcessor.h:505
souffle::profile::EventProcessorSingleton::registerEventProcessor
void registerEventProcessor(const std::string &keyword, EventProcessor *processor)
register an event processor with its keyword
Definition: EventProcessor.h:76
souffle::profile::EventProcessorSingleton::instance
static EventProcessorSingleton & instance()
get instance
Definition: EventProcessor.h:70