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

Recursive Relation Timing Profile Event Processor. More...

#include <EventProcessor.h>

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

Public Member Functions

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

Detailed Description

Recursive Relation Timing Profile Event Processor.

Definition at line 347 of file EventProcessor.h.

Constructor & Destructor Documentation

◆ RecursiveRelationTimingProcessor()

souffle::profile::RecursiveRelationTimingProcessor::RecursiveRelationTimingProcessor ( )
inline

Definition at line 349 of file EventProcessor.h.

349  {"program", "relation", relation, "iteration", iteration, "runtime"}, start, end);
350  db.addSizeEntry(
351  {"program", "relation", relation, "iteration", iteration, "maxRSS", "pre"}, startMaxRSS);

References iteration, and relation.

Member Function Documentation

◆ process()

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

process event input

Reimplemented from souffle::profile::EventProcessor.

Definition at line 353 of file EventProcessor.h.

353  {"program", "relation", relation, "iteration", iteration, "maxRSS", "post"}, endMaxRSS);
354  db.addSizeEntry({"program", "relation", relation, "iteration", iteration, "num-tuples"}, size);
355  }
357 
358 /**
359  * Recursive Relation Timing Profile Event Processor
360  */
361 const class RecursiveRelationNumberProcessor : public EventProcessor {
362 public:
363  RecursiveRelationNumberProcessor() {
364  EventProcessorSingleton::instance().registerEventProcessor("@n-recursive-relation", this);
365  }
366  /** process event input */
367  void process(ProfileDatabase& db, const std::vector<std::string>& signature, va_list& args) override {
368  const std::string& relation = signature[1];
369  const std::string& srcLocator = signature[2];

References iteration, and relation.


The documentation for this class was generated from the following file:
TCB_SPAN_NAMESPACE_NAME::detail::size
constexpr auto size(const C &c) -> decltype(c.size())
Definition: span.h:198
relation
Relation & relation
Definition: Reader.h:130
iteration
Iteration & iteration
Definition: Reader.h:129
souffle::profile::RecursiveRelationTimingProcessor::process
void process(ProfileDatabase &db, const std::vector< std::string > &signature, va_list &args) override
process event input
Definition: EventProcessor.h:353
souffle::profile::recursiveRelationTimingProcessor
souffle::profile::RecursiveRelationTimingProcessor recursiveRelationTimingProcessor
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