Skip to content

Add more logs for CI config external files

What does this MR do and why?


This MR got reverted. The new MR is !103160 (merged).


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.

Edited by Furkan Ayhan

Merge request reports