Add more logs for CI config external files
What does this MR do and why?
Add more logs for CI config external files
We have lots of lazy loading (with strong_memoize
) in CI config external files. And this makes it difficult to detect the slowness. In this commit, we are adding logging for each expensive call.
Related to #367899 (closed)
Also some discussions: #367899 (comment 1142733750) and #367899 (comment 1143047141)
Screenshots or screen recordings
{
"config_build_variables_duration_s": { "count": 1, "min": 0.26953799999319017, "max": 0.26953799999319017, "sum": 0.26953799999319017, "avg": 0.26953799999319017 },
"config_build_context_duration_s": { "count": 1, "min": 0.27027899998938665, "max": 0.27027899998938665, "sum": 0.27027899998938665, "avg": 0.27027899998938665 },
"config_yaml_load_duration_s": { "count": 1, "min": 0.0007929999846965075, "max": 0.0007929999846965075, "sum": 0.0007929999846965075, "avg": 0.0007929999846965075 },
"config_mapper_normalize_duration_s": { "count": 3, "min": 9.999494068324566e-07, "max": 2.9999646358191967e-06, "sum": 5.999929271638393e-06, "avg": 1.9999764238794646e-06 },
"config_mapper_rules_duration_s": { "count": 3, "min": 9.999494068324566e-07, "max": 0.004249999998137355, "sum": 0.004253999970387667, "avg": 0.0014179999901292224 },
"config_mapper_wildcards_duration_s": { "count": 3, "min": 0.0, "max": 1.00000761449337e-06, "sum": 1.9999570213258266e-06, "avg": 6.666523404419422e-07 },
"config_mapper_variables_duration_s": { "count": 3, "min": 9.999494068324566e-07, "max": 0.0001669999910518527, "sum": 0.00017099996330216527, "avg": 5.6999987767388426e-05 },
"config_mapper_select_duration_s": { "count": 3, "min": 3.999972250312567e-06, "max": 2.0000035874545574e-05, "sum": 2.900004619732499e-05, "avg": 9.666682065774998e-06 },
"config_file_fetch_local_content_duration_s": { "count": 1, "min": 0.015057999989949167, "max": 0.015057999989949167, "sum": 0.015057999989949167, "avg": 0.015057999989949167 },
"config_file_fetch_content_duration_s": { "count": 3, "min": 0.015073999995365739, "max": 2.3693689999636263, "sum": 2.4231229999568313, "avg": 0.8077076666522771 },
"config_file_validate_content_duration_s": { "count": 3, "min": 4.999979864805937e-06, "max": 4.600000102072954e-05, "sum": 5.6999968364834785e-05, "avg": 1.8999989454944927e-05 },
"config_file_fetch_content_hash_duration_s": { "count": 3, "min": 0.00011999998241662979, "max": 0.00015000003622844815, "sum": 0.00041500001680105925, "avg": 0.0001383333389336864 },
"config_file_expand_content_includes_duration_s": { "count": 3, "min": 1.9000028260052204e-05, "max": 2.300000051036477e-05, "sum": 6.400002166628838e-05, "avg": 2.133334055542946e-05 },
"config_file_fetch_project_content_duration_s": { "count": 1, "min": 0.013799000007566065, "max": 0.013799000007566065, "sum": 0.013799000007566065, "avg": 0.013799000007566065 },
"config_file_fetch_remote_content_duration_s": { "count": 1, "min": 2.3693489999859594, "max": 2.3693489999859594, "sum": 2.3693489999859594, "avg": 2.3693489999859594 },
"config_mapper_process_duration_s": { "count": 1, "min": 2.4300220000441186, "max": 2.4300220000441186, "sum": 2.4300220000441186, "avg": 2.4300220000441186 },
"config_external_verify_duration_s": { "count": 3, "min": 0.0, "max": 2.00001522898674e-06, "sum": 3.00002284348011e-06, "avg": 1.00000761449337e-06 },
"config_external_merge_duration_s": { "count": 3, "min": 1.00000761449337e-06, "max": 4.00003045797348e-06, "sum": 7.00005330145359e-06, "avg": 2.33335110048453e-06 },
"config_external_process_duration_s": { "count": 1, "min": 2.4317270000465214, "max": 2.4317270000465214, "sum": 2.4317270000465214, "avg": 2.4317270000465214 },
"config_yaml_extend_duration_s": { "count": 1, "min": 0.0003659999929368496, "max": 0.0003659999929368496, "sum": 0.0003659999929368496, "avg": 0.0003659999929368496 },
"config_tags_resolve_duration_s": { "count": 1, "min": 0.00017800001660361886, "max": 0.00017800001660361886, "sum": 0.00017800001660361886, "avg": 0.00017800001660361886 },
"config_stages_inject_duration_s": { "count": 1, "min": 0.0002460000105202198, "max": 0.0002460000105202198, "sum": 0.0002460000105202198, "avg": 0.0002460000105202198 },
"config_expand_duration_s": { "count": 1, "min": 2.4437940000207163, "max": 2.4437940000207163, "sum": 2.4437940000207163, "avg": 2.4437940000207163 },
"config_compose_duration_s": { "count": 1, "min": 0.018383999995421618, "max": 0.018383999995421618, "sum": 0.018383999995421618, "avg": 0.018383999995421618 },
"yaml_process_duration_s": { "count": 1, "min": 2.7398359999642707, "max": 2.7398359999642707, "sum": 2.7398359999642707, "avg": 2.7398359999642707 }
}
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Furkan Ayhan