jaegertracing / jaeger-idl

A set of shared data model definitions used by Jaeger components.
http://jaegertracing.io/
Apache License 2.0
82 stars 72 forks source link

Improve C# support #62

Closed Falco20019 closed 4 years ago

Falco20019 commented 4 years ago

Requirement - what kind of business use case are you trying to solve?

We need to get proto-gen-csharp usable. As of now, proto-gen-csharp can not be used because google/api/annotations.proto, gogoproto/gogo.proto and protoc-gen-swagger/options/annotations.proto are not created but necessary for reflection (which can't be removed).

Problem - what in Jaeger blocks you from solving the requirement?

gogoproto/goto.proto can't be generated in C# since it's using proto2 syntax which only got added with Protocol Buffers v3.11.0 which was available starting gRPC v1.27.0. This docker currently targets 1.26.0.

This is blocked by https://github.com/jaegertracing/docker-protobuf/issues/14.

Proposal - what do you suggest to solve the problem or improve the existing situation?

Update the Makefile to generate google/api/annotations.proto, gogoproto/gogo.proto and protoc-gen-swagger/options/annotations.proto.

Any open questions to address

I will create the pull request myself.