Documentation

Overview

    Package http provides functions to trace the net/http package (https://golang.org/pkg/net/http).

    Example
    Output:
    
    
    Example (WithServiceName)
    Output:
    
    

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func WrapClient

    func WrapClient(c *http.Client, opts ...RoundTripperOption) *http.Client

      WrapClient modifies the given client's transport to augment it with tracing and returns it.

      func WrapHandler

      func WrapHandler(h http.Handler, service, resource string, opts ...Option) http.Handler

        WrapHandler wraps an http.Handler with tracing using the given service and resource.

        func WrapRoundTripper

        func WrapRoundTripper(rt http.RoundTripper, opts ...RoundTripperOption) http.RoundTripper

          WrapRoundTripper returns a new RoundTripper which traces all requests sent over the transport.

          Types

          type MuxOption

          type MuxOption = Option

            MuxOption has been deprecated in favor of Option.

            func WithAnalytics

            func WithAnalytics(on bool) MuxOption

              WithAnalytics enables Trace Analytics for all started spans.

              func WithAnalyticsRate

              func WithAnalyticsRate(rate float64) MuxOption

                WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.

                func WithServiceName

                func WithServiceName(name string) MuxOption

                  WithServiceName sets the given service name for the returned ServeMux.

                  type Option

                  type Option func(*config)

                    Option represents an option that can be passed to NewServeMux or WrapHandler.

                    func NoDebugStack

                    func NoDebugStack() Option

                      NoDebugStack prevents stack traces from being attached to spans finishing with an error. This is useful in situations where errors are frequent and performance is critical.

                      func WithSpanOptions

                      func WithSpanOptions(opts ...ddtrace.StartSpanOption) Option

                        WithSpanOptions defines a set of additional ddtrace.StartSpanOption to be added to spans started by the integration.

                        type RoundTripperAfterFunc

                        type RoundTripperAfterFunc func(*http.Response, ddtrace.Span)

                          A RoundTripperAfterFunc can be used to modify a span after an http RoundTrip is made. It is possible for the http Response to be nil.

                          type RoundTripperBeforeFunc

                          type RoundTripperBeforeFunc func(*http.Request, ddtrace.Span)

                            A RoundTripperBeforeFunc can be used to modify a span before an http RoundTrip is made.

                            type RoundTripperOption

                            type RoundTripperOption func(*roundTripperConfig)

                              A RoundTripperOption represents an option that can be passed to WrapRoundTripper.

                              func RTWithAnalytics

                              func RTWithAnalytics(on bool) RoundTripperOption

                                RTWithAnalytics enables Trace Analytics for all started spans.

                                func RTWithAnalyticsRate

                                func RTWithAnalyticsRate(rate float64) RoundTripperOption

                                  RTWithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.

                                  func RTWithResourceNamer

                                  func RTWithResourceNamer(namer func(req *http.Request) string) RoundTripperOption

                                    RTWithResourceNamer specifies a function which will be used to obtain the resource name for a given request.

                                    func RTWithServiceName

                                    func RTWithServiceName(name string) RoundTripperOption

                                      RTWithServiceName sets the given service name for the RoundTripper.

                                      func WithAfter

                                        WithAfter adds a RoundTripperAfterFunc to the RoundTripper config.

                                        func WithBefore

                                          WithBefore adds a RoundTripperBeforeFunc to the RoundTripper config.

                                          type ServeMux

                                          type ServeMux struct {
                                          	*http.ServeMux
                                          	// contains filtered or unexported fields
                                          }

                                            ServeMux is an HTTP request multiplexer that traces all the incoming requests.

                                            func NewServeMux

                                            func NewServeMux(opts ...Option) *ServeMux

                                              NewServeMux allocates and returns an http.ServeMux augmented with the global tracer.

                                              func (*ServeMux) ServeHTTP

                                              func (mux *ServeMux) ServeHTTP(w http.ResponseWriter, r *http.Request)

                                                ServeHTTP dispatches the request to the handler whose pattern most closely matches the request URL. We only need to rewrite this function to be able to trace all the incoming requests to the underlying multiplexer