- Only commit successfully executed transactions' cost to cost_tracker;

- In-fly transactions are pended in cost_tracker until being committed
  or cancelled;
This commit is contained in:
Tao Zhu
2022-04-07 15:42:39 -05:00
committed by Tao Zhu
parent 2e5042d8bd
commit 9e07272af8
6 changed files with 249 additions and 125 deletions

View File

@@ -170,6 +170,23 @@ impl QosService {
(select_results, num_included)
}
pub fn commit_transaction_cost(
&self,
bank: &Arc<Bank>,
transaction: &SanitizedTransaction,
actual_units: Option<u64>,
) {
bank.write_cost_tracker()
.unwrap()
.commit_transaction(transaction, actual_units);
}
pub fn cancel_transaction_cost(&self, bank: &Arc<Bank>, transaction: &SanitizedTransaction) {
bank.write_cost_tracker()
.unwrap()
.cancel_transaction(transaction);
}
// metrics are reported by bank slot
pub fn report_metrics(&self, bank: Arc<Bank>) {
self.report_sender