func()

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
}