mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-05-13 21:56:48 +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.
HTTP Client-Server Example
An HTTP client connects to an HTTP server. They both generate span information to stdout
.
These instructions expect you have docker-compose installed.
Bring up the http-server
and http-client
services to run the example:
docker-compose up --detach http-server http-client
The http-client
service sends just one HTTP request to http-server
and then exits. View the span generated to stdout
in the logs:
docker-compose logs http-client
View the span generated by http-server
in the logs:
docker-compose logs http-server
Shut down the services when you are finished with the example:
docker-compose down