Documentation
¶
Index ¶
- Constants
- Variables
- func BackendFactory(bf proxy.BackendFactory) proxy.BackendFactory
- func GetAggregatedPathForBackendMetrics(cfg *config.Backend) func(r *http.Request) string
- func GetAggregatedPathForMetrics(cfg *config.EndpointConfig) func(r *http.Request) string
- func HTTPRequestExecutor(clientFactory transport.HTTPClientFactory) transport.HTTPRequestExecutor
- func HTTPRequestExecutorFromConfig(clientFactory transport.HTTPClientFactory, cfg *config.Backend) transport.HTTPRequestExecutor
- func IsBackendEnabled() bool
- func IsPipeEnabled() bool
- func IsRouterEnabled() bool
- func Middleware(name string) proxy.Middleware
- func NewHTTPClient(ctx context.Context) *http.Client
- func ProxyFactory(pf proxy.Factory) proxy.FactoryFunc
- func Register(ctx context.Context, srvCfg config.ServiceConfig, vs ...*view.View) error
- func RegisterExporterFactories(ef ExporterFactory)
- func RequestAttrs(r *http.Request) []trace.Attribute
- func ResponseAttrs(resp *http.Response) []trace.Attribute
- func SpanNameFromURL(req *http.Request) string
- func TraceStatus(httpStatusCode int, _ string) trace.Status
- type Config
- type DataDogConfig
- type EnabledLayers
- type EndpointExtraConfig
- type ExporterFactory
- type Exporters
- type InfluxDBConfig
- type JaegerConfig
- type OcagentConfig
- type PrometheusConfig
- type StackdriverConfig
- type Transport
- type XrayConfig
- type ZipkinConfig
Constants ¶
View Source
const ( ContextKey = "opencensus-request-span" Namespace = "github_com/devopsfaith/krakend-opencensus" )
Variables ¶
View Source
var ( DefaultViews = []*view.View{ ochttp.ClientSentBytesDistribution, ochttp.ClientReceivedBytesDistribution, ochttp.ClientRoundtripLatencyDistribution, ochttp.ClientCompletedCount, ochttp.ServerRequestCountView, ochttp.ServerRequestBytesView, ochttp.ServerResponseBytesView, ochttp.ServerLatencyView, ochttp.ServerRequestCountByMethod, ochttp.ServerResponseCountByStatusCode, } ErrNoConfig = errors.New("no extra config defined for the opencensus module") )
Functions ¶
func BackendFactory ¶
func BackendFactory(bf proxy.BackendFactory) proxy.BackendFactory
func GetAggregatedPathForBackendMetrics ¶
GetAggregatedPathForBackendMetrics returns a path aggregator function ready to reduce path cardinality in the metrics
func GetAggregatedPathForMetrics ¶
func GetAggregatedPathForMetrics(cfg *config.EndpointConfig) func(r *http.Request) string
GetAggregatedPathForMetrics returns a path aggregator function ready to reduce path cardinality in the metrics
func HTTPRequestExecutor ¶
func HTTPRequestExecutor(clientFactory transport.HTTPClientFactory) transport.HTTPRequestExecutor
func HTTPRequestExecutorFromConfig ¶
func HTTPRequestExecutorFromConfig(clientFactory transport.HTTPClientFactory, cfg *config.Backend) transport.HTTPRequestExecutor
func IsBackendEnabled ¶
func IsBackendEnabled() bool
func IsPipeEnabled ¶
func IsPipeEnabled() bool
func IsRouterEnabled ¶
func IsRouterEnabled() bool
func Middleware ¶
func Middleware(name string) proxy.Middleware
func ProxyFactory ¶
func ProxyFactory(pf proxy.Factory) proxy.FactoryFunc
func RegisterExporterFactories ¶
func RegisterExporterFactories(ef ExporterFactory)
func SpanNameFromURL ¶
Types ¶
type Config ¶
type Config struct {
SampleRate int `json:"sample_rate"`
ReportingPeriod int `json:"reporting_period"`
EnabledLayers *EnabledLayers `json:"enabled_layers"`
Exporters Exporters `json:"exporters"`
}
type DataDogConfig ¶
type DataDogConfig struct {
Namespace string `json:"namespace"`
Service string `json:"service"`
TraceAddr string `json:"trace_address"`
StatsAddr string `json:"stats_address"`
Tags []string `json:"tags"`
GlobalTags map[string]interface{} `json:"global_tags"`
DisableCountPerBuckets bool `json:"disable_count_per_buckets"`
}
type EnabledLayers ¶
type EndpointExtraConfig ¶
type EndpointExtraConfig struct {
PathAggregation string `json:"path_aggregation"`
}
type Exporters ¶
type Exporters struct {
InfluxDB *InfluxDBConfig `json:"influxdb"`
Zipkin *ZipkinConfig `json:"zipkin"`
Jaeger *JaegerConfig `json:"jaeger"`
Prometheus *PrometheusConfig `json:"prometheus"`
Logger *struct{} `json:"logger"`
Xray *XrayConfig `json:"xray"`
Stackdriver *StackdriverConfig `json:"stackdriver"`
Ocagent *OcagentConfig `json:"ocagent"`
DataDog *DataDogConfig `json:"datadog"`
ExtraConfig config.ExtraConfig `json:"extra_config"`
}
type InfluxDBConfig ¶
type JaegerConfig ¶
type OcagentConfig ¶
type PrometheusConfig ¶
type StackdriverConfig ¶
type Transport ¶
type Transport struct {
// Base may be set to wrap another http.RoundTripper that does the actual
// requests. By default http.DefaultTransport is used.
//
// If base HTTP roundtripper implements CancelRequest,
// the returned round tripper will be cancelable.
Base http.RoundTripper
// Propagation defines how traces are propagated. If unspecified, a default
// (currently B3 format) will be used.
Propagation propagation.HTTPFormat
// StartOptions are applied to the span started by this Transport around each
// request.
//
// StartOptions.SpanKind will always be set to trace.SpanKindClient
// for spans started by this transport.
StartOptions trace.StartOptions
// GetStartOptions allows to set start options per request. If set,
// StartOptions is going to be ignored.
GetStartOptions func(*http.Request) trace.StartOptions
// NameFromRequest holds the function to use for generating the span name
// from the information found in the outgoing HTTP Request. By default the
// name equals the URL Path.
FormatSpanName func(*http.Request) string
// NewClientTrace may be set to a function allowing the current *trace.Span
// to be annotated with HTTP request event information emitted by the
// httptrace package.
NewClientTrace func(*http.Request, *trace.Span) *httptrace.ClientTrace
// contains filtered or unexported fields
}
Transport is an http.RoundTripper that instruments all outgoing requests with OpenCensus stats and tracing.
The zero value is intended to be a useful default, but for now it's recommended that you explicitly set Propagation, since the default for this may change.
func (*Transport) CancelRequest ¶
CancelRequest cancels an in-flight request by closing its connection.
type XrayConfig ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.