Documentation ¶
Index ¶
- Constants
- func Module() fx.Option
- type AppCredential
- type Collector
- type CollectorParams
- type Credential
- type CredentialSource
- type FileCredentialSource
- type HttpClientWithAppFactory
- type HttpClientWithPATFactory
- type Instrumenter
- type Interval
- type MetricsHandler
- type PAT
- type RateLimitsService
- type RateLimitsServiceFactory
- type RateLimitsServiceFactoryParams
- type Type
Constants ¶
View Source
const ( LabelName = "name" LabelResource = "resource" LabelType = "type" LabelAppID = "app_id" LabelAppInstallationID = "app_installation_id" )
View Source
const FileCredentialFileName = "credentials.yml"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AppCredential ¶
type Collector ¶
type Collector struct {
// contains filtered or unexported fields
}
func NewCollector ¶
func NewCollector(p CollectorParams) *Collector
func (*Collector) Collect ¶ added in v0.2.0
func (c *Collector) Collect(ch chan<- prometheus.Metric)
func (*Collector) Describe ¶ added in v0.2.0
func (c *Collector) Describe(ch chan<- *prometheus.Desc)
type CollectorParams ¶
type CollectorParams struct { fx.In Interval *Interval Credentials []*Credential Instrumenter Instrumenter Factory RateLimitsServiceFactory Log logger.Logger }
type Credential ¶
type Credential struct { Type Type `yaml:"type"` AppName string *AppCredential `yaml:",inline"` *PAT `yaml:",inline"` }
func (*Credential) Base64PrivateKey ¶
func (c *Credential) Base64PrivateKey() string
func (*Credential) ID ¶
func (c *Credential) ID() int64
func (*Credential) InstallationID ¶
func (c *Credential) InstallationID() int64
func (*Credential) Kind ¶
func (c *Credential) Kind() string
func (*Credential) Name ¶
func (c *Credential) Name() string
func (*Credential) Token ¶
func (c *Credential) Token() string
type CredentialSource ¶
type CredentialSource interface {
Credentials() []*Credential
}
type FileCredentialSource ¶
type FileCredentialSource struct {
Data map[string]*Credential
}
func NewFileCredentialSource ¶
func NewFileCredentialSource(fs *afero.Afero) (*FileCredentialSource, error)
func (*FileCredentialSource) Credentials ¶
func (src *FileCredentialSource) Credentials() []*Credential
func (*FileCredentialSource) UnmarshalYAML ¶
func (src *FileCredentialSource) UnmarshalYAML(root *yaml.Node) error
type Instrumenter ¶
type MetricsHandler ¶
type MetricsHandler struct {
// contains filtered or unexported fields
}
func NewMetricsHandler ¶
func NewMetricsHandler(c *Collector, r *prometheus.Registry) *MetricsHandler
func (*MetricsHandler) ServeHTTP ¶
func (h *MetricsHandler) ServeHTTP(w http.ResponseWriter, req *http.Request)
type RateLimitsService ¶
type RateLimitsServiceFactory ¶
type RateLimitsServiceFactory interface {
Create(context.Context, *Credential) (RateLimitsService, error)
}
func NewRateLimitsServiceFactory ¶
func NewRateLimitsServiceFactory(p RateLimitsServiceFactoryParams) RateLimitsServiceFactory
type RateLimitsServiceFactoryParams ¶
type RateLimitsServiceFactoryParams struct { fx.In Instrumenter Instrumenter HttpClientWithPATFactory HttpClientWithPATFactory HttpClientWithAppFactory HttpClientWithAppFactory }
Click to show internal directories.
Click to hide internal directories.