restful

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2018 License: BSD-3-Clause Imports: 5 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)

// instrument the service with trace
ws.Filter(restfultrace.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 a filter that will trace incoming request

Types

This section is empty.

Jump to

Keyboard shortcuts

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