github.com/grafana/pyroscope@v1.18.0/pkg/util/http/middleware.go (about)

     1  package http
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/grafana/dskit/middleware"
     7  	"github.com/grafana/pyroscope-go/x/k6"
     8  )
     9  
    10  // K6Middleware creates a middleware that extracts k6 load test labels from the
    11  // request baggage and adds them as dynamic profiling labels.
    12  func K6Middleware() middleware.Interface {
    13  	return middleware.Func(func(h http.Handler) http.Handler {
    14  		return k6.LabelsFromBaggageHandler(h)
    15  	})
    16  }