Skip to content
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

Add HTTP protocol support to OTLP #1122

Closed
MrAlias opened this issue Sep 3, 2020 · 8 comments · Fixed by #1586
Closed

Add HTTP protocol support to OTLP #1122

MrAlias opened this issue Sep 3, 2020 · 8 comments · Fixed by #1586
Assignees
Milestone

Comments

@MrAlias
Copy link
Contributor

MrAlias commented Sep 3, 2020

Currently the OTLP exporter only export using the grpc protocol. Both the HTTP protocols required by the specification, http/json and http/protobuf, need to be supported.

Additionally, having gRPC libraries included in dependencies by default for all use of the OTLP exporter can be problematic for many users. Especially if these uses plan to use one of these HTTP protocols. When splitting out the supported protocols design thought needs to given to how we can possibly support a separated model. Possibly having a sub-module of the OTLP exporter module that contains "drivers", similar to the database/sql/driver, can achieve this.

@huikang
Copy link
Member

huikang commented Sep 17, 2020

Hi, @MrAlias , I am interested in this task. Please assign it to me, if no one has taken it. Thanks.

@huikang
Copy link
Member

huikang commented Sep 19, 2020

@MrAlias , I setup an oltp collector which receives HTTP/JSON POST request at port 55681. I was sending the following request with some test span content, which returns http code 200.

curl --location --request POST 'http://localhost:55681/v1/trace' \
--header 'Content-Type: application/json' \
--data-raw '{
    "trace_id":"ZGJhZmU2Yzc4Y2FkNjkwN2RhNTdjZWVlYThhYTFjNjQK",
    "span_id": "YzBmMTM1ZjU3MmNjNGI3ZAo=",
    "name": "test"
}'

However, the collector's zpage does not show any received data, so I think there is some wrong with the request body. Could you please provide some advice on how to form a valid http/JSON content of a span. Thanks.

@huikang
Copy link
Member

huikang commented Sep 19, 2020

I think I found some example at the receiver's test file and will give it a shot: https://github.com/open-telemetry/opentelemetry-collector/blob/e7e66939263ccbd99c9ac9352960c263d464263c/receiver/otlpreceiver/otlp_test.go#L101

@samm02
Copy link

samm02 commented Oct 26, 2020

hi @huikang i am also interested in seeing this feature implemented - could you let us know of progress, or would it be possible for me to assist in getting this across the line?

EDIT: also, is this issue the same as #860? they seem very similar

@huikang huikang removed their assignment Oct 26, 2020
@huikang
Copy link
Member

huikang commented Oct 26, 2020

@samm02 , feel free to take it. Thanks.

EDIT: also, is this issue the same as #860? they seem very similar

yes, should be the same thing.

@MrAlias
Copy link
Contributor Author

MrAlias commented Nov 13, 2020

From this ticket this duplicated:

Implementation on the collector side for reference: open-telemetry/opentelemetry-collector#1021 (issue open-telemetry/opentelemetry-collector#881)

Originally posted by @nilebox in #860 (comment)

@MrAlias
Copy link
Contributor Author

MrAlias commented Feb 18, 2021

We may not need this for our RC. @punya will confirm if it is needed.

@punya
Copy link
Member

punya commented Feb 19, 2021

According to https://github.com/open-telemetry/opentelemetry-specification/blob/v1.0.1/spec-compliance-matrix.md,

* For each type of exporter, OTLP, Zipkin, and Jaeger, implementing at least one of the supported formats is required. Implementing more than one formats is optional.

We already support OTLP/gRPC, so we are compliant. We can defer OTLP/HTTP to post-1.0.

@MrAlias @Aneurysm9 I will remove this issue from the project and I recommend that we remove the release:required-for-ga label as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants