in model/marshal_fastjson.go [1586:1641]
func (v *Metrics) MarshalFastJSON(w *fastjson.Writer) error {
var firstErr error
w.RawByte('{')
w.RawString("\"samples\":")
if v.Samples == nil {
w.RawString("null")
} else {
w.RawByte('{')
{
first := true
for k, v := range v.Samples {
if first {
first = false
} else {
w.RawByte(',')
}
w.String(k)
w.RawByte(':')
if err := v.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
}
}
w.RawByte('}')
}
w.RawString(",\"timestamp\":")
if err := v.Timestamp.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
if v.FAAS != nil {
w.RawString(",\"faas\":")
if err := v.FAAS.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
}
if !v.Span.isZero() {
w.RawString(",\"span\":")
if err := v.Span.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
}
if !v.Labels.isZero() {
w.RawString(",\"tags\":")
if err := v.Labels.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
}
if !v.Transaction.isZero() {
w.RawString(",\"transaction\":")
if err := v.Transaction.MarshalFastJSON(w); err != nil && firstErr == nil {
firstErr = err
}
}
w.RawByte('}')
return firstErr
}