Profiling: Allow children profiling in prometheus without parents being profiled
What
There are cases (like in block_store.ml) where we have profiling such that:
f_1 [@profiler.span_s ["f"; "f_1"]]
f_2 [@profiler.span_s ["f"; "f_2"]]
But no @profiler.span_s ["f"].
(all of them having metadata = "prometheus")
In this case, the metrics observed are not updated, so after offline discussions with @julien.sagot.nl we decided to remove this constraint on the children profiling for prometheus. (this can definitely be improved, but given the tight schedule and desire to show results in Grafana, I really think we should stick with this for now)
Why
How
Manually testing the MR
In the metrics endpoint, check that with this MR, the output for profiling_block_validator_time section is updated, and without it, it's not.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Gabriel Moise