Documentation ¶
Index ¶
- func NewRawMetric(data []byte, readerBufferSize int) aggregated.RawMetric
- type AggregatedEncoder
- type AggregatedIterator
- type AggregatedIteratorAlloc
- type AggregatedIteratorOptions
- type AggregatedIteratorPool
- type Buffer
- type BufferedEncoder
- type BufferedEncoderAlloc
- type BufferedEncoderPool
- type BufferedEncoderPoolOptions
- type Encoder
- type UnaggregatedEncoder
- type UnaggregatedIterator
- type UnaggregatedIteratorAlloc
- type UnaggregatedIteratorOptions
- type UnaggregatedIteratorPool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRawMetric ¶
func NewRawMetric(data []byte, readerBufferSize int) aggregated.RawMetric
NewRawMetric creates a new raw metric.
Types ¶
type AggregatedEncoder ¶
type AggregatedEncoder interface { // EncodeMetricWithStoragePolicy encodes a metric with an applicable storage policy. EncodeMetricWithStoragePolicy(mp aggregated.MetricWithStoragePolicy) error // EncodeMetricWithStoragePolicyAndEncodeTime encodes a metric with an applicable // storage policy, alongside the time at which encoding happens. EncodeMetricWithStoragePolicyAndEncodeTime( mp aggregated.MetricWithStoragePolicy, encodedAtNanos int64, ) error // EncodeChunkedMetricWithStoragePolicy encodes a chunked metric with an applicable storage policy. EncodeChunkedMetricWithStoragePolicy(cmp aggregated.ChunkedMetricWithStoragePolicy) error // EncodeChunkedMetricWithStoragePolicyAndEncodeTime encodes a chunked metric with // an applicable storage policy, alongside the time at which encoding happens. EncodeChunkedMetricWithStoragePolicyAndEncodeTime( cmp aggregated.ChunkedMetricWithStoragePolicy, encodedAtNanos int64, ) error // Encoder returns the encoder. Encoder() BufferedEncoder // Reset resets the encoder. Reset(encoder BufferedEncoder) }
AggregatedEncoder is an encoder for encoding aggregated metrics.
func NewAggregatedEncoder ¶
func NewAggregatedEncoder(encoder BufferedEncoder) AggregatedEncoder
NewAggregatedEncoder creates an aggregated encoder.
type AggregatedIterator ¶
type AggregatedIterator interface { // Next returns true if there are more metrics to decode. Next() bool // Value returns the current raw metric, the corresponding policy, and timestamp at // which the metric and the policy were encoded if applicable. Value() (aggregated.RawMetric, policy.StoragePolicy, int64) // Err returns the error encountered during decoding, if any. Err() error // Reset resets the iterator. Reset(reader io.Reader) // Close closes the iterator. Close() }
AggregatedIterator is an iterator for decoding aggregated metrics.
func NewAggregatedIterator ¶
func NewAggregatedIterator(reader io.Reader, opts AggregatedIteratorOptions) AggregatedIterator
NewAggregatedIterator creates a new aggregated iterator.
type AggregatedIteratorAlloc ¶
type AggregatedIteratorAlloc func() AggregatedIterator
AggregatedIteratorAlloc allocates an aggregated iterator.
type AggregatedIteratorOptions ¶
type AggregatedIteratorOptions interface { // SetIgnoreHigherVersion determines whether the iterator ignores messages // with higher-than-supported version. SetIgnoreHigherVersion(value bool) AggregatedIteratorOptions // IgnoreHigherVersion returns whether the iterator ignores messages with // higher-than-supported version. IgnoreHigherVersion() bool // SetReaderBufferSize sets the reader buffer size. SetReaderBufferSize(value int) AggregatedIteratorOptions // ReaderBufferSize returns the reader buffer size. ReaderBufferSize() int // SetIteratorPool sets the aggregated iterator pool. SetIteratorPool(value AggregatedIteratorPool) AggregatedIteratorOptions // IteratorPool returns the aggregated iterator pool. IteratorPool() AggregatedIteratorPool }
AggregatedIteratorOptions provide options for aggregated iterators.
func NewAggregatedIteratorOptions ¶
func NewAggregatedIteratorOptions() AggregatedIteratorOptions
NewAggregatedIteratorOptions creates a new set of aggregated iterator options.
type AggregatedIteratorPool ¶
type AggregatedIteratorPool interface { // Init initializes the aggregated iterator pool. Init(alloc AggregatedIteratorAlloc) // Get returns an aggregated iterator from the pool. Get() AggregatedIterator // Put puts an aggregated iterator into the pool. Put(it AggregatedIterator) }
AggregatedIteratorPool is a pool of aggregated iterators.
func NewAggregatedIteratorPool ¶
func NewAggregatedIteratorPool(opts pool.ObjectPoolOptions) AggregatedIteratorPool
NewAggregatedIteratorPool creates a new pool for aggregated iterators.
type Buffer ¶
type Buffer interface { // Buffer returns the bytes buffer. Buffer() *bytes.Buffer // Bytes returns the buffered bytes. Bytes() []byte // Reset resets the buffer. Reset() // Close closes the buffer. Close() }
Buffer is a byte buffer.
type BufferedEncoder ¶
BufferedEncoder is an encoder backed by byte buffers.
func NewBufferedEncoder ¶
func NewBufferedEncoder() BufferedEncoder
NewBufferedEncoder creates a new buffered encoder.
func NewPooledBufferedEncoder ¶
func NewPooledBufferedEncoder(p BufferedEncoderPool) BufferedEncoder
NewPooledBufferedEncoder creates a new pooled buffered encoder.
func NewPooledBufferedEncoderSize ¶
func NewPooledBufferedEncoderSize(p BufferedEncoderPool, size int) BufferedEncoder
NewPooledBufferedEncoderSize creates a new pooled buffered encoder with an initial buffer size.
type BufferedEncoderAlloc ¶
type BufferedEncoderAlloc func() BufferedEncoder
BufferedEncoderAlloc allocates a bufferer encoder.
type BufferedEncoderPool ¶
type BufferedEncoderPool interface { // Init initializes the buffered encoder pool. Init(alloc BufferedEncoderAlloc) // Get returns a buffered encoder from the pool. Get() BufferedEncoder // Put puts a buffered encoder into the pool. Put(enc BufferedEncoder) }
BufferedEncoderPool is a pool of buffered encoders.
func NewBufferedEncoderPool ¶
func NewBufferedEncoderPool(opts BufferedEncoderPoolOptions) BufferedEncoderPool
NewBufferedEncoderPool creates a new pool for buffered encoders.
type BufferedEncoderPoolOptions ¶
type BufferedEncoderPoolOptions interface { // SetMaxCapacity sets the maximum capacity of buffers that can be returned to the pool. SetMaxCapacity(value int) BufferedEncoderPoolOptions // MaxBufferCapacity returns the maximum capacity of buffers that can be returned to the pool. MaxCapacity() int // SetObjectPoolOptions sets the object pool options. SetObjectPoolOptions(value pool.ObjectPoolOptions) BufferedEncoderPoolOptions // ObjectPoolOptions returns the object pool options. ObjectPoolOptions() pool.ObjectPoolOptions }
BufferedEncoderPoolOptions provides options for buffered encoder pools.
func NewBufferedEncoderPoolOptions ¶
func NewBufferedEncoderPoolOptions() BufferedEncoderPoolOptions
NewBufferedEncoderPoolOptions creates a new set of buffered encoder pool options.
type Encoder ¶
type Encoder interface { // EncodeInt64 encodes an int64 value. EncodeInt64(value int64) error // EncodeBool encodes a boolean value. EncodeBool(value bool) error // EncodeFloat64 encodes a float64 value. EncodeFloat64(value float64) error // EncodeBytes encodes a byte slice. EncodeBytes(value []byte) error // EncodeBytesLen encodes the length of a byte slice. EncodeBytesLen(value int) error // EncodeArrayLen encodes the length of an array. EncodeArrayLen(value int) error }
Encoder is an encoder.
type UnaggregatedEncoder ¶
type UnaggregatedEncoder interface { // EncodeCounter encodes a counter. EncodeCounter(c unaggregated.Counter) error // EncodeBatchTimer encodes a batch timer. EncodeBatchTimer(bt unaggregated.BatchTimer) error // EncodeGauge encodes a gauge. EncodeGauge(g unaggregated.Gauge) error // EncodeCounterWithPoliciesList encodes a counter with applicable policies list. EncodeCounterWithPoliciesList(cp unaggregated.CounterWithPoliciesList) error // EncodeBatchTimerWithPoliciesList encodes a batched timer with applicable policies list. EncodeBatchTimerWithPoliciesList(btp unaggregated.BatchTimerWithPoliciesList) error // EncodeGaugeWithPoliciesList encodes a gauge with applicable policies list. EncodeGaugeWithPoliciesList(gp unaggregated.GaugeWithPoliciesList) error // Encoder returns the encoder. Encoder() BufferedEncoder // Reset resets the encoder. Reset(encoder BufferedEncoder) }
UnaggregatedEncoder is an encoder for encoding different types of unaggregated metrics.
func NewUnaggregatedEncoder ¶
func NewUnaggregatedEncoder(encoder BufferedEncoder) UnaggregatedEncoder
NewUnaggregatedEncoder creates a new unaggregated encoder.
type UnaggregatedIterator ¶
type UnaggregatedIterator interface { // Next returns true if there are more items to decode. Next() bool // Metric returns the current metric. // The returned value remains valid until the next Next() call. Metric() unaggregated.MetricUnion // PoliciesList returns the current applicable policies list. // The returned value remains valid until the next Next() call. PoliciesList() policy.PoliciesList // Err returns the error encountered during decoding, if any. Err() error // Reset resets the iterator. Reset(reader io.Reader) // Close closes the iterator. Close() }
UnaggregatedIterator is an iterator for decoding different types of unaggregated metrics.
func NewUnaggregatedIterator ¶
func NewUnaggregatedIterator(reader io.Reader, opts UnaggregatedIteratorOptions) UnaggregatedIterator
NewUnaggregatedIterator creates a new unaggregated iterator.
type UnaggregatedIteratorAlloc ¶
type UnaggregatedIteratorAlloc func() UnaggregatedIterator
UnaggregatedIteratorAlloc allocates an unaggregated iterator.
type UnaggregatedIteratorOptions ¶
type UnaggregatedIteratorOptions interface { // SetIgnoreHigherVersion determines whether the iterator ignores messages // with higher-than-supported version. SetIgnoreHigherVersion(value bool) UnaggregatedIteratorOptions // IgnoreHigherVersion returns whether the iterator ignores messages with // higher-than-supported version. IgnoreHigherVersion() bool // SetReaderBufferSize sets the reader buffer size. SetReaderBufferSize(value int) UnaggregatedIteratorOptions // ReaderBufferSize returns the reader buffer size. ReaderBufferSize() int // SetLargeFloatsSize determines whether a float slice is considered a "large" // slice and therefore resort to the pool for allocating that slice. SetLargeFloatsSize(value int) UnaggregatedIteratorOptions // LargeFloatsSize returns whether a float slice is considered a "large" // slice and therefore resort to the pool for allocating that slice. LargeFloatsSize() int // SetLargeFloatsPool sets the large floats pool. SetLargeFloatsPool(value pool.FloatsPool) UnaggregatedIteratorOptions // LargeFloatsPool returns the large floats pool. LargeFloatsPool() pool.FloatsPool // SetIteratorPool sets the unaggregated iterator pool. SetIteratorPool(value UnaggregatedIteratorPool) UnaggregatedIteratorOptions // IteratorPool returns the unaggregated iterator pool. IteratorPool() UnaggregatedIteratorPool }
UnaggregatedIteratorOptions provide options for unaggregated iterators.
func NewUnaggregatedIteratorOptions ¶
func NewUnaggregatedIteratorOptions() UnaggregatedIteratorOptions
NewUnaggregatedIteratorOptions creates a new set of unaggregated iterator options.
type UnaggregatedIteratorPool ¶
type UnaggregatedIteratorPool interface { // Init initializes the unaggregated iterator pool. Init(alloc UnaggregatedIteratorAlloc) // Get returns an unaggregated iterator from the pool. Get() UnaggregatedIterator // Put puts an unaggregated iterator into the pool. Put(it UnaggregatedIterator) }
UnaggregatedIteratorPool is a pool of unaggregated iterators.
func NewUnaggregatedIteratorPool ¶
func NewUnaggregatedIteratorPool(opts pool.ObjectPoolOptions) UnaggregatedIteratorPool
NewUnaggregatedIteratorPool creates a new pool for unaggregated iterators.