[
https://issues.apache.org/jira/browse/HTRACE-362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15280526#comment-15280526
]
Colin Patrick McCabe commented on HTRACE-362:
---------------------------------------------
bq. The only snag here is that Kudu doesn't currently have a pure C API, only
C+, and wrapping C+ is typically a bit harder (though doable).
I'm a bit surprised that there isn't a C API yet since that's typically how
people do Python, Ruby, Lua, etc. etc. bindings. However, you can use SWIG to
wrap C\+\+ in Go. http://www.swig.org/Doc2.0/Go.html
bq. Some kind of small daemon in java or C++ which speaks thrift or grpc and
asks as a "proxy" to Kudu might be the easiest bet in terms of connecting from
go, even though it's one more moving piece.
If you are going to write a new daemon, you might as well go with solution #2,
where you just have a new standalone web server. You could probably go with
Java for this piece. The number of concurrent connections to the web server
will not be high.
bq. Or, a small C library which you can embed in Go, and internally is
implemented on top of the C++ kudu client, should work pretty well too.
A lot of projects find it difficult or impossible to actually have a stable
C\+\+ ABI. It's very easy to end up with two different C\+\+ library versions
that look compatible but which crash when you use code linked against one with
code linked against another. I think an external C library would have the same
problems. However, implementing a C API in Kudu could be one way to go.
> Apache KUDU Span receiver implementation for Apache HTrace
> ----------------------------------------------------------
>
> Key: HTRACE-362
> URL: https://issues.apache.org/jira/browse/HTRACE-362
> Project: HTrace
> Issue Type: Bug
> Reporter: Nisala Mendis
> Assignee: Nisala Mendis
> Attachments: kudu_span_receiver_basic_design.pdf
>
>
> Implementation should be carried two components as span receiver that writes
> kudu back end and span viewer to view written span/traces.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)