)]}'
{
  "commit": "4110d35c837cf8d6e609efc1b7a2c691e7af535a",
  "tree": "a079b08f2f559633179bbdd57d00c7af24432fbb",
  "parents": [
    "74a50e2b23812883771cbe187b9adc399ea9e242"
  ],
  "author": {
    "name": "Michael Shen",
    "email": "gpgpgp@google.com",
    "time": "Thu Jan 04 02:38:15 2024 +0000"
  },
  "committer": {
    "name": "Michael Shen",
    "email": "gpgpgp@google.com",
    "time": "Thu Jan 25 06:16:44 2024 +0000"
  },
  "message": "bmc_monitor_app: Add retry for getting BMC boot time\n\nBoot monotonic time might not be ready when this daemon tries to get\nthem. So we should add retry flow to ensure we can get the correct value\nwhen it\u0027s ready.\n\nTested:\n```\n\\# Before\nbmc$ busctl call --verbose com.google.gbmc.boot_time_monitor /xyz/openbmc_project/time/boot/bmc xyz.openbmc_project.Time.Boot.Duration GetAdditionalDurations\nMESSAGE \"a(sx)\" {\n        ARRAY \"(sx)\" {\n                STRUCT \"sx\" {\n                        STRING \"Firmware\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Loader\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Kernel\";\n                        INT64 6122;\n                };\n                STRUCT \"sx\" {\n                        STRING \"InitRD\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Userspace\";\n                        INT64 18446744073683234; \u003c-- overflow\n                };\n        };\n};\n\n\\# After\nbmc$ busctl call --verbose com.google.gbmc.boot_time_monitor /xyz/openbmc_project/time/boot/bmc xyz.openbmc_project.Time.Boot.Duration GetAdditionalDurations\nMESSAGE \"a(sx)\" {\n        ARRAY \"(sx)\" {\n                STRUCT \"sx\" {\n                        STRING \"Firmware\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Loader\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Kernel\";\n                        INT64 6409;\n                };\n                STRUCT \"sx\" {\n                        STRING \"InitRD\";\n                        INT64 0;\n                };\n                STRUCT \"sx\" {\n                        STRING \"Userspace\";\n                        INT64 339796; \u003c-- no overflow\n                };\n        };\n};\n\n```\n\nGoogle-Bug-Id: 296787899\nGoogle-Bug-Id: 296791279\nChange-Id: I174dfd453d8163225597ce1477b10e2da73fa280\nSigned-off-by: Michael Shen \u003cgpgpgp@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aa19c81c3cf9bf1f80c6d473b945120dfb11d315",
      "old_mode": 33188,
      "old_path": "src/bmc_monitor_app.cpp",
      "new_id": "f131d59780b38facb9851f46292144393bd3d466",
      "new_mode": 33188,
      "new_path": "src/bmc_monitor_app.cpp"
    }
  ]
}
