stat

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

README

sqsmessageconsumer - An implementation of sqsmessageconsumer that adds stats

GoDoc Build Status codecov.io

Contributing

License

This project is licensed under Apache 2.0. See LICENSE.txt for details.

Contributing Agreement

Atlassian requires signing a contributor's agreement before we can accept a patch. If you are an individual you can fill out the individual CLA. If you are contributing on behalf of your company then please fill out the corporate CLA.

Documentation

Overview

Package stat is a generated GoMock package.

Package v1 is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewStatBinder

func NewStatBinder(stats xstats.XStater) func(runsqs.SQSMessageConsumer) runsqs.SQSMessageConsumer

NewStatBinder returns a function that wraps a `runsqs.SQSMessageConsumer` in a `StatBinder` `runsqs.SQSMessageConsumer`.

func NewStatMessageConsumer

func NewStatMessageConsumer() func(runsqs.SQSMessageConsumer) runsqs.SQSMessageConsumer

NewStatMessageConsumer returns a function that wraps a `runsqs.SQSMessageConsumer` in a `StatMessageConsumer` `runsqs.SQSMessageConsumer`.

Types

type MockSQSConsumer

type MockSQSConsumer struct {
	// contains filtered or unexported fields
}

MockSQSConsumer is a mock of SQSConsumer interface.

func NewMockSQSConsumer

func NewMockSQSConsumer(ctrl *gomock.Controller) *MockSQSConsumer

NewMockSQSConsumer creates a new mock instance.

func (*MockSQSConsumer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSConsumer) GetSQSMessageConsumer

func (m *MockSQSConsumer) GetSQSMessageConsumer() runsqs.SQSMessageConsumer

GetSQSMessageConsumer mocks base method.

func (*MockSQSConsumer) StartConsuming

func (m *MockSQSConsumer) StartConsuming(ctx context.Context) error

StartConsuming mocks base method.

func (*MockSQSConsumer) StopConsuming

func (m *MockSQSConsumer) StopConsuming(ctx context.Context) error

StopConsuming mocks base method.

type MockSQSConsumerMockRecorder

type MockSQSConsumerMockRecorder struct {
	// contains filtered or unexported fields
}

MockSQSConsumerMockRecorder is the mock recorder for MockSQSConsumer.

func (*MockSQSConsumerMockRecorder) GetSQSMessageConsumer

func (mr *MockSQSConsumerMockRecorder) GetSQSMessageConsumer() *gomock.Call

GetSQSMessageConsumer indicates an expected call of GetSQSMessageConsumer.

func (*MockSQSConsumerMockRecorder) StartConsuming

func (mr *MockSQSConsumerMockRecorder) StartConsuming(ctx interface{}) *gomock.Call

StartConsuming indicates an expected call of StartConsuming.

func (*MockSQSConsumerMockRecorder) StopConsuming

func (mr *MockSQSConsumerMockRecorder) StopConsuming(ctx interface{}) *gomock.Call

StopConsuming indicates an expected call of StopConsuming.

type MockSQSMessageConsumer

type MockSQSMessageConsumer struct {
	// contains filtered or unexported fields
}

MockSQSMessageConsumer is a mock of SQSMessageConsumer interface.

func NewMockSQSMessageConsumer

func NewMockSQSMessageConsumer(ctrl *gomock.Controller) *MockSQSMessageConsumer

NewMockSQSMessageConsumer creates a new mock instance.

func (*MockSQSMessageConsumer) ConsumeMessage

ConsumeMessage mocks base method.

func (*MockSQSMessageConsumer) DeadLetter added in v0.2.0

func (m *MockSQSMessageConsumer) DeadLetter(ctx context.Context, message *sqs.Message)

DeadLetter mocks base method.

func (*MockSQSMessageConsumer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

type MockSQSMessageConsumerError added in v0.1.0

type MockSQSMessageConsumerError struct {
	// contains filtered or unexported fields
}

MockSQSMessageConsumerError is a mock of SQSMessageConsumerError interface.

func NewMockSQSMessageConsumerError added in v0.1.0

func NewMockSQSMessageConsumerError(ctrl *gomock.Controller) *MockSQSMessageConsumerError

NewMockSQSMessageConsumerError creates a new mock instance.

func (*MockSQSMessageConsumerError) EXPECT added in v0.1.0

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSMessageConsumerError) Error added in v0.1.0

Error mocks base method.

func (*MockSQSMessageConsumerError) IsRetryable added in v0.1.0

func (m *MockSQSMessageConsumerError) IsRetryable() bool

IsRetryable mocks base method.

func (*MockSQSMessageConsumerError) RetryAfter added in v0.1.0

func (m *MockSQSMessageConsumerError) RetryAfter() int64

RetryAfter mocks base method.

type MockSQSMessageConsumerErrorMockRecorder added in v0.1.0

type MockSQSMessageConsumerErrorMockRecorder struct {
	// contains filtered or unexported fields
}

MockSQSMessageConsumerErrorMockRecorder is the mock recorder for MockSQSMessageConsumerError.

func (*MockSQSMessageConsumerErrorMockRecorder) Error added in v0.1.0

Error indicates an expected call of Error.

func (*MockSQSMessageConsumerErrorMockRecorder) IsRetryable added in v0.1.0

IsRetryable indicates an expected call of IsRetryable.

func (*MockSQSMessageConsumerErrorMockRecorder) RetryAfter added in v0.1.0

RetryAfter indicates an expected call of RetryAfter.

type MockSQSMessageConsumerMockRecorder

type MockSQSMessageConsumerMockRecorder struct {
	// contains filtered or unexported fields
}

MockSQSMessageConsumerMockRecorder is the mock recorder for MockSQSMessageConsumer.

func (*MockSQSMessageConsumerMockRecorder) ConsumeMessage

func (mr *MockSQSMessageConsumerMockRecorder) ConsumeMessage(ctx, message interface{}) *gomock.Call

ConsumeMessage indicates an expected call of ConsumeMessage.

func (*MockSQSMessageConsumerMockRecorder) DeadLetter added in v0.2.0

func (mr *MockSQSMessageConsumerMockRecorder) DeadLetter(ctx, message interface{}) *gomock.Call

DeadLetter indicates an expected call of DeadLetter.

type MockSQSProducer

type MockSQSProducer struct {
	// contains filtered or unexported fields
}

MockSQSProducer is a mock of SQSProducer interface.

func NewMockSQSProducer

func NewMockSQSProducer(ctrl *gomock.Controller) *MockSQSProducer

NewMockSQSProducer creates a new mock instance.

func (*MockSQSProducer) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockSQSProducer) ProduceMessage

func (m *MockSQSProducer) ProduceMessage(ctx context.Context, messageInput *sqs.SendMessageInput) error

ProduceMessage mocks base method.

func (*MockSQSProducer) QueueURL added in v0.3.0

func (m *MockSQSProducer) QueueURL() string

QueueURL mocks base method.

type MockSQSProducerMockRecorder

type MockSQSProducerMockRecorder struct {
	// contains filtered or unexported fields
}

MockSQSProducerMockRecorder is the mock recorder for MockSQSProducer.

func (*MockSQSProducerMockRecorder) ProduceMessage

func (mr *MockSQSProducerMockRecorder) ProduceMessage(ctx, messageInput interface{}) *gomock.Call

ProduceMessage indicates an expected call of ProduceMessage.

func (*MockSQSProducerMockRecorder) QueueURL added in v0.3.0

func (mr *MockSQSProducerMockRecorder) QueueURL() *gomock.Call

QueueURL indicates an expected call of QueueURL.

type MockStat

type MockStat struct {
	// contains filtered or unexported fields
}

MockStat is a mock of Stat interface

func NewMockStat

func NewMockStat(ctrl *gomock.Controller) *MockStat

NewMockStat creates a new mock instance

func (*MockStat) AddTags

func (m *MockStat) AddTags(arg0 ...string)

AddTags mocks base method

func (*MockStat) Count

func (m *MockStat) Count(arg0 string, arg1 float64, arg2 ...string)

Count mocks base method

func (*MockStat) EXPECT

func (m *MockStat) EXPECT() *MockStatMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockStat) Gauge

func (m *MockStat) Gauge(arg0 string, arg1 float64, arg2 ...string)

Gauge mocks base method

func (*MockStat) GetTags

func (m *MockStat) GetTags() []string

GetTags mocks base method

func (*MockStat) Histogram

func (m *MockStat) Histogram(arg0 string, arg1 float64, arg2 ...string)

Histogram mocks base method

func (*MockStat) Timing

func (m *MockStat) Timing(arg0 string, arg1 time.Duration, arg2 ...string)

Timing mocks base method

type MockStatMockRecorder

type MockStatMockRecorder struct {
	// contains filtered or unexported fields
}

MockStatMockRecorder is the mock recorder for MockStat

func (*MockStatMockRecorder) AddTags

func (mr *MockStatMockRecorder) AddTags(arg0 ...interface{}) *gomock.Call

AddTags indicates an expected call of AddTags

func (*MockStatMockRecorder) Count

func (mr *MockStatMockRecorder) Count(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call

Count indicates an expected call of Count

func (*MockStatMockRecorder) Gauge

func (mr *MockStatMockRecorder) Gauge(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call

Gauge indicates an expected call of Gauge

func (*MockStatMockRecorder) GetTags

func (mr *MockStatMockRecorder) GetTags() *gomock.Call

GetTags indicates an expected call of GetTags

func (*MockStatMockRecorder) Histogram

func (mr *MockStatMockRecorder) Histogram(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call

Histogram indicates an expected call of Histogram

func (*MockStatMockRecorder) Timing

func (mr *MockStatMockRecorder) Timing(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call

Timing indicates an expected call of Timing

type StatBinder

type StatBinder struct {
	// contains filtered or unexported fields
}

StatBinder is a `SQSMessageConsumer` decorator that injects an `xstats.XStater` into the `context.Context` of the given `context`.

The `StatBinder` can then, in turn, be decorated with a `SQSMessageConsumer` to make use of the injected `xstats.XStater` to emit key HTTP metrics on each v.

func (*StatBinder) ConsumeMessage

func (t *StatBinder) ConsumeMessage(ctx context.Context, message *sqs.Message) runsqs.SQSMessageConsumerError

ConsumeMessage injects an `xstats.XStater` into the context and invokes the wrapped `SQSMessageConsumer`.

func (*StatBinder) DeadLetter added in v0.2.0

func (t *StatBinder) DeadLetter(ctx context.Context, message *sqs.Message)

DeadLetter injects an `xstats.XStater` into the context and invokes the wrapped `SQSMessageConsumer`.

type StatMessageConsumer

type StatMessageConsumer struct {
	ConsumedCounter           string
	ConsumerSuccessCounter    string
	ConsumerErrorCounter      string
	ConsumedSize              string
	ConsumerLag               string
	ConsumerTimingSuccess     string
	ConsumerTimingFailure     string
	ConsumerDeadLetterCounter string
	// contains filtered or unexported fields
}

StatMessageConsumer a is wrapper around runsqs.SQSMessageConsumer to capture and emit SQS related stats

func (StatMessageConsumer) ConsumeMessage

func (t StatMessageConsumer) ConsumeMessage(ctx context.Context, message *sqs.Message) runsqs.SQSMessageConsumerError

ConsumeMessage pulls an `xstats.XStater` from the context, performs stats around message consumption and invokes the wrapped `SQSMessageConsumer.ConsumeMessage`.

func (StatMessageConsumer) DeadLetter added in v0.2.0

func (t StatMessageConsumer) DeadLetter(ctx context.Context, message *sqs.Message)

DeadLetter pulls an `xstats.XStater` from the context, performs stats around message dead lettering and invokes the wrapped `SQSMessageConsumer.DeadLetter`.

type StatMessageConsumerComponent

type StatMessageConsumerComponent struct{}

StatMessageConsumerComponent implements the settings.Component interface.

func NewComponent

func NewComponent() *StatMessageConsumerComponent

NewComponent populates default values.

func (*StatMessageConsumerComponent) New

func (c *StatMessageConsumerComponent) New(_ context.Context, conf *StatMessageConsumerConfig) (func(runsqs.SQSMessageConsumer) runsqs.SQSMessageConsumer, error)

func (*StatMessageConsumerComponent) Settings

Settings generates a config populated with defaults.

type StatMessageConsumerConfig

type StatMessageConsumerConfig struct {
	ConsumedCounter           string `description:"Name of overall sqs record consumption metric."`
	ConsumerSuccessCounter    string `description:"Name of overall successful sqs message consumption metric."`
	ConsumerErrorCounter      string `description:"Name of overall failed sqs message consumption metric."`
	ConsumedSize              string `description:"Name of consumed sqs message size metric."`
	ConsumerLag               string `description:"Name of lag time between sqs production and consumption metric."`
	ConsumerTimingSuccess     string `description:"Name of time to process successful sqs message metric."`
	ConsumerTimingFailure     string `description:"Name of time to process failed sqs message metric."`
	ConsumerDeadLetterCounter string `description:"Name of overall dead lettered sqs messages metric."`
}

StatMessageConsumerConfig is the config for creating a StatMessageConsumer

func (*StatMessageConsumerConfig) Name

Name of the config root.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL