-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-12671: [C++] Add OpenTelemetry to ThirdpartyToolchain #10260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
3171eba to
4a53e8f
Compare
1bbb8d2 to
e6e9a98
Compare
0704912 to
932aaa0
Compare
932aaa0 to
539a911
Compare
5c1f02c to
c59a89e
Compare
6bf10ee to
ee7b1e8
Compare
929228e to
e2a9f4f
Compare
|
|
e2a9f4f to
3497ca9
Compare
927d72d to
d6033e9
Compare
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
a5d1b0f to
d920399
Compare
|
Benchmark runs are scheduled for baseline = 200f167 and contender = bca0681. bca0681 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
|
I'm curious: why are gRPC and protobuf required? |
This PR configures the OTLP exporter so we can dump collected data somewhere where we can analyze it. The OTLP exporter talks to the OTLP collector over either HTTP or gRPC, using Protobuf payloads, so at least Protobuf and one of cURL and gRPC is required. We only enable the HTTP protocol, but the upstream CMake config currently doesn't differentiate between whether you have gRPC enabled or not when generating Protobuf stubs, so gRPC is unconditionally required. (See open-telemetry/opentelemetry-cpp#1045.) I think this may have just been fixed. |
|
It would be nice to make gRPC at least optional, as it's a rather heavy dependency. |
|
The fix open-telemetry/opentelemetry-cpp@eca856d is in v1.1.0 so we should be able to remove the gRPC dependency in ARROW-14957. |
As discussed on the mailing list, this is a proof-of-concept that integrates OpenTelemetry for (distributed) tracing. This supports the following:
No other instrumentation is added; this just sets up the build, and then we can consider what to instrument (FlightRPC, query engine, etc.) and also integrate more backends (Jaeger, OTLP, etc.).