Documentation ¶
Index ¶
- Constants
- func NewPyroscopeDatasource(ctx context.Context, httpClientProvider httpclient.Provider, ...) (instancemgmt.Instance, error)
- type CustomMeta
- type EnumField
- type Flamebearer
- type Function
- type LabelPair
- type LabelValuesPayload
- type Level
- type Point
- type ProfileResponse
- type ProfileTree
- type ProfileType
- type ProfilingClient
- type PyroscopeClient
- func (c *PyroscopeClient) GetProfile(ctx context.Context, profileTypeID, labelSelector string, start, end int64, ...) (*ProfileResponse, error)
- func (c *PyroscopeClient) GetSeries(ctx context.Context, profileTypeID string, labelSelector string, start int64, ...) (*SeriesResponse, error)
- func (c *PyroscopeClient) GetSpanProfile(ctx context.Context, profileTypeID, labelSelector string, ...) (*ProfileResponse, error)
- func (c *PyroscopeClient) LabelNames(ctx context.Context, labelSelector string, start int64, end int64) ([]string, error)
- func (c *PyroscopeClient) LabelValues(ctx context.Context, label string, labelSelector string, start int64, ...) ([]string, error)
- func (c *PyroscopeClient) ProfileTypes(ctx context.Context, start int64, end int64) ([]*ProfileType, error)
- type PyroscopeDatasource
- func (d *PyroscopeDatasource) CallResource(ctx context.Context, req *backend.CallResourceRequest, ...) error
- func (d *PyroscopeDatasource) CheckHealth(ctx context.Context, _ *backend.CheckHealthRequest) (*backend.CheckHealthResult, error)
- func (d *PyroscopeDatasource) PublishStream(ctx context.Context, _ *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error)
- func (d *PyroscopeDatasource) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error)
- func (d *PyroscopeDatasource) RunStream(ctx context.Context, req *backend.RunStreamRequest, ...) error
- func (d *PyroscopeDatasource) SubscribeStream(_ context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error)
- type Series
- type SeriesResponse
- type Service
- func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceRequest, ...) error
- func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error)
- func (s *Service) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error)
- func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error)
- func (s *Service) RunStream(ctx context.Context, req *backend.RunStreamRequest, ...) error
- func (s *Service) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error)
Constants ¶
const ITEM_OFFSET = 4
ITEM_OFFSET Next bar. Each bar of the profile is represented by 4 number in a flat array.
const NAME_OFFSET = 3
NAME_OFFSET is index into the names array
const SELF_OFFSET = 2
SELF_OFFSET is self value of the bar
const START_OFFSET = 0
START_OFFSET is offset of the bar relative to previous sibling
const VALUE_OFFSET = 1
VALUE_OFFSET is value or width of the bar
Variables ¶
This section is empty.
Functions ¶
func NewPyroscopeDatasource ¶
func NewPyroscopeDatasource(ctx context.Context, httpClientProvider httpclient.Provider, settings backend.DataSourceInstanceSettings) (instancemgmt.Instance, error)
NewPyroscopeDatasource creates a new datasource instance.
Types ¶
type CustomMeta ¶
type CustomMeta struct {
ProfileTypeID string
}
type Flamebearer ¶
type LabelValuesPayload ¶
type ProfileResponse ¶
type ProfileResponse struct { Flamebearer *Flamebearer Units string }
type ProfileTree ¶
type ProfileTree struct { Start int64 Value int64 Self int64 Level int Name string Nodes []*ProfileTree }
func (*ProfileTree) String ¶
func (pt *ProfileTree) String() string
type ProfileType ¶
type ProfilingClient ¶
type ProfilingClient interface { ProfileTypes(ctx context.Context, start int64, end int64) ([]*ProfileType, error) LabelNames(ctx context.Context, labelSelector string, start int64, end int64) ([]string, error) LabelValues(ctx context.Context, label string, labelSelector string, start int64, end int64) ([]string, error) GetSeries(ctx context.Context, profileTypeID string, labelSelector string, start int64, end int64, groupBy []string, step float64) (*SeriesResponse, error) GetProfile(ctx context.Context, profileTypeID string, labelSelector string, start int64, end int64, maxNodes *int64) (*ProfileResponse, error) GetSpanProfile(ctx context.Context, profileTypeID string, labelSelector string, spanSelector []string, start int64, end int64, maxNodes *int64) (*ProfileResponse, error) }
type PyroscopeClient ¶
type PyroscopeClient struct {
// contains filtered or unexported fields
}
func NewPyroscopeClient ¶
func NewPyroscopeClient(httpClient *http.Client, url string) *PyroscopeClient
func (*PyroscopeClient) GetProfile ¶
func (c *PyroscopeClient) GetProfile(ctx context.Context, profileTypeID, labelSelector string, start, end int64, maxNodes *int64) (*ProfileResponse, error)
func (*PyroscopeClient) GetSpanProfile ¶
func (c *PyroscopeClient) GetSpanProfile(ctx context.Context, profileTypeID, labelSelector string, spanSelector []string, start, end int64, maxNodes *int64) (*ProfileResponse, error)
func (*PyroscopeClient) LabelNames ¶
func (*PyroscopeClient) LabelValues ¶
func (*PyroscopeClient) ProfileTypes ¶
func (c *PyroscopeClient) ProfileTypes(ctx context.Context, start int64, end int64) ([]*ProfileType, error)
type PyroscopeDatasource ¶
type PyroscopeDatasource struct {
// contains filtered or unexported fields
}
PyroscopeDatasource is a datasource for querying application performance profiles.
func (*PyroscopeDatasource) CallResource ¶
func (d *PyroscopeDatasource) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error
func (*PyroscopeDatasource) CheckHealth ¶
func (d *PyroscopeDatasource) CheckHealth(ctx context.Context, _ *backend.CheckHealthRequest) (*backend.CheckHealthResult, error)
CheckHealth handles health checks sent from Grafana to the plugin. The main use case for these health checks is the test button on the datasource configuration page which allows users to verify that a datasource is working as expected.
func (*PyroscopeDatasource) PublishStream ¶
func (d *PyroscopeDatasource) PublishStream(ctx context.Context, _ *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error)
PublishStream is called when a client sends a message to the stream.
func (*PyroscopeDatasource) QueryData ¶
func (d *PyroscopeDatasource) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error)
QueryData handles multiple queries and returns multiple responses. req contains the queries []DataQuery (where each query contains RefID as a unique identifier). The QueryDataResponse contains a map of RefID to the response for each query, and each response contains Frames ([]*Frame).
func (*PyroscopeDatasource) RunStream ¶
func (d *PyroscopeDatasource) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error
RunStream is called once for any open channel. Results are shared with everyone subscribed to the same channel.
func (*PyroscopeDatasource) SubscribeStream ¶
func (d *PyroscopeDatasource) SubscribeStream(_ context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error)
SubscribeStream is called when a client wants to connect to a stream. This callback allows sending the first message.
type SeriesResponse ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func ProvideService ¶
func ProvideService(httpClientProvider *httpclient.Provider) *Service
func (*Service) CallResource ¶
func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error
func (*Service) CheckHealth ¶
func (s *Service) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error)
func (*Service) PublishStream ¶
func (s *Service) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error)
PublishStream is called when a client sends a message to the stream.
func (*Service) QueryData ¶
func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error)
func (*Service) RunStream ¶
func (s *Service) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error
func (*Service) SubscribeStream ¶
func (s *Service) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error)