-
Notifications
You must be signed in to change notification settings - Fork 135
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
Introduce peer.hostPort standard tag #116
Comments
@yurishkuro what do you think about |
@bensigelman It's certainly useful to capture resolvable PS: I am ok to have |
It just seems weird to me to support |
It reflects various degrees of information available to instrumentation:
Right now we don't have a place to store something like |
@yurishkuro another option would be to write a helper (could even be part of I am (obviously) trying to avoid a situation where the "official" tags overlap more than is needed. |
@bensigelman that's certainly an option, my concern with that was actually about adding the CPU overhead on the client app, because this helper function might turn out to be fairly involved. In contrast, having client app submit the same info via PS: I was wrong about "Right now we don't have a place to store something like google.com:8080 at all" - we do have |
PS: performance implication of always parsing hostPort string is especially pronounced when tracer performs heavy upfront sampling (e.g. our default is 1 in 1000) |
@yurishkuro I still find myself feeling more enthusiastic about On that note, we could look towards the Go This would yield a |
For the reason that @yurishkuro mentions that different clients have different levels of visibility into a RPC call, we've adopted a model that allows either reporting an all-in-one Ultimately we prefer
|
I also like |
... continued on opentracing/specification#16 |
We currently have a series of standard peer tags like
peer.ipv4
,peer.hostname
,peer.port
, etc. I've discovered that quite often the RPC libraries being instrumented with OT do not actually know the exact format of"host:port"
string they are given, because they just pass it to lower-level networking libraries. Therefore when RPC libraries need to identify the peer via peer tags, they often have to duplicate the same parsing code, for example here.I would like to propose a standard tag
peer.hostPort
(string) which can take a variety of different formats and let the tracer implementation deal with parsing it (or even send it off to collection tier to process later). Specifically, the tag value could be one of these forms:host:port
(port must be a number)host
(no port)host
can be"myhost"
"webserver.mydomain.com"
"ip-12-34-56-78.us-west-2.compute.internal"
"10.20.30.40"
[]
, e.g."[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"
cc @bensigelman @dkuebric
The text was updated successfully, but these errors were encountered: