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

Non-Recursive Rule Timing Profile Event Processor. More...

#include <EventProcessor.h>

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

Public Member Functions

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

Detailed Description

Non-Recursive Rule Timing Profile Event Processor.

Definition at line 194 of file EventProcessor.h.

Constructor & Destructor Documentation

◆ NonRecursiveRuleTimingProcessor()

souffle::profile::NonRecursiveRuleTimingProcessor::NonRecursiveRuleTimingProcessor ( )
inline

Definition at line 196 of file EventProcessor.h.

197  {"program", "relation", relation, "non-recursive-rule", rule, "maxRSS", "post"}, endMaxRSS);
198  db.addTextEntry(

References relation, and rule.

Member Function Documentation

◆ process()

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

abstract interface for processing an profile event

Reimplemented from souffle::profile::EventProcessor.

Definition at line 199 of file EventProcessor.h.

199  {"program", "relation", relation, "non-recursive-rule", rule, "source-locator"}, srcLocator);
200  db.addDurationEntry(
201  {"program", "relation", relation, "non-recursive-rule", rule, "runtime"}, start, end);
202  db.addSizeEntry({"program", "relation", relation, "non-recursive-rule", rule, "num-tuples"}, size);
203  }
205 
206 /**
207  * Non-Recursive Rule Number Profile Event Processor
208  */
209 const class NonRecursiveRuleNumberProcessor : public EventProcessor {
210 public:
211  NonRecursiveRuleNumberProcessor() {
212  EventProcessorSingleton::instance().registerEventProcessor("@n-nonrecursive-rule", this);
213  }
214  /** process event input */
215  void process(ProfileDatabase& db, const std::vector<std::string>& signature, va_list& args) override {
216  const std::string& relation = signature[1];
217  const std::string& srcLocator = signature[2];

References relation, and rule.


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
souffle::profile::NonRecursiveRuleTimingProcessor::process
void process(ProfileDatabase &db, const std::vector< std::string > &signature, va_list &args) override
abstract interface for processing an profile event
Definition: EventProcessor.h:199
souffle::profile::nonRecursiveRuleTimingProcessor
souffle::profile::NonRecursiveRuleTimingProcessor nonRecursiveRuleTimingProcessor
rule
Rule & rule
Definition: Reader.h:85
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