-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Implement OTLP/HTTP receiver #881
Comments
See a similar protocol implementation as an example: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/master/receiver/sapmreceiver |
May I work on this? |
@kirbyquerby sure, that would be great! I think this is going to be your first contribution, so please read https://github.com/open-telemetry/opentelemetry-collector/blob/master/CONTRIBUTING.md#coding-guidelines |
@kirbyquerby if there is anything unclear in the OTLP/HTTP spec please let me know, I will be happy to clarify. |
Just for a bit of current context, in the collector opentelemetry-collector/receiver/opencensusreceiver/opencensus.go Lines 211 to 222 in 86c72c2
we've already got HTTP(1.1, 2.0) + JSON being received, perhaps this issue could be to expand and receive content that's protobuf as well, or perhaps please update that @tigrannajaryan in the prior art section? We use that endpoint over HTTP to receive traces and metrics from OpenCensus-Web plus other apps like Go tools telemetry. |
@odeke-em I think you are referring to gRPC-Web transport, right? I am not familiar with it but from what I remember it allows to use JSON representation of ProtoBufs to make the life of webapps easier (correct me if I am wrong). I think we should be able to support it on the same receiver port but for now OTLP/HTTP only specifies the behavior for binary Protobuf payloads. We can extend OTLP spec to allow JSON payloads too. |
I suggest that in the scope of this issue we implement what the spec says and we can add JSON payload support later. |
This change adds application/x-protobuf support to the existing grpc-gateway mux in the OTLP receiver. See: https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md What currently works: * The receiver will correctly process HTTP requests with the Content-Type application/x-protobuf. * The receiver will respond with Content-Type application/x-protobuf. * The receiver will respond with status code HTTP 200 OK on success. What doesn't work yet: * The receiver cannot handle gzip-encoded requests (Content-Encoding gzip). * The receiver will not gzip-encode responses to requests with Accept-Encoding: gzip. Updates open-telemetry#881
This change adds application/x-protobuf support to the existing grpc-gateway mux in the OTLP receiver. See: https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md What currently works: * The receiver will correctly process HTTP requests with the Content-Type application/x-protobuf. * The receiver will respond with Content-Type application/x-protobuf. * The receiver will respond with status code HTTP 200 OK on success. What doesn't work yet: * The receiver cannot handle gzip-encoded requests (Content-Encoding gzip). * The receiver will not gzip-encode responses to requests with Accept-Encoding: gzip. Updates open-telemetry#881
This change adds application/x-protobuf support to the existing grpc-gateway mux in the OTLP receiver. See: https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md What currently works: * The receiver will correctly process HTTP requests with the Content-Type application/x-protobuf. * The receiver will respond with Content-Type application/x-protobuf. * The receiver will respond with status code HTTP 200 OK on success. What doesn't work yet: * The receiver cannot handle gzip-encoded requests (Content-Encoding gzip). * The receiver will not gzip-encode responses to requests with Accept-Encoding: gzip. Updates #881
Resolved by #1021 |
This change adds application/x-protobuf support to the existing grpc-gateway mux in the OTLP receiver. See: https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md What currently works: * The receiver will correctly process HTTP requests with the Content-Type application/x-protobuf. * The receiver will respond with Content-Type application/x-protobuf. * The receiver will respond with status code HTTP 200 OK on success. What doesn't work yet: * The receiver cannot handle gzip-encoded requests (Content-Encoding gzip). * The receiver will not gzip-encode responses to requests with Accept-Encoding: gzip. Updates open-telemetry#881
* Update B3 header names Correct the B3 single header name from `X-B3` to `b3`. Use the lowercase version of the B3 multiple headers. This is based on the fact that HTTP headers are case-insensitive, however, other protocols may not be. * Update Changelog
* Update changelog for v0.37.1 release * Update CHANGELOG.md Co-authored-by: Ryan Fitzpatrick <rmfitzpatrick@users.noreply.github.com> Co-authored-by: Ryan Fitzpatrick <rmfitzpatrick@users.noreply.github.com>
See protocol spec https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md
This needs to listen on the same port as existing OTLP/gRPC and be part of the same "otlp" receiver.
The text was updated successfully, but these errors were encountered: