Documentation
¶
Index ¶
- Variables
- type BucketRule
- type CacheConfig
- type CacheProvider
- type Client
- type Config
- type DebugInfodClient
- type DebugInfodClientObjectStorageCache
- type FilesystemCacheConfig
- type HTTPDebugInfodClient
- type NopDebugInfodClient
- type Store
- func (s *Store) Exists(ctx context.Context, req *debuginfopb.ExistsRequest) (*debuginfopb.ExistsResponse, error)
- func (s *Store) Symbolize(ctx context.Context, m *pb.Mapping, locations ...*metastore.Location) (map[*metastore.Location][]metastore.LocationLine, error)
- func (s *Store) Upload(stream debuginfopb.DebugInfoService_UploadServer) error
- type UploadReader
- type ValidRule
Constants ¶
This section is empty.
Variables ¶
View Source
var BucketValid = BucketRule{}
View Source
var ErrDebugInfoAlreadyExists = errors.New("debug info already exists")
View Source
var Valid = ValidRule{}
Valid is the ValidRule.
Functions ¶
This section is empty.
Types ¶
type BucketRule ¶ added in v0.2.0
type BucketRule struct{}
func (BucketRule) Validate ¶ added in v0.2.0
func (r BucketRule) Validate(value interface{}) error
Validate the bucket config.
type CacheConfig ¶
type CacheConfig struct {
Type CacheProvider `yaml:"type"`
Config interface{} `yaml:"config"`
}
type Client ¶ added in v0.8.0
type Client struct {
// contains filtered or unexported fields
}
func NewDebugInfoClient ¶
func NewDebugInfoClient(conn *grpc.ClientConn) *Client
type Config ¶
type Config struct {
Bucket *client.BucketConfig `yaml:"bucket"`
Cache *CacheConfig `yaml:"cache"`
}
type DebugInfodClient ¶ added in v0.8.0
type DebugInfodClient interface {
GetDebugInfo(ctx context.Context, buildid string) (io.ReadCloser, error)
}
func NewDebugInfodClientWithObjectStorageCache ¶ added in v0.8.0
func NewDebugInfodClientWithObjectStorageCache(logger log.Logger, config *Config, h DebugInfodClient) (DebugInfodClient, error)
NewDebugInfodClientWithObjectStorageCache creates a new DebugInfodClient that caches the debug information in the object storage.
type DebugInfodClientObjectStorageCache ¶ added in v0.8.0
type DebugInfodClientObjectStorageCache struct {
// contains filtered or unexported fields
}
func (*DebugInfodClientObjectStorageCache) GetDebugInfo ¶ added in v0.8.0
func (c *DebugInfodClientObjectStorageCache) GetDebugInfo(ctx context.Context, buildID string) (io.ReadCloser, error)
GetDebugInfo returns debug info for given buildid while caching it in object storage.
type FilesystemCacheConfig ¶
type FilesystemCacheConfig struct {
Directory string `yaml:"directory"`
}
type HTTPDebugInfodClient ¶ added in v0.8.0
type HTTPDebugInfodClient struct {
UpstreamServers []*url.URL
// contains filtered or unexported fields
}
func NewHTTPDebugInfodClient ¶ added in v0.8.0
func NewHTTPDebugInfodClient(logger log.Logger, serverURLs []string, timeoutDuration time.Duration) (*HTTPDebugInfodClient, error)
NewHTTPDebugInfodClient returns a new HTTP debug info client.
func (*HTTPDebugInfodClient) GetDebugInfo ¶ added in v0.8.0
func (c *HTTPDebugInfodClient) GetDebugInfo(ctx context.Context, buildID string) (io.ReadCloser, error)
GetDebugInfo returns debug information file for given buildID by downloading it from upstream servers.
type NopDebugInfodClient ¶ added in v0.9.0
type NopDebugInfodClient struct{}
func (NopDebugInfodClient) GetDebugInfo ¶ added in v0.9.0
func (NopDebugInfodClient) GetDebugInfo(context.Context, string) (io.ReadCloser, error)
type Store ¶
type Store struct {
debuginfopb.UnimplementedDebugInfoServiceServer
// contains filtered or unexported fields
}
func NewStore ¶
func NewStore(logger log.Logger, symbolizer *symbol.Symbolizer, config *Config, debuginfodClient DebugInfodClient) (*Store, error)
NewStore returns a new debug info store.
func (*Store) Exists ¶
func (s *Store) Exists(ctx context.Context, req *debuginfopb.ExistsRequest) (*debuginfopb.ExistsResponse, error)
func (*Store) Upload ¶
func (s *Store) Upload(stream debuginfopb.DebugInfoService_UploadServer) error
type UploadReader ¶
type UploadReader struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.