restful

package
v1.20.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2019 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Overview

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

Example

To start tracing requests, add the trace filter to your go-restful router.

// create new go-restful service
ws := new(restful.WebService)

// create the Datadog filter
filter := restfultrace.FilterFunc(
	restfultrace.WithServiceName("my-service"),
)

// use it
ws.Filter(filter)

// set endpoint
ws.Route(ws.GET("/hello").To(
	func(request *restful.Request, response *restful.Response) {
		io.WriteString(response, "world")
	}))
restful.Add(ws)

// serve request
log.Fatal(http.ListenAndServe(":8080", nil))
Output:

Example (SpanFromContext)
ws := new(restful.WebService)
ws.Filter(restfultrace.Filter)

ws.Route(ws.GET("/image/encode").To(
	func(request *restful.Request, response *restful.Response) {
		// create a child span to track operation timing.
		encodeSpan, _ := tracer.StartSpanFromContext(request.Request.Context(), "image.encode")
		// encode a image
		encodeSpan.Finish()
	}))
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func Filter

func Filter(req *restful.Request, resp *restful.Response, chain *restful.FilterChain)

Filter is deprecated. Please use FilterFunc.

func FilterFunc added in v1.11.0

func FilterFunc(configOpts ...Option) restful.FilterFunction

FilterFunc returns a restful.FilterFunction which will automatically trace incoming request.

Types

type Option added in v1.11.0

type Option func(*config)

Option specifies instrumentation configuration options.

func WithAnalytics added in v1.11.0

func WithAnalytics(on bool) Option

WithAnalytics enables Trace Analytics for all started spans.

func WithAnalyticsRate added in v1.11.0

func WithAnalyticsRate(rate float64) Option

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

func WithServiceName added in v1.11.0

func WithServiceName(name string) Option

WithServiceName sets the service name to by used by the filter.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL