-
Notifications
You must be signed in to change notification settings - Fork 811
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
Create the transport layer and refactor exporters so that they can be used both in node and web #422
Comments
just a note. Jaeger exporter doesn't use http node module. |
Yes you right jaeger uses the |
IMO the ideal way is to have the browser clients send/write to the OpenTelemetry Collector via HTTP/JSON and have the collector send to one or more tracing backends. The best reference architecture would be Browser > OpenTelemetry Agent > OpenTelemetry Collector > Destination(s). WDYT? |
Lets take the real life example - exactly what I'm doing now. My current updated example for web tracer looks like this
And I can easily see those span in console. |
@obecny tracer.addSpanProcessor(new SimpleSpanProcessor(exporter)); SimpleSpanProcessor will send directly WDYT ? |
Can you use a In general, I like the idea of exporting spans via the OpenTelemetry Collector, or actually even writing mini-collector type code that people could embed in a server that would speak the same protocol as the collector so that they don't need to run the collector process if they just have a simple deployment setup of e.g. a Node server and a web frontend. See this issue for OpenCensus Web where someone was asking about this. The advantage of these approaches is that it could allow us to have some type of rate limiting or other security measure in place on the server side to help prevent overload of spans to an unauthenticated trace backend - for example, an application developer could only ingest spans from users logged into their app, etc.. That said, I totally agree that the ability to export to Zipkin, at a minimum for local development purposes, would be super useful - and to drive adoption we should give that option. Someone may even choose to use it in production and just live with the risk of overloaded Zipkin servers. |
Looks like this is mainly useful for local development purposes, does it makes sense to modify Zipkin Exporter only and keep Jaeger Exporter as it is or vice a versa ? |
As a summary: there is already ConsoleSpanExporter which I extended a bit. @OlivierAlbertini the tracer is calling |
As discussed in the SIG, will add/implement agent exporter (similar to https://github.com/census-instrumentation/opencensus-web/tree/master/packages/opencensus-web-exporter-ocagent) to send data to OpenTelemetry Collector. At this moment, will not update the Zipkin/Jaeger exporter to support web use-case. I think we should reconsider this in the futurre. Please comment if you disagree. |
After investigation here what I found out during working on new |
AFAIK |
Hmm, I thought this is just for internal, and not exposed yet from |
Yes, right and as mentioned earlier |
One other helpful link is the Swagger/Open API definitions that correspond to the OpenCensus agent proto format. These were automatically generated by a |
Closing this as a lot has changed since this issue was first opened. |
Now the jaeger and zipkin depends on
http
node module. We could create either in base or core a transport layer that is platform specific and then refactor exporters so that they can be used in node and browser.The text was updated successfully, but these errors were encountered: