github.com/grafana/pyroscope@v1.18.0/pkg/operations/v2/admin.go (about) 1 package v2 2 3 import ( 4 "context" 5 "net/http" 6 7 "github.com/go-kit/log" 8 "github.com/grafana/dskit/services" 9 10 "github.com/grafana/pyroscope/pkg/objstore" 11 ) 12 13 type Admin struct { 14 services.Service 15 logger log.Logger 16 handlers *Handlers 17 } 18 19 func NewAdmin(metastoreClient MetastoreClient, bucket objstore.Bucket, logger log.Logger) (*Admin, error) { 20 a := &Admin{ 21 logger: logger, 22 handlers: &Handlers{ 23 Logger: logger, 24 MetastoreClient: metastoreClient, 25 Bucket: bucket, 26 }, 27 } 28 a.Service = services.NewBasicService(nil, a.running, nil) 29 return a, nil 30 } 31 32 func (a *Admin) running(ctx context.Context) error { 33 <-ctx.Done() 34 return nil 35 } 36 37 func (a *Admin) TenantsHandler(w http.ResponseWriter, r *http.Request) { 38 a.handlers.CreateIndexHandler()(w, r) 39 } 40 41 func (a *Admin) BlocksHandler(w http.ResponseWriter, r *http.Request) { 42 a.handlers.CreateBlocksHandler()(w, r) 43 } 44 45 func (a *Admin) BlockHandler(w http.ResponseWriter, r *http.Request) { 46 a.handlers.CreateBlockDetailsHandler()(w, r) 47 } 48 49 func (a *Admin) DatasetHandler(w http.ResponseWriter, r *http.Request) { 50 a.handlers.CreateDatasetDetailsHandler()(w, r) 51 } 52 53 func (a *Admin) DatasetProfilesHandler(w http.ResponseWriter, r *http.Request) { 54 a.handlers.CreateDatasetProfilesHandler()(w, r) 55 } 56 57 func (a *Admin) ProfileDownloadHandler(w http.ResponseWriter, r *http.Request) { 58 a.handlers.CreateDatasetProfileDownloadHandler()(w, r) 59 } 60 61 func (a *Admin) ProfileCallTreeHandler(w http.ResponseWriter, r *http.Request) { 62 a.handlers.CreateDatasetProfileCallTreeHandler()(w, r) 63 } 64 65 func (a *Admin) DatasetTSDBIndexHandler(w http.ResponseWriter, r *http.Request) { 66 a.handlers.CreateDatasetTSDBIndexHandler()(w, r) 67 } 68 69 func (a *Admin) DatasetSymbolsHandler(w http.ResponseWriter, r *http.Request) { 70 a.handlers.CreateDatasetSymbolsHandler()(w, r) 71 }