ICounterPayload payload;
if (payloadFields.ContainsKey("CounterType"))
{
- payload = payloadFields["CounterType"].Equals("Sum") ? (ICounterPayload)new IncrementingCounterPayload(payloadFields) : (ICounterPayload)new CounterPayload(payloadFields);
+ payload = payloadFields["CounterType"].Equals("Sum") ? (ICounterPayload)new IncrementingCounterPayload(payloadFields, _interval) : (ICounterPayload)new CounterPayload(payloadFields);
}
else
{
- payload = payloadFields.Count == 6 ? (ICounterPayload)new IncrementingCounterPayload(payloadFields) : (ICounterPayload)new CounterPayload(payloadFields);
+ payload = payloadFields.Count == 6 ? (ICounterPayload)new IncrementingCounterPayload(payloadFields, _interval) : (ICounterPayload)new CounterPayload(payloadFields);
}
writer.Update(obj.ProviderName, payload, pauseCmdSet);
}
public string m_Value;
public string m_DisplayName;
public string m_DisplayRateTimeScale;
- public IncrementingCounterPayload(IDictionary<string, object> payloadFields)
+ public IncrementingCounterPayload(IDictionary<string, object> payloadFields, int interval)
{
m_Name = payloadFields["Name"].ToString();
m_Value = payloadFields["Increment"].ToString();
m_DisplayName = payloadFields["DisplayName"].ToString();
- m_DisplayRateTimeScale = TimeSpan.Parse(payloadFields["DisplayRateTimeScale"].ToString()).ToString("%s' sec'");
+ m_DisplayRateTimeScale = payloadFields["DisplayRateTimeScale"].ToString();
+
+ // In case these properties are not provided, set them to appropriate values.
+ m_DisplayName = m_DisplayName.Length == 0 ? m_Name : m_DisplayName;
+ m_DisplayRateTimeScale = m_DisplayRateTimeScale.Length == 0 ? $"{interval} sec" : TimeSpan.Parse(m_DisplayRateTimeScale).ToString("%s' sec'");
}
public string GetName()