import "golang.org/x/pkgsite/internal/dcensus"
Package dcensus provides functionality for debug instrumentation.
var ( ServerRequestCount = &view.View{ Name: "go-discovery/http/server/request_count", Description: "Count of HTTP requests started by Method", TagKeys: []tag.Key{ochttp.Method}, Measure: ochttp.ServerRequestCount, Aggregation: view.Count(), } ServerResponseCount = &view.View{ Name: "go-discovery/http/server/response_count", Description: "Server response count by status code and route", TagKeys: []tag.Key{ochttp.StatusCode, ochttp.KeyServerRoute}, Measure: ochttp.ServerLatency, Aggregation: view.Count(), } ServerLatency = &view.View{ Name: "go-discovery/http/server/response_latency", Description: "Server response distribution by status code and route", TagKeys: []tag.Key{ochttp.KeyServerRoute}, Measure: ochttp.ServerLatency, Aggregation: ochttp.DefaultLatencyDistribution, } ServerResponseBytes = &view.View{ Name: "go-discovery/http/server/response_bytes", Description: "Size distribution of HTTP response body", TagKeys: []tag.Key{ochttp.KeyServerRoute}, Measure: ochttp.ServerResponseBytes, Aggregation: ochttp.DefaultSizeDistribution, } ServerViews = []*view.View{ ServerRequestCount, ServerResponseCount, ServerLatency, ServerResponseBytes, } )
Customizations of ochttp views. Views are updated as follows:
+ ClientHost and ServerRoute are added to resp. client and server metrics. Since these are bounded cardinality in our metrics, they are useful to add additional context. + Method tags are removed. We don't have any routes that accept more than one HTTP method.
var KeyStatus = tag.MustNewKey("status")
KeyStatus is a tag key named "status".
Init configures tracing and aggregation according to the given Views. If running on GCP, Init also configures exporting to StackDriver.
NewServer creates a new http.Handler for serving debug information.
NewViewExporter creates a StackDriver exporter for stats.
RecordWithTag is a convenience function for recording a single measurement with a single tag.
RouteTagger is a func that can be used to derive a dynamic route tag for an incoming request.
Router is an http multiplexer that instruments per-handler debugging information and census instrumentation.
func NewRouter(tagger RouteTagger) *Router
NewRouter creates a new Router, using tagger to tag incoming requests in monitoring. If tagger is nil, a default route tagger is used.
Handle registers handler with the given route. It has the same routing semantics as http.ServeMux.
func (r *Router) HandleFunc(route string, handler http.HandlerFunc)
HandleFunc is a wrapper around Handle for http.HandlerFuncs.
Package dcensus imports 20 packages (graph) and is imported by 6 packages. Updated 2021-01-17. Refresh now. Tools for package owners.