Just had this happening to me as well, albeit at much smaller scale:
CSV:
1701118337,“2023-11-27 20:52:17”,1,13.6952502613083,24,recentmedian,
1701118335,“2023-11-27 20:52:15”,1,15.4493213746965,24,recentmedian,
1701118271,“2023-11-27 20:51:11”,1,15.4493213746965,24,recentmedian,
JSON:
{
"monitor_id": "24",
"step": 1,
"ts": 1701118271,
"offset": null,
"score": 15.4493213746965
},
{
"monitor_id": "51",
"ts": 1701118335,
"step": -4,
"score": 14.0019005096129,
"offset": -1765036.21504558
},
{
"step": 1,
"ts": 1701118335,
"offset": null,
"score": 15.4493213746965,
"monitor_id": "24"
},
{
"monitor_id": "42",
"ts": 1701118337,
"step": -4,
"offset": -1765036.23765379,
"score": 12.3764371800933
},
{
"score": 13.6952502613083,
"offset": null,
"ts": 1701118337,
"step": 1,
"monitor_id": "24"
},
chronyd messages at that instance (after unusual spontaneous device restart):
Tue Nov 7 10:35:01 2023 daemon.warn chronyd[669]: System clock wrong by 1765036.218890 seconds, adjustment started
Mon Nov 27 20:52:17 2023 daemon.warn chronyd[669]: System clock was stepped by 1765036.218890 seconds
Thus it indeed seems something in chronyd’s response in such circumstances is causing those holes in the CSV log.
Unfortunately, it seems the CSV and JSON logs do not merely represent different formats of the same data, but the JSON log seems to have a subset of the information of the CSV log only.
E.g., in this case, the value of the leap indicator and any kiss code from the server would have been interesting, but are missing from the JSON log. And with the corresponding entries in the CSV log missing entirely being the issue to be investigated, the CSV log obviously isn’t of much help in this case, either…
Not relevant here, or at all, but curiously realized that the sorting of entries is different in the two log variants. I.e., most recent log entry first in the CSV log, but most recent log entry last in the JSON log.