In the schema of MetricReportDefinition Schema, there is two properties SuppressRepeatedMetricValue and MetricReportHeartbeatInterval. Based on the description of schema, the MetricReportHeartbeatInterval is only applies when the SuppressRepeatedMetricValue property is true.
I would like to check the expected behavior for following case. If the MetricReportHeartbeatInterval set as PT20S and SuppressRepeatedMetricValue is false.
My understanding is that, the MetricReportHeartbeatInterval setting will be ignored if SuppressRepeatedMetricValue set as false and applies only when true. But from user point of view, it is not intuition. User usually expect the property is disappear or force set the SuppressRepeatedMetricValue as true.
So I would like to confirm the actual behavior for usage for the two properties.
Your understanding is correct. The intent is to reduce the amount of data being sent back to a client. When "SuppressRepeatedMetricValue" is false, the normal scheduling of transmission of data is governed by the "Schedule" property. I would not expect the "MetricReportHeartbeatInterval" to disappear from the payload because in doing so the client will not have an understanding that the property is supported by the service and can be PATCHed. If the property is supported by that particular resource, it needs to be returned by the service in order to convey that it's supported; this is a general rule we have for all properties.