protobuf

package
v0.15.17-hotfix.1 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2020 License: Apache-2.0 Imports: 12 Imported by: 18

Documentation

Overview

Package protobuf is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReuseMetricWithMetadatasProto added in v0.15.0

func ReuseMetricWithMetadatasProto(pb *metricpb.MetricWithMetadatas)

ReuseMetricWithMetadatasProto allows for zero-alloc reuse of *metricpb.MetricWithMetadatas by deep resetting the internal slices and when using gogoprotobuf's unmarshal function will reuse the slices and byte buffers already allocated on the message itself.

It is required to use nullable: false annotations so that it does not use pointer types for slices on the message to achieve zero alloc resets.

The methods resets the metric with metadatas proto, and in particular message fields that are slices because the `Unmarshal` generated from gogoprotobuf simply append a new entry at the end of the slice, and as such, the fields with slice types need to be reset to be zero-length. NB: reset only needs to be done to the top-level slice fields as the individual items in the slice are created afresh during unmarshaling.

Types

type AggregatedDecoder added in v0.5.0

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

AggregatedDecoder is a decoder for decoding aggregated metrics.

func NewAggregatedDecoder added in v0.5.0

func NewAggregatedDecoder(p AggregatedDecoderPool) *AggregatedDecoder

NewAggregatedDecoder creates an aggregated decoder.

func (*AggregatedDecoder) Close added in v0.5.0

func (d *AggregatedDecoder) Close()

Close closes the decoder.

func (*AggregatedDecoder) Decode added in v0.5.0

func (d *AggregatedDecoder) Decode(b []byte) error

Decode decodes the aggregated metric from the given bytes.

func (AggregatedDecoder) EncodeNanos added in v0.5.0

func (d AggregatedDecoder) EncodeNanos() int64

EncodeNanos returns the decoded encodeNanos.

func (AggregatedDecoder) ID added in v0.5.0

func (d AggregatedDecoder) ID() []byte

ID returns the decoded id.

func (AggregatedDecoder) StoragePolicy added in v0.5.0

func (d AggregatedDecoder) StoragePolicy() (policy.StoragePolicy, error)

StoragePolicy returns the decoded storage policy.

func (AggregatedDecoder) TimeNanos added in v0.5.0

func (d AggregatedDecoder) TimeNanos() int64

TimeNanos returns the decoded timestamp.

func (AggregatedDecoder) Value added in v0.5.0

func (d AggregatedDecoder) Value() float64

Value returns the decoded value.

type AggregatedDecoderPool added in v0.5.0

type AggregatedDecoderPool interface {
	Init()
	Get() *AggregatedDecoder
	Put(d *AggregatedDecoder)
}

AggregatedDecoderPool is a pool of aggregated decoders.

func NewAggregatedDecoderPool added in v0.5.0

func NewAggregatedDecoderPool(opts pool.ObjectPoolOptions) AggregatedDecoderPool

NewAggregatedDecoderPool creates a new pool for aggregated decoders.

type AggregatedEncoder added in v0.5.0

type AggregatedEncoder interface {
	// Encode encodes a metric with an applicable storage policy,
	// alongside the time at which encoding happens.
	Encode(m aggregated.MetricWithStoragePolicy, encodedAtNanos int64) error

	// Buffer returns the encoded buffer.
	Buffer() Buffer
}

AggregatedEncoder is an encoder for encoding aggregated metrics.

func NewAggregatedEncoder added in v0.5.0

func NewAggregatedEncoder(p pool.BytesPool) AggregatedEncoder

NewAggregatedEncoder creates a new aggregated encoder.

type Buffer

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

Buffer contains a byte slice backed by an optional bytes pool.

func NewBuffer

func NewBuffer(buf []byte, p pool.BytesPool) Buffer

NewBuffer create a new buffer.

func (Buffer) Bytes

func (b Buffer) Bytes() []byte

Bytes returns the raw byte slice.

func (*Buffer) Close

func (b *Buffer) Close()

Close closes the buffer.

func (*Buffer) Truncate

func (b *Buffer) Truncate(n int)

Truncate truncates the raw byte slice.

type MockUnaggregatedEncoder

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

MockUnaggregatedEncoder is a mock of UnaggregatedEncoder interface

func NewMockUnaggregatedEncoder

func NewMockUnaggregatedEncoder(ctrl *gomock.Controller) *MockUnaggregatedEncoder

NewMockUnaggregatedEncoder creates a new mock instance

func (*MockUnaggregatedEncoder) EXPECT

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

func (*MockUnaggregatedEncoder) EncodeMessage

EncodeMessage mocks base method

func (*MockUnaggregatedEncoder) Len

func (m *MockUnaggregatedEncoder) Len() int

Len mocks base method

func (*MockUnaggregatedEncoder) Relinquish

func (m *MockUnaggregatedEncoder) Relinquish() Buffer

Relinquish mocks base method

func (*MockUnaggregatedEncoder) Reset

func (m *MockUnaggregatedEncoder) Reset(arg0 []byte)

Reset mocks base method

func (*MockUnaggregatedEncoder) Truncate

func (m *MockUnaggregatedEncoder) Truncate(arg0 int) error

Truncate mocks base method

type MockUnaggregatedEncoderMockRecorder

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

MockUnaggregatedEncoderMockRecorder is the mock recorder for MockUnaggregatedEncoder

func (*MockUnaggregatedEncoderMockRecorder) EncodeMessage

func (mr *MockUnaggregatedEncoderMockRecorder) EncodeMessage(arg0 interface{}) *gomock.Call

EncodeMessage indicates an expected call of EncodeMessage

func (*MockUnaggregatedEncoderMockRecorder) Len

Len indicates an expected call of Len

func (*MockUnaggregatedEncoderMockRecorder) Relinquish

Relinquish indicates an expected call of Relinquish

func (*MockUnaggregatedEncoderMockRecorder) Reset

func (mr *MockUnaggregatedEncoderMockRecorder) Reset(arg0 interface{}) *gomock.Call

Reset indicates an expected call of Reset

func (*MockUnaggregatedEncoderMockRecorder) Truncate

func (mr *MockUnaggregatedEncoderMockRecorder) Truncate(arg0 interface{}) *gomock.Call

Truncate indicates an expected call of Truncate

type UnaggregatedEncoder

type UnaggregatedEncoder interface {
	// Len returns the number of bytes accumulated in the encoder so far.
	Len() int

	// Reset resets the encoder buffer with optional initial data.
	Reset(initData []byte)

	// Truncate discards all but the first n encoded bytes but continues to use
	// the same allocated storage. If n is negative or greater than the length of
	// encoded buffer, an error is returned.
	Truncate(n int) error

	// EncodeMessage encodes an unaggregated message.
	EncodeMessage(msg encoding.UnaggregatedMessageUnion) error

	// Relinquish relinquishes ownership of the encoded byte stream to the caller,
	// and resets the internal encoding buffer.
	Relinquish() Buffer
}

UnaggregatedEncoder encodes unaggregated metrics.

func NewUnaggregatedEncoder

func NewUnaggregatedEncoder(opts UnaggregatedOptions) UnaggregatedEncoder

NewUnaggregatedEncoder creates a new unaggregated encoder.

type UnaggregatedIterator

type UnaggregatedIterator interface {
	// Next returns true if there are more items to decode.
	Next() bool

	// Current returns the current decoded value.
	Current() encoding.UnaggregatedMessageUnion

	// Err returns the error encountered during decoding, if any.
	Err() error

	// Close closes the iterator.
	Close()
}

UnaggregatedIterator decodes unaggregated metrics.

func NewUnaggregatedIterator

func NewUnaggregatedIterator(
	reader encoding.ByteReadScanner,
	opts UnaggregatedOptions,
) UnaggregatedIterator

NewUnaggregatedIterator creates a new unaggregated iterator.

type UnaggregatedOptions

type UnaggregatedOptions interface {
	// SetBytesPool sets the bytes pool.
	SetBytesPool(value pool.BytesPool) UnaggregatedOptions

	// BytesPool returns the bytes pool.
	BytesPool() pool.BytesPool

	// SetInitBufferSize sets the initial buffer size.
	SetInitBufferSize(value int) UnaggregatedOptions

	// InitBufferSize returns the initial buffer size.
	InitBufferSize() int

	// SetMaxMessageSize sets the maximum message size.
	SetMaxMessageSize(value int) UnaggregatedOptions

	// MaxMessageSize returns the maximum message size.
	MaxMessageSize() int
}

UnaggregatedOptions provide a set of options for the unaggregated encoder and iterator.

func NewUnaggregatedOptions

func NewUnaggregatedOptions() UnaggregatedOptions

NewUnaggregatedOptions create a new set of unaggregated options.

Jump to

Keyboard shortcuts

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