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

Build OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj based on latest .proto files #331

Merged

Conversation

pcwiese
Copy link
Contributor

@pcwiese pcwiese commented Nov 7, 2019

.proto files forked from https://github.com/open-telemetry/opentelemetry-proto
@4b6ff88e525739a2b1d2cbed619301076c6687e7

Generate the .cs files from the .proto files using Grpc.Tools.

Related:
#19

Copy link
Member

@SergeyKanzhelev SergeyKanzhelev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't review much, but looks good after the first glance. Do you want it merged right away?

@SergeyKanzhelev
Copy link
Member

perhaps add a file with the SHA of a copy in the repository

@pcwiese
Copy link
Contributor Author

pcwiese commented Nov 7, 2019

I didn't review much, but looks good after the first glance. Do you want it merged right away?

Certainly not urgent. Just trying to get something flowing from C# to the otelcol container for testing.

After looking more carefully at the collector...it isn't even referencing these new .proto files at all, so there is really no rush. There is nothing capable of hosting a service that this exporter can talk to yet I think. Maybe I'm missing something.

@SergeyKanzhelev
Copy link
Member

@pcwiese no, you are correct. I believe the work is planned though. I saw you following up on gitter on this.

Let's keep it in PR for a bit and once there is a timeline we can move it forward

@SergeyKanzhelev
Copy link
Member

Actually, let's merge this in as we already have project merged. Do you mind renaming the project to OTCollector?

@pcwiese
Copy link
Contributor Author

pcwiese commented Nov 8, 2019 via email

@pcwiese pcwiese force-pushed the pwiese/build-otelcol-exporter branch from f415520 to 4bca93a Compare November 8, 2019 16:10
@pcwiese pcwiese changed the title Build OpenTelemetry.Exporter.Ocagent.csproj based on latest .proto files Build OpenTelemetry.Exporter.OTCollector.csproj based on latest .proto files Nov 8, 2019
Copy link

@lmolkova lmolkova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments:

There are few extra things we need to do for this exporter (probably as extra PRs):

  • add extendable options class instead of public TraceExporter(string agentEndpoint, string hostName, string serviceName, ChannelCredentials credentials = null, uint spanBatchSize = MaxSpanBatchSize)
  • Add UseOtCollector extensions methods (similar to Zipkin) on TracerFactoryBuilder to help with registration and update README.

@pcwiese
Copy link
Contributor Author

pcwiese commented Nov 8, 2019

I 100% agree with all of your comments here.

I'm aware the current .protos aren't spec approved compliant and I had no plans to update this until the actual collector receiver was in place anyway. So it might be too early. I added it back because I inadvertently thought the collector had some otel protocol receiver available; but there is none at all right now.

The exporter itself needs a bunch of work, agreed.
I intentionally did not update the README because people shouldn't be using yet.

I do think there is value in getting this in though. There are plenty of tasks for someone to do apart from the transformation from OpenTelemetry SDK constructs to wire protocol constructs.

Happy to shelve this for now, or just get it in and keep it in sync when the .protos change.

If we want to check this in, lets agree on a name. I happen to like OpenTelemetry.Exports.OtProtocol.

@lmolkova
Copy link

lmolkova commented Nov 8, 2019

@pcwiese I'm fine with merging it as long as we figure out naming.

@SergeyKanzhelev what is the motivation for OTCollector and can we name it differently?
According to the spec, collector is rather daemon or service.

Can we call it

  • Otprocotol (like java) - I'm not fun, but its better than collector
  • Otlp (this is spec abbreviation for the protocol)
  • OtCollector or Otcollector if it has to be called collector?

@pcwiese
Copy link
Contributor Author

pcwiese commented Nov 8, 2019

I vote for either Otlp or just OpenTelemetryProtocol (despite being a bit redundant). Usually I am favor of spelling things out to reduce confusion.

@SergeyKanzhelev
Copy link
Member

Full name of the package is OpenTelemtery.Exporter.OTCollector similar to OpenTelemtery.Exporter.Jaeger. So it is hard to confuse with the daemon. But I'm fine with OpenTelemetryProtocol.

@pcwiese
Copy link
Contributor Author

pcwiese commented Nov 11, 2019

I'll go with OpenTelemetryProtocol then.

@pcwiese pcwiese force-pushed the pwiese/build-otelcol-exporter branch from 22dd913 to fb83534 Compare November 11, 2019 16:38
@pcwiese pcwiese changed the title Build OpenTelemetry.Exporter.OTCollector.csproj based on latest .proto files Build OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj based on latest .proto files Nov 11, 2019
@pcwiese pcwiese force-pushed the pwiese/build-otelcol-exporter branch from fb83534 to 7592527 Compare November 11, 2019 16:41
@SergeyKanzhelev
Copy link
Member

let's handle adding extension method in separate PR. Merging this one

@SergeyKanzhelev SergeyKanzhelev merged commit 57e98ad into open-telemetry:master Nov 11, 2019
@pcwiese pcwiese deleted the pwiese/build-otelcol-exporter branch November 11, 2019 20:00
Yun-Ting pushed a commit to Yun-Ting/opentelemetry-dotnet that referenced this pull request Oct 13, 2022
* add more templates

* update contributing.md doc
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 this pull request may close these issues.

3 participants