Documentation ¶
Index ¶
Constants ¶
View Source
const ( DefaultCollectorEventBufferSize = 1024 * 1024 DefaultFlushInterval = time.Second * 600 DefaultSendTimeout = time.Second * 5 )
Variables ¶
View Source
var ( ErrSendError = errors.New("stats: send error") ErrNoInstallationID = fmt.Errorf("installation ID is missing: %w", ErrSendError) )
Functions ¶
This section is empty.
Types ¶
type BufferedCollector ¶
type BufferedCollector struct {
// contains filtered or unexported fields
}
func NewBufferedCollector ¶
func NewBufferedCollector(installationID, processID string, opts ...BufferedCollectorOpts) *BufferedCollector
func (*BufferedCollector) CollectEvent ¶
func (s *BufferedCollector) CollectEvent(class, action string)
func (*BufferedCollector) CollectMetadata ¶
func (s *BufferedCollector) CollectMetadata(accountMetadata map[string]string)
func (*BufferedCollector) Done ¶
func (s *BufferedCollector) Done() <-chan bool
func (*BufferedCollector) Run ¶
func (s *BufferedCollector) Run(ctx context.Context)
type BufferedCollectorOpts ¶
type BufferedCollectorOpts func(s *BufferedCollector)
func WithFlushInterval ¶
func WithFlushInterval(d time.Duration) BufferedCollectorOpts
func WithSendTimeout ¶
func WithSendTimeout(d time.Duration) BufferedCollectorOpts
func WithSender ¶
func WithSender(sender Sender) BufferedCollectorOpts
func WithTicker ¶
func WithTicker(t FlushTicker) BufferedCollectorOpts
func WithWriteBufferSize ¶
func WithWriteBufferSize(bufferSize int) BufferedCollectorOpts
type FlushTicker ¶
type HTTPSender ¶
type HTTPSender struct {
// contains filtered or unexported fields
}
func NewHTTPSender ¶
func NewHTTPSender(addr string, timeFunc TimeFn) *HTTPSender
func (*HTTPSender) UpdateMetadata ¶
func (s *HTTPSender) UpdateMetadata(ctx context.Context, m Metadata) error
type InputEvent ¶
type Metadata ¶
type Metadata struct { InstallationID string `json:"installation_id"` Entries []MetadataEntry `json:"entries"` }
type MetadataEntry ¶
type Sender ¶
type Sender interface { SendEvent(ctx context.Context, installationID, processID string, m []Metric) error UpdateMetadata(ctx context.Context, m Metadata) error }
func NewDummySender ¶
func NewDummySender() Sender
type TimeTicker ¶
type TimeTicker struct {
// contains filtered or unexported fields
}
func (*TimeTicker) Stop ¶
func (t *TimeTicker) Stop()
func (*TimeTicker) Tick ¶
func (t *TimeTicker) Tick() <-chan time.Time
Click to show internal directories.
Click to hide internal directories.