-
Notifications
You must be signed in to change notification settings - Fork 889
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
Named Tracer question #407
Comments
@obecny recommend removing the web specific parts of this and just making it called 3 and 4 are definitely not in the current spec so I would just remove them so we also don't confuse people. |
As I see it, the root of this question is "what should happen when |
ping @danielkhan for your opinion here |
The spec says "a working default implementation" should be returned, so I'd log an error and return a tracer with a fallback instrumentation library name like "MISSING LIBRARY". |
We had some discussion with ruby too and one thing which was brought that having just a |
Yes on the spec call today I think we agreed to give a tracer anyways and just assign "NAME MISSING" or something like that as the name. |
FWIW, Ruby will provide a working implementation where the name defaults to an empty string. |
@obecny I think we can close this with resolution: "should return a regular working tracer with some default name" |
With regards to
https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/api-tracing.md#obtaining-a-tracer
Lets have such example
###Case A
###Case B
Please clarify what should happen when the name is invalid or empty -
Case B
.tracerB
should be created, it should be a "WebTracer" class and "ConsoleSpanExporter" should be showing the spans in console - exactly the same as fortracerA
tracerB
should be created, it should be a no-op tracer - so the "ConsoleSpanExporter" will not show any span in console - completely opposite astracerA
The point 1 is correct by default but we should create a "Provider" which will allow an application owners to change this behaviour so they can overwrite default behaviour by providing its own implementation of Tracer when name is not provided and then they can create a case when point 2 can be true.
opposite to point 3 (point 2 is correct, add provider so application owner can create point 1)
something else ?
P.S. We don't have yet the
Provider
so please take it also into considerationthx in advance for clarification
The text was updated successfully, but these errors were encountered: