Documentation

Overview

    Package go-restful provides functions to trace the emicklei/go-restful/v3 package (https://github.com/emicklei/go-restful).

    Instrumentation of an incoming request is achieved via a go-restful FilterFunc called `OTelFilterFunc` which may be applied at any one of

    * the container level
    * webservice level
    * route level
    

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func OTelFilter

    func OTelFilter(service string, opts ...Option) restful.FilterFunction

      OTelFilter returns a restful.FilterFunction which will trace an incoming request.

      The service parameter should describe the name of the (virtual) server handling the request. Options can be applied to configure the tracer and propagators used for this filter.

      Types

      type Config

      type Config struct {
      	Tracer      oteltrace.Tracer
      	Propagators otelpropagation.Propagators
      }

        Config is used to configure the go-restful middleware.

        type Option

        type Option func(*Config)

          Option specifies instrumentation configuration options.

          func WithPropagators

          func WithPropagators(propagators otelpropagation.Propagators) Option

            WithPropagators specifies propagators to use for extracting information from the HTTP requests. If none are specified, global ones will be used.

            func WithTracer

            func WithTracer(tracer oteltrace.Tracer) Option

              WithTracer specifies a tracer to use for creating spans. If none is specified, a tracer named "go.opentelemetry.io/contrib/instrumentation/emicklei/go-restful" from the global provider is used.

              Directories

              Path Synopsis
              otelrestful module