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))
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()
}))
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
WithAnalytics enables Trace Analytics for all started spans.
func WithAnalyticsRate ¶ added in v1.11.0
WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.
func WithServiceName ¶ added in v1.11.0
WithServiceName sets the service name to by used by the filter.
Click to show internal directories.
Click to hide internal directories.