Once we have batched system error reports implemented client side, there will be some changes needed on Daisy. To account for possible clock skew, we'll take the most recent report in the received batch, adjust it to the current server clock time and adjust all subsequent reports by the delta between the server clock and the most recent report time.
This will mean that we'll occasionally get reports for days gone past. We'll need to update the code that calculates the average errors per day, which assumes that days gone past are frozen. The likely implementation will involve marking a day as "dirty", so that a periodic task can re-compute the average errors for that calendar day.
Daisy will need to understand the concept of a batch set, a list of dictionaries in the bson data.
Once we have batched system error reports implemented client side, there will be some changes needed on Daisy. To account for possible clock skew, we'll take the most recent report in the received batch, adjust it to the current server clock time and adjust all subsequent reports by the delta between the server clock and the most recent report time.
This will mean that we'll occasionally get reports for days gone past. We'll need to update the code that calculates the average errors per day, which assumes that days gone past are frozen. The likely implementation will involve marking a day as "dirty", so that a periodic task can re-compute the average errors for that calendar day.
Daisy will need to understand the concept of a batch set, a list of dictionaries in the bson data.