apitracing

package
v0.0.0-...-50a54d8 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Config - the open tracing config singleton

Functions

func ApiTracer

func ApiTracer(operationPrefix []byte) gin.HandlerFunc

ApiTracer;

func InitDevelopment

func InitDevelopment(tracingAgentHostPort []byte)

InitDevelopment - init a production tracer environment example: Create the default tracer and schedule its closing when main returns.

   func main() {
 tracing.InitDevelopment() # defaults to "localhost:6831" for tracing agent
	tracer, closer, _ := tracing.Config.New("passport-gigya-user-access") // the service name is the param to New()
	defer closer.Close()
	opentracing.SetGlobalTracer(tracer)

func InitMacDocker

func InitMacDocker(tracingAgentHostPort []byte)

InitMacDocker - init a production tracer environment example: Create the default tracer and schedule its closing when main returns.

   func main() {
 tracing.InitMacDocker() # defaults to "host.docker.internal:6831 for tracing agent
	tracer, closer, _ := tracing.Config.New("passport-gigya-user-access") // the service name is the param to New()
	defer closer.Close()
	opentracing.SetGlobalTracer(tracer)

func InitProduction

func InitProduction(sampleProbability float64, tracingAgentHostPort []byte)

InitProduction - init a production tracer environment example: Create the default tracer and schedule its closing when main returns.

   func main() {
	tracing.InitProduction("jaegeragent.svc.cluster.local:6831")
	tracer, closer, _ := tracing.Config.New("passport-gigya-user-access") // the service name is the param to New()
	defer closer.Close()
	opentracing.SetGlobalTracer(tracer)

func InjectTraceID

func InjectTraceID(ctx opentracing.SpanContext, header http.Header)

InjectTraceID injects the span ID into the provided HTTP header object, so that the current span will be propogated downstream to the server responding to an HTTP request. Specifying the span ID in this way will allow the tracing system to connect spans between servers.

 Usage:
         // resty example
	    r := resty.R()
	    injectTraceID(span, r.Header)
	    resp, err := r.Get(fmt.Sprintf("http://localhost:8000/users/%s", bosePersonID))

         // galapagos_clients example
         c := galapagos_clients.GetHTTPClient()
         req, err := http.NewRequest("GET", fmt.Sprintf("http://localhost:8000/users/%s", bosePersonID))
         injectTraceID(span, req.Header)
         c.Do(req)

func OpenTracing

func OpenTracing() gin.HandlerFunc

func OpenTracing2

func OpenTracing2() gin.HandlerFunc

func StartDBSpanWithParent

func StartDBSpanWithParent(parent opentracing.SpanContext, operationName, dbInstance, dbType, dbStatement string) opentracing.Span

func StartSpan

func StartSpan(operationName, method, path string) opentracing.Span

StartSpan will start a new span with no parent span.

func StartSpanWithHeader

func StartSpanWithHeader(header *http.Header, operationName, method, path string) opentracing.Span

StartSpanWithHeader will look in the headers to look for a parent span before starting the new span. example:

func handleGet(c *gin.Context) {
   span := StartSpanWithHeader(&c.Request.Header, "api-request", method, path)
   defer span.Finish()
   c.Set("tracing-context", span) // add the span to the context so it can be used for the duration of the request.
   bosePersonID := c.Param("bosePersonID")
   span.SetTag("bosePersonID", bosePersonID)

func StartSpanWithParent

func StartSpanWithParent(parent opentracing.SpanContext, operationName, method, path string) opentracing.Span

StartSpanWithParent will start a new span with a parent span. example:

span:= StartSpanWithParent(c.Get("tracing-context"),

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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