This ticket tracks only the creation of IDL structs and their placing inside the correct IDL documents. It will be best to do this in four code review patches, one to create the ReshardingMetricsDuration type, and three more for each resharding machine.
First, create a ReshardingMetricsTimeInterval struct inside common_types.idl. This struct should be strict:false and should contain two optional fields, a timestamp start and a timestamp end.
Then, place instances of this struct in these places, to track these time intervals. You will see that they match with time intervals on the ReshardingMetrics class.
(If you think you have better/more fitting names for the structs, feel free to comment or reach out to Blake Oler)