func getValue(m *dto.Metric) float64 { if m.Gauge != nil { return m.GetGauge().GetValue() } if m.Counter != nil { return m.GetCounter().GetValue() } if m.Untyped != nil { return m.GetUntyped().GetValue() } return 0. }
// Get name and value from metric func getNameAndValue(m *dto.Metric) map[string]interface{} { fields := make(map[string]interface{}) if m.Gauge != nil { if !math.IsNaN(m.GetGauge().GetValue()) { fields["gauge"] = float64(m.GetGauge().GetValue()) } } else if m.Counter != nil { if !math.IsNaN(m.GetGauge().GetValue()) { fields["counter"] = float64(m.GetCounter().GetValue()) } } else if m.Untyped != nil { if !math.IsNaN(m.GetGauge().GetValue()) { fields["value"] = float64(m.GetUntyped().GetValue()) } } return fields }