span_msgp.go 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. // Unless explicitly stated otherwise all files in this repository are licensed
  2. // under the Apache License Version 2.0.
  3. // This product includes software developed at Datadog (https://www.datadoghq.com/).
  4. // Copyright 2016 Datadog, Inc.
  5. package tracer
  6. // NOTE: THIS FILE WAS PRODUCED BY THE
  7. // MSGP CODE GENERATION TOOL (github.com/tinylib/msgp)
  8. // DO NOT EDIT
  9. import (
  10. "github.com/tinylib/msgp/msgp"
  11. )
  12. // DecodeMsg implements msgp.Decodable
  13. func (z *span) DecodeMsg(dc *msgp.Reader) (err error) {
  14. var field []byte
  15. _ = field
  16. var zb0001 uint32
  17. zb0001, err = dc.ReadMapHeader()
  18. if err != nil {
  19. return
  20. }
  21. for zb0001 > 0 {
  22. zb0001--
  23. field, err = dc.ReadMapKeyPtr()
  24. if err != nil {
  25. return
  26. }
  27. switch msgp.UnsafeString(field) {
  28. case "name":
  29. z.Name, err = dc.ReadString()
  30. if err != nil {
  31. return
  32. }
  33. case "service":
  34. z.Service, err = dc.ReadString()
  35. if err != nil {
  36. return
  37. }
  38. case "resource":
  39. z.Resource, err = dc.ReadString()
  40. if err != nil {
  41. return
  42. }
  43. case "type":
  44. z.Type, err = dc.ReadString()
  45. if err != nil {
  46. return
  47. }
  48. case "start":
  49. z.Start, err = dc.ReadInt64()
  50. if err != nil {
  51. return
  52. }
  53. case "duration":
  54. z.Duration, err = dc.ReadInt64()
  55. if err != nil {
  56. return
  57. }
  58. case "meta":
  59. var zb0002 uint32
  60. zb0002, err = dc.ReadMapHeader()
  61. if err != nil {
  62. return
  63. }
  64. if z.Meta == nil && zb0002 > 0 {
  65. z.Meta = make(map[string]string, zb0002)
  66. } else if len(z.Meta) > 0 {
  67. for key := range z.Meta {
  68. delete(z.Meta, key)
  69. }
  70. }
  71. for zb0002 > 0 {
  72. zb0002--
  73. var za0001 string
  74. var za0002 string
  75. za0001, err = dc.ReadString()
  76. if err != nil {
  77. return
  78. }
  79. za0002, err = dc.ReadString()
  80. if err != nil {
  81. return
  82. }
  83. z.Meta[za0001] = za0002
  84. }
  85. case "metrics":
  86. var zb0003 uint32
  87. zb0003, err = dc.ReadMapHeader()
  88. if err != nil {
  89. return
  90. }
  91. if z.Metrics == nil && zb0003 > 0 {
  92. z.Metrics = make(map[string]float64, zb0003)
  93. } else if len(z.Metrics) > 0 {
  94. for key := range z.Metrics {
  95. delete(z.Metrics, key)
  96. }
  97. }
  98. for zb0003 > 0 {
  99. zb0003--
  100. var za0003 string
  101. var za0004 float64
  102. za0003, err = dc.ReadString()
  103. if err != nil {
  104. return
  105. }
  106. za0004, err = dc.ReadFloat64()
  107. if err != nil {
  108. return
  109. }
  110. z.Metrics[za0003] = za0004
  111. }
  112. case "span_id":
  113. z.SpanID, err = dc.ReadUint64()
  114. if err != nil {
  115. return
  116. }
  117. case "trace_id":
  118. z.TraceID, err = dc.ReadUint64()
  119. if err != nil {
  120. return
  121. }
  122. case "parent_id":
  123. z.ParentID, err = dc.ReadUint64()
  124. if err != nil {
  125. return
  126. }
  127. case "error":
  128. z.Error, err = dc.ReadInt32()
  129. if err != nil {
  130. return
  131. }
  132. default:
  133. err = dc.Skip()
  134. if err != nil {
  135. return
  136. }
  137. }
  138. }
  139. return
  140. }
  141. // EncodeMsg implements msgp.Encodable
  142. func (z *span) EncodeMsg(en *msgp.Writer) (err error) {
  143. // map header, size 12
  144. // write "name"
  145. err = en.Append(0x8c, 0xa4, 0x6e, 0x61, 0x6d, 0x65)
  146. if err != nil {
  147. return
  148. }
  149. err = en.WriteString(z.Name)
  150. if err != nil {
  151. return
  152. }
  153. // write "service"
  154. err = en.Append(0xa7, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65)
  155. if err != nil {
  156. return
  157. }
  158. err = en.WriteString(z.Service)
  159. if err != nil {
  160. return
  161. }
  162. // write "resource"
  163. err = en.Append(0xa8, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65)
  164. if err != nil {
  165. return
  166. }
  167. err = en.WriteString(z.Resource)
  168. if err != nil {
  169. return
  170. }
  171. // write "type"
  172. err = en.Append(0xa4, 0x74, 0x79, 0x70, 0x65)
  173. if err != nil {
  174. return
  175. }
  176. err = en.WriteString(z.Type)
  177. if err != nil {
  178. return
  179. }
  180. // write "start"
  181. err = en.Append(0xa5, 0x73, 0x74, 0x61, 0x72, 0x74)
  182. if err != nil {
  183. return
  184. }
  185. err = en.WriteInt64(z.Start)
  186. if err != nil {
  187. return
  188. }
  189. // write "duration"
  190. err = en.Append(0xa8, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e)
  191. if err != nil {
  192. return
  193. }
  194. err = en.WriteInt64(z.Duration)
  195. if err != nil {
  196. return
  197. }
  198. // write "meta"
  199. err = en.Append(0xa4, 0x6d, 0x65, 0x74, 0x61)
  200. if err != nil {
  201. return
  202. }
  203. err = en.WriteMapHeader(uint32(len(z.Meta)))
  204. if err != nil {
  205. return
  206. }
  207. for za0001, za0002 := range z.Meta {
  208. err = en.WriteString(za0001)
  209. if err != nil {
  210. return
  211. }
  212. err = en.WriteString(za0002)
  213. if err != nil {
  214. return
  215. }
  216. }
  217. // write "metrics"
  218. err = en.Append(0xa7, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73)
  219. if err != nil {
  220. return
  221. }
  222. err = en.WriteMapHeader(uint32(len(z.Metrics)))
  223. if err != nil {
  224. return
  225. }
  226. for za0003, za0004 := range z.Metrics {
  227. err = en.WriteString(za0003)
  228. if err != nil {
  229. return
  230. }
  231. err = en.WriteFloat64(za0004)
  232. if err != nil {
  233. return
  234. }
  235. }
  236. // write "span_id"
  237. err = en.Append(0xa7, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64)
  238. if err != nil {
  239. return
  240. }
  241. err = en.WriteUint64(z.SpanID)
  242. if err != nil {
  243. return
  244. }
  245. // write "trace_id"
  246. err = en.Append(0xa8, 0x74, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64)
  247. if err != nil {
  248. return
  249. }
  250. err = en.WriteUint64(z.TraceID)
  251. if err != nil {
  252. return
  253. }
  254. // write "parent_id"
  255. err = en.Append(0xa9, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64)
  256. if err != nil {
  257. return
  258. }
  259. err = en.WriteUint64(z.ParentID)
  260. if err != nil {
  261. return
  262. }
  263. // write "error"
  264. err = en.Append(0xa5, 0x65, 0x72, 0x72, 0x6f, 0x72)
  265. if err != nil {
  266. return
  267. }
  268. err = en.WriteInt32(z.Error)
  269. if err != nil {
  270. return
  271. }
  272. return
  273. }
  274. // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  275. func (z *span) Msgsize() (s int) {
  276. s = 1 + 5 + msgp.StringPrefixSize + len(z.Name) + 8 + msgp.StringPrefixSize + len(z.Service) + 9 + msgp.StringPrefixSize + len(z.Resource) + 5 + msgp.StringPrefixSize + len(z.Type) + 6 + msgp.Int64Size + 9 + msgp.Int64Size + 5 + msgp.MapHeaderSize
  277. if z.Meta != nil {
  278. for za0001, za0002 := range z.Meta {
  279. _ = za0002
  280. s += msgp.StringPrefixSize + len(za0001) + msgp.StringPrefixSize + len(za0002)
  281. }
  282. }
  283. s += 8 + msgp.MapHeaderSize
  284. if z.Metrics != nil {
  285. for za0003, za0004 := range z.Metrics {
  286. _ = za0004
  287. s += msgp.StringPrefixSize + len(za0003) + msgp.Float64Size
  288. }
  289. }
  290. s += 8 + msgp.Uint64Size + 9 + msgp.Uint64Size + 10 + msgp.Uint64Size + 6 + msgp.Int32Size
  291. return
  292. }
  293. // DecodeMsg implements msgp.Decodable
  294. func (z *spanList) DecodeMsg(dc *msgp.Reader) (err error) {
  295. var zb0002 uint32
  296. zb0002, err = dc.ReadArrayHeader()
  297. if err != nil {
  298. return
  299. }
  300. if cap((*z)) >= int(zb0002) {
  301. (*z) = (*z)[:zb0002]
  302. } else {
  303. (*z) = make(spanList, zb0002)
  304. }
  305. for zb0001 := range *z {
  306. if dc.IsNil() {
  307. err = dc.ReadNil()
  308. if err != nil {
  309. return
  310. }
  311. (*z)[zb0001] = nil
  312. } else {
  313. if (*z)[zb0001] == nil {
  314. (*z)[zb0001] = new(span)
  315. }
  316. err = (*z)[zb0001].DecodeMsg(dc)
  317. if err != nil {
  318. return
  319. }
  320. }
  321. }
  322. return
  323. }
  324. // EncodeMsg implements msgp.Encodable
  325. func (z spanList) EncodeMsg(en *msgp.Writer) (err error) {
  326. err = en.WriteArrayHeader(uint32(len(z)))
  327. if err != nil {
  328. return
  329. }
  330. for zb0003 := range z {
  331. if z[zb0003] == nil {
  332. err = en.WriteNil()
  333. if err != nil {
  334. return
  335. }
  336. } else {
  337. err = z[zb0003].EncodeMsg(en)
  338. if err != nil {
  339. return
  340. }
  341. }
  342. }
  343. return
  344. }
  345. // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  346. func (z spanList) Msgsize() (s int) {
  347. s = msgp.ArrayHeaderSize
  348. for zb0003 := range z {
  349. if z[zb0003] == nil {
  350. s += msgp.NilSize
  351. } else {
  352. s += z[zb0003].Msgsize()
  353. }
  354. }
  355. return
  356. }
  357. // DecodeMsg implements msgp.Decodable
  358. func (z *spanLists) DecodeMsg(dc *msgp.Reader) (err error) {
  359. var zb0003 uint32
  360. zb0003, err = dc.ReadArrayHeader()
  361. if err != nil {
  362. return
  363. }
  364. if cap((*z)) >= int(zb0003) {
  365. (*z) = (*z)[:zb0003]
  366. } else {
  367. (*z) = make(spanLists, zb0003)
  368. }
  369. for zb0001 := range *z {
  370. var zb0004 uint32
  371. zb0004, err = dc.ReadArrayHeader()
  372. if err != nil {
  373. return
  374. }
  375. if cap((*z)[zb0001]) >= int(zb0004) {
  376. (*z)[zb0001] = ((*z)[zb0001])[:zb0004]
  377. } else {
  378. (*z)[zb0001] = make(spanList, zb0004)
  379. }
  380. for zb0002 := range (*z)[zb0001] {
  381. if dc.IsNil() {
  382. err = dc.ReadNil()
  383. if err != nil {
  384. return
  385. }
  386. (*z)[zb0001][zb0002] = nil
  387. } else {
  388. if (*z)[zb0001][zb0002] == nil {
  389. (*z)[zb0001][zb0002] = new(span)
  390. }
  391. err = (*z)[zb0001][zb0002].DecodeMsg(dc)
  392. if err != nil {
  393. return
  394. }
  395. }
  396. }
  397. }
  398. return
  399. }
  400. // EncodeMsg implements msgp.Encodable
  401. func (z spanLists) EncodeMsg(en *msgp.Writer) (err error) {
  402. err = en.WriteArrayHeader(uint32(len(z)))
  403. if err != nil {
  404. return
  405. }
  406. for zb0005 := range z {
  407. err = en.WriteArrayHeader(uint32(len(z[zb0005])))
  408. if err != nil {
  409. return
  410. }
  411. for zb0006 := range z[zb0005] {
  412. if z[zb0005][zb0006] == nil {
  413. err = en.WriteNil()
  414. if err != nil {
  415. return
  416. }
  417. } else {
  418. err = z[zb0005][zb0006].EncodeMsg(en)
  419. if err != nil {
  420. return
  421. }
  422. }
  423. }
  424. }
  425. return
  426. }
  427. // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  428. func (z spanLists) Msgsize() (s int) {
  429. s = msgp.ArrayHeaderSize
  430. for zb0005 := range z {
  431. s += msgp.ArrayHeaderSize
  432. for zb0006 := range z[zb0005] {
  433. if z[zb0005][zb0006] == nil {
  434. s += msgp.NilSize
  435. } else {
  436. s += z[zb0005][zb0006].Msgsize()
  437. }
  438. }
  439. }
  440. return
  441. }