Skip to content

Commit f97d28c

Browse files
committed
reports bpf execution units without tx-wide-compute-cap feature
1 parent 16abcac commit f97d28c

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

runtime/src/message_processor.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1258,6 +1258,9 @@ impl MessageProcessor {
12581258
account_db,
12591259
ancestors,
12601260
);
1261+
let pre_remaining_units = invoke_context.get_compute_meter().borrow().get_remaining();
1262+
let mut time = Measure::start("execute_instruction");
1263+
12611264
self.process_instruction(program_id, &instruction.data, &mut invoke_context)?;
12621265
Self::verify(
12631266
message,
@@ -1272,6 +1275,14 @@ impl MessageProcessor {
12721275
invoke_context.is_feature_active(&demote_program_write_locks::id()),
12731276
)?;
12741277

1278+
time.stop();
1279+
let post_remaining_units = invoke_context.get_compute_meter().borrow().get_remaining();
1280+
1281+
let program_timing = timings.per_program_timings.entry(*program_id).or_default();
1282+
program_timing.accumulated_us += time.as_us();
1283+
program_timing.accumulated_units += pre_remaining_units - post_remaining_units;
1284+
program_timing.count += 1;
1285+
12751286
timings.accumulate(&invoke_context.timings);
12761287

12771288
Ok(())
@@ -1299,8 +1310,6 @@ impl MessageProcessor {
12991310
ancestors: &Ancestors,
13001311
) -> Result<(), TransactionError> {
13011312
for (instruction_index, instruction) in message.instructions.iter().enumerate() {
1302-
let mut time = Measure::start("execute_instruction");
1303-
let pre_remaining_units = compute_meter.borrow().get_remaining();
13041313
let instruction_recorder = instruction_recorders
13051314
.as_ref()
13061315
.map(|recorders| recorders[instruction_index].clone());
@@ -1323,14 +1332,6 @@ impl MessageProcessor {
13231332
ancestors,
13241333
)
13251334
.map_err(|err| TransactionError::InstructionError(instruction_index as u8, err));
1326-
time.stop();
1327-
let post_remaining_units = compute_meter.borrow().get_remaining();
1328-
1329-
let program_id = instruction.program_id(&message.account_keys);
1330-
let program_timing = timings.per_program_timings.entry(*program_id).or_default();
1331-
program_timing.accumulated_us += time.as_us();
1332-
program_timing.accumulated_units += pre_remaining_units - post_remaining_units;
1333-
program_timing.count += 1;
13341335

13351336
err?;
13361337
}

0 commit comments

Comments
 (0)