-
Notifications
You must be signed in to change notification settings - Fork 773
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
gRPC: When exported to Zipkin, server address doesn't include port #968
Comments
@alanwest Can you help take a look? |
I've found out what's going on. The Zipkin exporter sets
I do not yet have a recommendation for what to do. I'm confident we're doing the right thing in the gRPC instrumentation per the spec, but I will review the HTTP spec tomorrow to make sure we're doing the right thing there. I'll also consider whether we're doing the correct thing in the Zipkin exporter by comparing what other languages are doing. |
@CodeBlanch I was looking at #483 - This PR seems to be where the logic affecting what shows up as Question: In the case of gRPC instrumentation that sets This would make the It's a little unclear to me what information |
You know how Zipkin & Jager show each service in a trace with a unique color? When I first started using OpenTelemetry, spans going to un-instrumented services (think 3rd party) all showed with the same color as the hosting service making the call in the trace. Turns out you need to pass something as RemoteEndpoint on your spans otherwise Zipkin & Jaeger think they are internal. For instrumented services that receive the call, and export the continuation of the trace to Zipkin/Jaeger, the UI displays the service name reported on those spans and ignores the RemoteEndpoint (where "AGGREGATOR" is displayed in the above) from the upstream data. It really only applies for things that aren't reporting. There's the example project in the solution that makes calls to www.google.com, if you run that it should demo what I'm talking about. So, long story short, you can add the port, it should be fine. Whether or not the port should be there, as far as Zipkin or Jaeger spec is concerned, I really have no idea. Probably useful to the user to have the port in there if it isn't 80/443. Hopefully enough of that made sense! PS: Please also update Jaeger if you make a change it has nearly identical logic for the same reasons. |
This is great, Thank you for providing all this context! I'll take a look at both Zipkin and Jaeger. |
Using OT 0.4.0-beta.2
There is inconsistency between the gRPC call telemetry and HttpClient telemetry in Zipkin. I don't know where the inconsistency starts, but I observed it there.
Out of localhost and localhost:5001, I'm guessing localhost:5001 is the correct value, and the gRPC telemetry is reporting an incorrect value.
grpc.net.client.grpcout telemetry:
system.net.httphttprequestout telemetry:
The text was updated successfully, but these errors were encountered: