mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-02-07 13:31:42 +02:00
http.ResponseWriters may implement additional interfaces (http.CloseNotifier, http.Flusher, http.Hijacker, http.Pusher, io.ReaderFrom) that get lost when the ResponseWriter is wrapped in another object. This change uses the httpsnoop package to wrap the ResponseWriter so that the resulting object implements any of the optional interfaces that the original ResponseWriter implements as well as using the replacement ResponseWriter methods that gather information for tracing.
Zipkin Exporter Example
Send an example span to a Zipkin service. These instructions expect you have docker-compose installed.
Bring up the zipkin-collector
service and example zipkin-client
service to send an example trace:
docker-compose up --detach zipkin-collector zipkin-client
The zipkin-client
service sends just one trace and exits. Retrieve the traceId
generated by the zipkin-client
service; should be the last line in the logs:
docker-compose logs --tail=1 zipkin-client
With the traceId
you can view the trace from the zipkin-collector
service UI hosted on port 9411
, e.g. with traceId
of f5695ba3b2ed00ea583fa4fa0badbeef
:
http://localhost:9411/zipkin/traces/f5695ba3b2ed00ea583fa4fa0badbeef
Shut down the services when you are finished with the example:
docker-compose down