[
https://issues.apache.org/jira/browse/HTRACE-164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14524443#comment-14524443
]
Colin Patrick McCabe commented on HTRACE-164:
---------------------------------------------
* htraced: Add the go-codecs project from {{github.com/ugorji/go}}. This has
fast serialization codecs for JSON and msgpack, among other things. Serialize
using this rather than {{encoding/json}}.
* In the C client, add {{htraced.buffer.send.trigger.fraction}}. We will start
sending a buffer when it gets this full. Previously this was hard-coded to
0.25.
* Rework the buffering somewhat in the C client. Rather than using a circular
buffer, use two separate buffers. One can be emptied while the other is
filling. This avoids the need to do another copy before sending, and a lot of
the complexity of a circular buffer. It also makes it possible to get an
accurate count of the number of spans we are sending, which we need for msgpack
(or most other proposed serialization formats really)
* Add the CMP library for serializing spans to msgpack in the C client, in
{{util/cmp.c}} and {{util/cmp.h}}. Serialize spans and the WriteSpans message
frame using this rather than JSON.
> htrace hrpc: use msgpack for serialization
> ------------------------------------------
>
> Key: HTRACE-164
> URL: https://issues.apache.org/jira/browse/HTRACE-164
> Project: HTrace
> Issue Type: Bug
> Affects Versions: 3.2.0
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Attachments: HTRACE-164.002.patch
>
>
> htrace HRPC should use msgpack for serialization. Messages serialized using
> msgpack use less space on the wire and use less CPU time to encode. The CMP
> library allows us to include msgpack support easily in the htrace C client.
> There is also good Java and Golang support available.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)