38 uint32_t num_cores=1, uint64_t instruction_limit=0,
39 bool show_factories =
false);
51 void registerStatCalculationFcns_();
55 void buildTree_()
override;
58 void configureTree_()
override;
62 void bindTree_()
override;
65 void reportGenerationStarted_(
const uint64_t &);
66 bool report_generation_fired_ =
false;
69 std::unique_ptr<sparta::Baz> dispatch_baz_;
70 std::unique_ptr<sparta::Baz> fpu_baz_;
89 void customEatCallback_();
90 void customSleepCallback_();
94 std::string cpu_topology_;
97 const uint32_t num_cores_;
100 const uint64_t instruction_limit_;
102 std::vector<sparta::TreeNode*> tlb_nodes_;
107 std::unique_ptr<sparta::NotificationSource<uint64_t>> testing_notification_source_;
108 std::unique_ptr<sparta::trigger::ExpressionTrigger> random_number_trigger_;
109 void postRandomNumber_();
114 std::unique_ptr<sparta::NotificationSource<uint64_t>> toggle_trigger_notification_source_;
115 std::unique_ptr<sparta::trigger::ExpressionTrigger> toggle_notif_trigger_;
116 void postToToggleTrigger_();
123 sparta::trigger::ExpiringExpressionTrigger lazy_table_create_trigger_;
124 simdb::TableProxy * lazy_table_proxy_ =
nullptr;
125 void addToStatsSchema_();
126 void addToLazySchemaTable_();
132 std::unique_ptr<sparta::NotificationSource<uint64_t>> legacy_warmup_report_starter_;
133 std::vector<std::unique_ptr<sparta::trigger::ExpressionTrigger>> core_warmup_listeners_;
134 uint32_t num_cores_still_warming_up_ = 0;
135 void onLegacyWarmupNotification_();
140 void onTriggered_(
const std::string & msg);
141 bool on_triggered_notifier_registered_ =
false;
146 void validateTreeNodeExtensions_();
157 bool show_factories_;
164 bool simdb_perf_async_ctrl_enabled_ =
false;
172 std::shared_ptr<sparta_simdb::DatabaseTester> simdb_tester_;