mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-22 16:24:48 -06:00
e43ef0a979
Earlier this evening I tried to run the Go [modernize](https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize) analyzer on OPA. That didn't go as planned: - https://github.com/golang/go/issues/73661 - https://github.com/golang/go/issues/73663 While we wait for that to be fixed, I figured an old-fashioned search-and-replace across the repo may work for at least the `interface{}` to `any` conversion. That should help make it easier to see the other fixes as applied by the modernize tool once it has had those issues resolved. Signed-off-by: Anders Eknert <anders@styra.com>
46 lines
1.6 KiB
Go
46 lines
1.6 KiB
Go
// Copyright 2021 The OPA Authors. All rights reserved.
|
|
// Use of this source code is governed by an Apache2
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package tracing enables dependency-injection at runtime. When used
|
|
// together with an underscore-import of `github.com/open-policy-agent/opa/features/tracing`,
|
|
// the server and its runtime will emit OpenTelemetry spans to the
|
|
// configured sink.
|
|
package tracing
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
v1 "github.com/open-policy-agent/opa/v1/tracing"
|
|
)
|
|
|
|
// Options are options for the HTTPTracingService, passed along as-is.
|
|
type Options = v1.Options
|
|
|
|
// NewOptions is a helper method for constructing `tracing.Options`
|
|
func NewOptions(opts ...any) Options {
|
|
return v1.NewOptions(opts...)
|
|
}
|
|
|
|
// HTTPTracingService defines how distributed tracing comes in, server- and client-side
|
|
type HTTPTracingService = v1.HTTPTracingService
|
|
|
|
// RegisterHTTPTracing enables a HTTPTracingService for further use.
|
|
func RegisterHTTPTracing(ht HTTPTracingService) {
|
|
v1.RegisterHTTPTracing(ht)
|
|
}
|
|
|
|
// NewTransport returns another http.RoundTripper, instrumented to emit tracing
|
|
// spans according to Options. Provided by the HTTPTracingService registered with
|
|
// this package via RegisterHTTPTracing.
|
|
func NewTransport(tr http.RoundTripper, opts Options) http.RoundTripper {
|
|
return v1.NewTransport(tr, opts)
|
|
}
|
|
|
|
// NewHandler returns another http.Handler, instrumented to emit tracing spans
|
|
// according to Options. Provided by the HTTPTracingService registered with
|
|
// this package via RegisterHTTPTracing.
|
|
func NewHandler(f http.Handler, label string, opts Options) http.Handler {
|
|
return v1.NewHandler(f, label, opts)
|
|
}
|