code: func (z *Metric) MarshalMsg(b []byte) (o []byte, err error) {
  	o = msgp.Require(b, z.Msgsize())
  	// map header, size 3
  	// string "MetricData"
  	o = append(o, 0x83, 0xaa, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61)
  	o, err = z.MetricData.MarshalMsg(o)
  	if err != nil {
  		err = msgp.WrapError(err, "MetricData")
  		return
  	}
  	// string "AggregationMethod"
  	o = append(o, 0xb1, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64)
  	o = msgp.AppendUint32(o, z.AggregationMethod)
  	// string "Archives"
  	o = append(o, 0xa8, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73)
  	o = msgp.AppendArrayHeader(o, uint32(len(z.Archives)))
  	for za0001 := range z.Archives {
  		o, err = z.Archives[za0001].MarshalMsg(o)
  		if err != nil {
  			err = msgp.WrapError(err, "Archives", za0001)
  			return
  		}
  	}
  	return
  }
docs: // MarshalMsg implements msgp.Marshaler