Documentation ¶
Index ¶
- type ApplicationMetadataSaver
- type BadgerDB
- type BadgerDBWithCache
- type CacheLayer
- type Config
- type DeleteInput
- type ExemplarsGetter
- type ExemplarsMerger
- type ExemplarsQuerier
- type ExemplarsSelection
- type GetExemplarInput
- type GetExemplarOutput
- type GetInput
- type GetLabelKeysByQueryInput
- type GetLabelKeysByQueryOutput
- type GetLabelValuesByQueryInput
- type GetLabelValuesByQueryOutput
- type GetOutput
- type Getter
- type IngestionQueue
- type LabelValuesGetter
- type LabelsGetter
- type MergeExemplarsInput
- type MergeExemplarsOutput
- type MetricsExporter
- type NoopApplicationMetadataService
- func (NoopApplicationMetadataService) CreateOrUpdate(context.Context, appmetadata.ApplicationMetadata) error
- func (NoopApplicationMetadataService) Delete(context.Context, string) error
- func (NoopApplicationMetadataService) Get(context.Context, string) (app appmetadata.ApplicationMetadata, err error)
- func (NoopApplicationMetadataService) List(context.Context, appmetadata.ApplicationMetadata) (apps []appmetadata.ApplicationMetadata, err error)
- type Prefix
- type PutInput
- type Putter
- type QueryExemplarsInput
- type QueryExemplarsOutput
- type SampleObserver
- type Storage
- func (s *Storage) CacheStats() map[string]uint64
- func (s *Storage) Cleanup(ctx context.Context) error
- func (s *Storage) Close() error
- func (s *Storage) DebugExport(w http.ResponseWriter, r *http.Request)
- func (s *Storage) Delete(_ context.Context, di *DeleteInput) error
- func (s *Storage) DeleteApp(_ context.Context, appname string) error
- func (s *Storage) DictsInternals() (*badger.DB, *cache.Cache)
- func (s *Storage) DimensionsInternals() (*badger.DB, *cache.Cache)
- func (s *Storage) DiskUsage() map[string]bytesize.ByteSize
- func (s *Storage) ExemplarsInternals() (*badger.DB, func())
- func (s *Storage) Get(ctx context.Context, gi *GetInput) (*GetOutput, error)
- func (s *Storage) GetAppNames(ctx context.Context) []string
- func (s *Storage) GetExemplar(ctx context.Context, gi GetExemplarInput) (out GetExemplarOutput, err error)
- func (s *Storage) GetKeys(_ context.Context, cb func(string) bool)
- func (s *Storage) GetKeysByQuery(_ context.Context, in GetLabelKeysByQueryInput) (GetLabelKeysByQueryOutput, error)
- func (s *Storage) GetValues(_ context.Context, key string, cb func(v string) bool)
- func (s *Storage) GetValuesByQuery(_ context.Context, in GetLabelValuesByQueryInput) (GetLabelValuesByQueryOutput, error)
- func (s *Storage) InstallID() string
- func (s *Storage) JWT() (string, error)
- func (s *Storage) LoadAnalytics(a interface{}) error
- func (s *Storage) MainInternals() (*badger.DB, *cache.Cache)
- func (s *Storage) MergeExemplars(ctx context.Context, mi MergeExemplarsInput) (out MergeExemplarsOutput, err error)
- func (s *Storage) Put(ctx context.Context, pi *PutInput) error
- func (*Storage) QueryExemplars(context.Context, QueryExemplarsInput) (QueryExemplarsOutput, error)
- func (s *Storage) SaveAnalytics(a interface{}) error
- func (s *Storage) SegmentsInternals() (*badger.DB, *cache.Cache)
- func (s *Storage) TreesInternals() (*badger.DB, *cache.Cache)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationMetadataSaver ¶ added in v0.34.0
type ApplicationMetadataSaver interface {
CreateOrUpdate(ctx context.Context, application appmetadata.ApplicationMetadata) error
}
ApplicationMetadataSaver saves application metadata
type BadgerDBWithCache ¶ added in v0.17.0
type CacheLayer ¶ added in v0.17.0
type Config ¶ added in v0.2.5
type Config struct { NewBadger func(name string, p Prefix, codec cache.Codec) (BadgerDBWithCache, error) // contains filtered or unexported fields }
func (*Config) WithInMemory ¶ added in v0.3.0
WithInMemory makes the storage in-memory.
type DeleteInput ¶ added in v0.0.33
type ExemplarsGetter ¶ added in v0.22.1
type ExemplarsGetter interface {
GetExemplar(context.Context, GetExemplarInput) (GetExemplarOutput, error)
}
type ExemplarsMerger ¶ added in v0.22.1
type ExemplarsMerger interface {
MergeExemplars(context.Context, MergeExemplarsInput) (MergeExemplarsOutput, error)
}
type ExemplarsQuerier ¶ added in v0.28.0
type ExemplarsQuerier interface {
QueryExemplars(context.Context, QueryExemplarsInput) (QueryExemplarsOutput, error)
}
type ExemplarsSelection ¶ added in v0.29.0
type GetExemplarInput ¶ added in v0.22.1
type GetExemplarOutput ¶ added in v0.22.1
type GetLabelKeysByQueryInput ¶ added in v0.17.0
type GetLabelKeysByQueryOutput ¶ added in v0.17.0
type GetLabelKeysByQueryOutput struct {
Keys []string
}
type GetLabelValuesByQueryInput ¶ added in v0.17.0
type GetLabelValuesByQueryOutput ¶ added in v0.17.0
type GetLabelValuesByQueryOutput struct {
Values []string
}
type IngestionQueue ¶ added in v0.17.0
type IngestionQueue struct {
// contains filtered or unexported fields
}
func NewIngestionQueue ¶ added in v0.17.0
func NewIngestionQueue(logger logrus.FieldLogger, putter Putter, r prometheus.Registerer, c *Config) *IngestionQueue
func (*IngestionQueue) Put ¶ added in v0.17.0
func (s *IngestionQueue) Put(ctx context.Context, input *PutInput) error
func (*IngestionQueue) Stop ¶ added in v0.17.0
func (s *IngestionQueue) Stop()
type LabelValuesGetter ¶ added in v0.14.0
type LabelValuesGetter interface { GetValues(ctx context.Context, key string, cb func(v string) bool) GetValuesByQuery(ctx context.Context, in GetLabelValuesByQueryInput) (GetLabelValuesByQueryOutput, error) }
type LabelsGetter ¶ added in v0.14.0
type LabelsGetter interface { GetKeys(ctx context.Context, cb func(string) bool) GetKeysByQuery(ctx context.Context, in GetLabelKeysByQueryInput) (GetLabelKeysByQueryOutput, error) }
type MergeExemplarsInput ¶ added in v0.22.1
type MergeExemplarsInput struct { AppName string ProfileIDs []string StartTime time.Time EndTime time.Time // FIXME: Not implemented: parameters are ignored. ExemplarsSelection ExemplarsSelection HeatmapParams heatmap.HeatmapParams }
type MergeExemplarsOutput ¶ added in v0.22.1
type MetricsExporter ¶ added in v0.2.1
type MetricsExporter interface { // Evaluate evaluates metrics export rules against the input key and creates // prometheus counters for new time series, if required. Returned observer can // be used to evaluate and observe particular samples. // // If there are no matching rules, the function returns false. Evaluate(*PutInput) (SampleObserver, bool) }
MetricsExporter exports values of particular stack traces sample from profiling data as a Prometheus metrics.
type NoopApplicationMetadataService ¶ added in v0.34.0
type NoopApplicationMetadataService struct{}
NoopApplicationMetadataService implements same methods as ApplicationMetadataService But it doesn't do anything when called
func (NoopApplicationMetadataService) CreateOrUpdate ¶ added in v0.34.0
func (NoopApplicationMetadataService) CreateOrUpdate(context.Context, appmetadata.ApplicationMetadata) error
func (NoopApplicationMetadataService) Delete ¶ added in v0.34.0
func (NoopApplicationMetadataService) Delete(context.Context, string) error
func (NoopApplicationMetadataService) Get ¶ added in v0.34.0
func (NoopApplicationMetadataService) Get(context.Context, string) (app appmetadata.ApplicationMetadata, err error)
func (NoopApplicationMetadataService) List ¶ added in v0.34.0
func (NoopApplicationMetadataService) List(context.Context, appmetadata.ApplicationMetadata) (apps []appmetadata.ApplicationMetadata, err error)
type QueryExemplarsInput ¶ added in v0.28.0
type QueryExemplarsInput struct { Query *flameql.Query StartTime time.Time EndTime time.Time ExemplarsSelection ExemplarsSelection HeatmapParams heatmap.HeatmapParams }
type QueryExemplarsOutput ¶ added in v0.28.0
type SampleObserver ¶ added in v0.2.1
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
func New ¶
func New(c *Config, logger *logrus.Logger, reg prometheus.Registerer, hc *health.Controller, appSvc ApplicationMetadataSaver) (*Storage, error)
func (*Storage) CacheStats ¶ added in v0.0.33
func (*Storage) DebugExport ¶ added in v0.8.0
func (s *Storage) DebugExport(w http.ResponseWriter, r *http.Request)
func (*Storage) Delete ¶ added in v0.0.33
func (s *Storage) Delete(_ context.Context, di *DeleteInput) error
func (*Storage) DeleteApp ¶ added in v0.3.1
DeleteApp fully deletes an app It does so by deleting Segments, Dictionaries, Trees, Dimensions and Labels It's an idempotent call, ie. if the app already does not exist, no error is triggered. TODO cancelation?
func (*Storage) DictsInternals ¶ added in v0.16.0
func (*Storage) DimensionsInternals ¶ added in v0.16.0
func (*Storage) ExemplarsInternals ¶ added in v0.20.0
func (s *Storage) ExemplarsInternals() (*badger.DB, func())
func (*Storage) GetAppNames ¶ added in v0.3.0
GetAppNames returns the list of all app's names It works by querying the __name__ label
func (*Storage) GetExemplar ¶ added in v0.22.1
func (s *Storage) GetExemplar(ctx context.Context, gi GetExemplarInput) (out GetExemplarOutput, err error)
func (*Storage) GetKeysByQuery ¶ added in v0.0.38
func (s *Storage) GetKeysByQuery(_ context.Context, in GetLabelKeysByQueryInput) (GetLabelKeysByQueryOutput, error)
func (*Storage) GetValuesByQuery ¶ added in v0.0.38
func (s *Storage) GetValuesByQuery(_ context.Context, in GetLabelValuesByQueryInput) (GetLabelValuesByQueryOutput, error)
func (*Storage) LoadAnalytics ¶ added in v0.8.0
func (*Storage) MainInternals ¶ added in v0.16.0
func (*Storage) MergeExemplars ¶ added in v0.22.1
func (s *Storage) MergeExemplars(ctx context.Context, mi MergeExemplarsInput) (out MergeExemplarsOutput, err error)
func (*Storage) QueryExemplars ¶ added in v0.28.0
func (*Storage) QueryExemplars(context.Context, QueryExemplarsInput) (QueryExemplarsOutput, error)
func (*Storage) SaveAnalytics ¶ added in v0.8.0
func (*Storage) SegmentsInternals ¶ added in v0.16.0
func (*Storage) TreesInternals ¶ added in v0.16.0
Source Files ¶
- analytics.go
- application_service_noop.go
- cleanup.go
- codec.go
- config.go
- db.go
- debug.go
- installid.go
- jwt.go
- mem_linux.go
- metrics.go
- migration.go
- queue.go
- retention.go
- storage.go
- storage_delete.go
- storage_exemplars.go
- storage_exemplars_get.go
- storage_exemplars_merge.go
- storage_exemplars_query.go
- storage_get.go
- storage_labels.go
- storage_put.go
- types.go