Skip to content

Update mergeability logging to use static duration fields and extra array

What does this MR do and why?

This MR updates the mergeability logging format to reduce dynamic field generation while maintaining debugging information, following the approach suggested in !205173 (comment 2774384848).

The changes include:

  • Converting dynamic duration field names to static top-level fields (e.g., mergeability_check_ci_status_duration)
  • Moving additional attributes (successful, status) into an extra array
  • Each item in the extra array includes a name field plus additional properties
  • Only including the extra array when there's additional data beyond duration

This approach reduces the number of dynamic fields being indexed in Elasticsearch while preserving all debugging information needed for investigating mergeability issues.

Example log format

Before:

{
  "mergeability.check_ci_status.duration_s.values": [0.6],
  "mergeability.check_ci_status.successful.values": [false],
  "mergeability.check_ci_status.status.values": ["inactive"]
}

After:

{
  "mergeability_check_ci_status_duration": 0.6,
  "extra": [
    {
      "name": "check_ci_status",
      "successful": false,
      "status": "inactive"
    }
  ]
}

References

!205173 (comment 2774384848)

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading