metadata

package
v0.99.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricsStability = component.StabilityLevelBeta
)

Variables

View Source
var MapAttributePercentile = map[string]AttributePercentile{
	"p50":   AttributePercentileP50,
	"p99":   AttributePercentileP99,
	"p99.9": AttributePercentileP999,
}

MapAttributePercentile is a helper map of string to AttributePercentile attribute value.

View Source
var MapAttributeRole = map[string]AttributeRole{
	"replica": AttributeRoleReplica,
	"primary": AttributeRolePrimary,
}

MapAttributeRole is a helper map of string to AttributeRole attribute value.

View Source
var MapAttributeState = map[string]AttributeState{
	"sys":              AttributeStateSys,
	"sys_children":     AttributeStateSysChildren,
	"sys_main_thread":  AttributeStateSysMainThread,
	"user":             AttributeStateUser,
	"user_children":    AttributeStateUserChildren,
	"user_main_thread": AttributeStateUserMainThread,
}

MapAttributeState is a helper map of string to AttributeState attribute value.

View Source
var (
	Type = component.MustNewType("redis")
)

Functions

func Meter added in v0.92.0

func Meter(settings component.TelemetrySettings) metric.Meter

func Tracer added in v0.92.0

func Tracer(settings component.TelemetrySettings) trace.Tracer

func WithStartTime

func WithStartTime(startTime pcommon.Timestamp) metricBuilderOption

WithStartTime sets startTime on the metrics builder.

Types

type AttributePercentile added in v0.86.0

type AttributePercentile int

AttributePercentile specifies the a value percentile attribute.

const (
	AttributePercentileP50 AttributePercentile
	AttributePercentileP99
	AttributePercentileP999
)

func (AttributePercentile) String added in v0.86.0

func (av AttributePercentile) String() string

String returns the string representation of the AttributePercentile.

type AttributeRole added in v0.55.0

type AttributeRole int

AttributeRole specifies the a value role attribute.

const (
	AttributeRoleReplica AttributeRole
	AttributeRolePrimary
)

func (AttributeRole) String added in v0.55.0

func (av AttributeRole) String() string

String returns the string representation of the AttributeRole.

type AttributeState added in v0.65.0

type AttributeState int

AttributeState specifies the a value state attribute.

const (
	AttributeStateSys AttributeState
	AttributeStateSysChildren
	AttributeStateSysMainThread
	AttributeStateUser
	AttributeStateUserChildren
	AttributeStateUserMainThread
)

func (AttributeState) String added in v0.65.0

func (av AttributeState) String() string

String returns the string representation of the AttributeState.

type MetricConfig added in v0.77.0

type MetricConfig struct {
	Enabled bool `mapstructure:"enabled"`
	// contains filtered or unexported fields
}

MetricConfig provides common config for a particular metric.

func (*MetricConfig) Unmarshal added in v0.77.0

func (ms *MetricConfig) Unmarshal(parser *confmap.Conf) error

type MetricsBuilder

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

MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations required to produce metric representation defined in metadata and user config.

func NewMetricsBuilder

func NewMetricsBuilder(mbc MetricsBuilderConfig, settings receiver.CreateSettings, options ...metricBuilderOption) *MetricsBuilder

func (*MetricsBuilder) Emit

Emit returns all the metrics accumulated by the metrics builder and updates the internal state to be ready for recording another set of metrics. This function will be responsible for applying all the transformations required to produce metric representation defined in metadata and user config, e.g. delta or cumulative.

func (*MetricsBuilder) EmitForResource added in v0.48.0

func (mb *MetricsBuilder) EmitForResource(rmo ...ResourceMetricsOption)

EmitForResource saves all the generated metrics under a new resource and updates the internal state to be ready for recording another set of data points as part of another resource. This function can be helpful when one scraper needs to emit metrics from several resources. Otherwise calling this function is not required, just `Emit` function can be called instead. Resource attributes should be provided as ResourceMetricsOption arguments.

func (*MetricsBuilder) NewResourceBuilder added in v0.83.0

func (mb *MetricsBuilder) NewResourceBuilder() *ResourceBuilder

NewResourceBuilder returns a new resource builder that should be used to build a resource associated with for the emitted metrics.

func (*MetricsBuilder) RecordRedisCPUTimeDataPoint

func (mb *MetricsBuilder) RecordRedisCPUTimeDataPoint(ts pcommon.Timestamp, val float64, stateAttributeValue AttributeState)

RecordRedisCPUTimeDataPoint adds a data point to redis.cpu.time metric.

func (*MetricsBuilder) RecordRedisClientsBlockedDataPoint

func (mb *MetricsBuilder) RecordRedisClientsBlockedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisClientsBlockedDataPoint adds a data point to redis.clients.blocked metric.

func (*MetricsBuilder) RecordRedisClientsConnectedDataPoint

func (mb *MetricsBuilder) RecordRedisClientsConnectedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisClientsConnectedDataPoint adds a data point to redis.clients.connected metric.

func (*MetricsBuilder) RecordRedisClientsMaxInputBufferDataPoint

func (mb *MetricsBuilder) RecordRedisClientsMaxInputBufferDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisClientsMaxInputBufferDataPoint adds a data point to redis.clients.max_input_buffer metric.

func (*MetricsBuilder) RecordRedisClientsMaxOutputBufferDataPoint

func (mb *MetricsBuilder) RecordRedisClientsMaxOutputBufferDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisClientsMaxOutputBufferDataPoint adds a data point to redis.clients.max_output_buffer metric.

func (*MetricsBuilder) RecordRedisCmdCallsDataPoint added in v0.55.0

func (mb *MetricsBuilder) RecordRedisCmdCallsDataPoint(ts pcommon.Timestamp, val int64, cmdAttributeValue string)

RecordRedisCmdCallsDataPoint adds a data point to redis.cmd.calls metric.

func (*MetricsBuilder) RecordRedisCmdLatencyDataPoint added in v0.86.0

func (mb *MetricsBuilder) RecordRedisCmdLatencyDataPoint(ts pcommon.Timestamp, val float64, cmdAttributeValue string, percentileAttributeValue AttributePercentile)

RecordRedisCmdLatencyDataPoint adds a data point to redis.cmd.latency metric.

func (*MetricsBuilder) RecordRedisCmdUsecDataPoint added in v0.55.0

func (mb *MetricsBuilder) RecordRedisCmdUsecDataPoint(ts pcommon.Timestamp, val int64, cmdAttributeValue string)

RecordRedisCmdUsecDataPoint adds a data point to redis.cmd.usec metric.

func (*MetricsBuilder) RecordRedisCommandsDataPoint

func (mb *MetricsBuilder) RecordRedisCommandsDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisCommandsDataPoint adds a data point to redis.commands metric.

func (*MetricsBuilder) RecordRedisCommandsProcessedDataPoint

func (mb *MetricsBuilder) RecordRedisCommandsProcessedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisCommandsProcessedDataPoint adds a data point to redis.commands.processed metric.

func (*MetricsBuilder) RecordRedisConnectionsReceivedDataPoint

func (mb *MetricsBuilder) RecordRedisConnectionsReceivedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisConnectionsReceivedDataPoint adds a data point to redis.connections.received metric.

func (*MetricsBuilder) RecordRedisConnectionsRejectedDataPoint

func (mb *MetricsBuilder) RecordRedisConnectionsRejectedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisConnectionsRejectedDataPoint adds a data point to redis.connections.rejected metric.

func (*MetricsBuilder) RecordRedisDbAvgTTLDataPoint

func (mb *MetricsBuilder) RecordRedisDbAvgTTLDataPoint(ts pcommon.Timestamp, val int64, dbAttributeValue string)

RecordRedisDbAvgTTLDataPoint adds a data point to redis.db.avg_ttl metric.

func (*MetricsBuilder) RecordRedisDbExpiresDataPoint

func (mb *MetricsBuilder) RecordRedisDbExpiresDataPoint(ts pcommon.Timestamp, val int64, dbAttributeValue string)

RecordRedisDbExpiresDataPoint adds a data point to redis.db.expires metric.

func (*MetricsBuilder) RecordRedisDbKeysDataPoint

func (mb *MetricsBuilder) RecordRedisDbKeysDataPoint(ts pcommon.Timestamp, val int64, dbAttributeValue string)

RecordRedisDbKeysDataPoint adds a data point to redis.db.keys metric.

func (*MetricsBuilder) RecordRedisKeysEvictedDataPoint

func (mb *MetricsBuilder) RecordRedisKeysEvictedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisKeysEvictedDataPoint adds a data point to redis.keys.evicted metric.

func (*MetricsBuilder) RecordRedisKeysExpiredDataPoint

func (mb *MetricsBuilder) RecordRedisKeysExpiredDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisKeysExpiredDataPoint adds a data point to redis.keys.expired metric.

func (*MetricsBuilder) RecordRedisKeyspaceHitsDataPoint

func (mb *MetricsBuilder) RecordRedisKeyspaceHitsDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisKeyspaceHitsDataPoint adds a data point to redis.keyspace.hits metric.

func (*MetricsBuilder) RecordRedisKeyspaceMissesDataPoint

func (mb *MetricsBuilder) RecordRedisKeyspaceMissesDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisKeyspaceMissesDataPoint adds a data point to redis.keyspace.misses metric.

func (*MetricsBuilder) RecordRedisLatestForkDataPoint

func (mb *MetricsBuilder) RecordRedisLatestForkDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisLatestForkDataPoint adds a data point to redis.latest_fork metric.

func (*MetricsBuilder) RecordRedisMaxmemoryDataPoint added in v0.55.0

func (mb *MetricsBuilder) RecordRedisMaxmemoryDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisMaxmemoryDataPoint adds a data point to redis.maxmemory metric.

func (*MetricsBuilder) RecordRedisMemoryFragmentationRatioDataPoint

func (mb *MetricsBuilder) RecordRedisMemoryFragmentationRatioDataPoint(ts pcommon.Timestamp, val float64)

RecordRedisMemoryFragmentationRatioDataPoint adds a data point to redis.memory.fragmentation_ratio metric.

func (*MetricsBuilder) RecordRedisMemoryLuaDataPoint

func (mb *MetricsBuilder) RecordRedisMemoryLuaDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisMemoryLuaDataPoint adds a data point to redis.memory.lua metric.

func (*MetricsBuilder) RecordRedisMemoryPeakDataPoint

func (mb *MetricsBuilder) RecordRedisMemoryPeakDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisMemoryPeakDataPoint adds a data point to redis.memory.peak metric.

func (*MetricsBuilder) RecordRedisMemoryRssDataPoint

func (mb *MetricsBuilder) RecordRedisMemoryRssDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisMemoryRssDataPoint adds a data point to redis.memory.rss metric.

func (*MetricsBuilder) RecordRedisMemoryUsedDataPoint

func (mb *MetricsBuilder) RecordRedisMemoryUsedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisMemoryUsedDataPoint adds a data point to redis.memory.used metric.

func (*MetricsBuilder) RecordRedisNetInputDataPoint

func (mb *MetricsBuilder) RecordRedisNetInputDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisNetInputDataPoint adds a data point to redis.net.input metric.

func (*MetricsBuilder) RecordRedisNetOutputDataPoint

func (mb *MetricsBuilder) RecordRedisNetOutputDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisNetOutputDataPoint adds a data point to redis.net.output metric.

func (*MetricsBuilder) RecordRedisRdbChangesSinceLastSaveDataPoint

func (mb *MetricsBuilder) RecordRedisRdbChangesSinceLastSaveDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisRdbChangesSinceLastSaveDataPoint adds a data point to redis.rdb.changes_since_last_save metric.

func (*MetricsBuilder) RecordRedisReplicationBacklogFirstByteOffsetDataPoint

func (mb *MetricsBuilder) RecordRedisReplicationBacklogFirstByteOffsetDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisReplicationBacklogFirstByteOffsetDataPoint adds a data point to redis.replication.backlog_first_byte_offset metric.

func (*MetricsBuilder) RecordRedisReplicationOffsetDataPoint

func (mb *MetricsBuilder) RecordRedisReplicationOffsetDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisReplicationOffsetDataPoint adds a data point to redis.replication.offset metric.

func (*MetricsBuilder) RecordRedisReplicationReplicaOffsetDataPoint added in v0.93.0

func (mb *MetricsBuilder) RecordRedisReplicationReplicaOffsetDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisReplicationReplicaOffsetDataPoint adds a data point to redis.replication.replica_offset metric.

func (*MetricsBuilder) RecordRedisRoleDataPoint added in v0.55.0

func (mb *MetricsBuilder) RecordRedisRoleDataPoint(ts pcommon.Timestamp, val int64, roleAttributeValue AttributeRole)

RecordRedisRoleDataPoint adds a data point to redis.role metric.

func (*MetricsBuilder) RecordRedisSlavesConnectedDataPoint

func (mb *MetricsBuilder) RecordRedisSlavesConnectedDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisSlavesConnectedDataPoint adds a data point to redis.slaves.connected metric.

func (*MetricsBuilder) RecordRedisUptimeDataPoint

func (mb *MetricsBuilder) RecordRedisUptimeDataPoint(ts pcommon.Timestamp, val int64)

RecordRedisUptimeDataPoint adds a data point to redis.uptime metric.

func (*MetricsBuilder) Reset

func (mb *MetricsBuilder) Reset(options ...metricBuilderOption)

Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, and metrics builder should update its startTime and reset it's internal state accordingly.

type MetricsBuilderConfig added in v0.73.0

type MetricsBuilderConfig struct {
	Metrics            MetricsConfig            `mapstructure:"metrics"`
	ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"`
}

MetricsBuilderConfig is a configuration for redis metrics builder.

func DefaultMetricsBuilderConfig added in v0.73.0

func DefaultMetricsBuilderConfig() MetricsBuilderConfig

type MetricsConfig added in v0.77.0

type MetricsConfig struct {
	RedisClientsBlocked                    MetricConfig `mapstructure:"redis.clients.blocked"`
	RedisClientsConnected                  MetricConfig `mapstructure:"redis.clients.connected"`
	RedisClientsMaxInputBuffer             MetricConfig `mapstructure:"redis.clients.max_input_buffer"`
	RedisClientsMaxOutputBuffer            MetricConfig `mapstructure:"redis.clients.max_output_buffer"`
	RedisCmdCalls                          MetricConfig `mapstructure:"redis.cmd.calls"`
	RedisCmdLatency                        MetricConfig `mapstructure:"redis.cmd.latency"`
	RedisCmdUsec                           MetricConfig `mapstructure:"redis.cmd.usec"`
	RedisCommands                          MetricConfig `mapstructure:"redis.commands"`
	RedisCommandsProcessed                 MetricConfig `mapstructure:"redis.commands.processed"`
	RedisConnectionsReceived               MetricConfig `mapstructure:"redis.connections.received"`
	RedisConnectionsRejected               MetricConfig `mapstructure:"redis.connections.rejected"`
	RedisCPUTime                           MetricConfig `mapstructure:"redis.cpu.time"`
	RedisDbAvgTTL                          MetricConfig `mapstructure:"redis.db.avg_ttl"`
	RedisDbExpires                         MetricConfig `mapstructure:"redis.db.expires"`
	RedisDbKeys                            MetricConfig `mapstructure:"redis.db.keys"`
	RedisKeysEvicted                       MetricConfig `mapstructure:"redis.keys.evicted"`
	RedisKeysExpired                       MetricConfig `mapstructure:"redis.keys.expired"`
	RedisKeyspaceHits                      MetricConfig `mapstructure:"redis.keyspace.hits"`
	RedisKeyspaceMisses                    MetricConfig `mapstructure:"redis.keyspace.misses"`
	RedisLatestFork                        MetricConfig `mapstructure:"redis.latest_fork"`
	RedisMaxmemory                         MetricConfig `mapstructure:"redis.maxmemory"`
	RedisMemoryFragmentationRatio          MetricConfig `mapstructure:"redis.memory.fragmentation_ratio"`
	RedisMemoryLua                         MetricConfig `mapstructure:"redis.memory.lua"`
	RedisMemoryPeak                        MetricConfig `mapstructure:"redis.memory.peak"`
	RedisMemoryRss                         MetricConfig `mapstructure:"redis.memory.rss"`
	RedisMemoryUsed                        MetricConfig `mapstructure:"redis.memory.used"`
	RedisNetInput                          MetricConfig `mapstructure:"redis.net.input"`
	RedisNetOutput                         MetricConfig `mapstructure:"redis.net.output"`
	RedisRdbChangesSinceLastSave           MetricConfig `mapstructure:"redis.rdb.changes_since_last_save"`
	RedisReplicationBacklogFirstByteOffset MetricConfig `mapstructure:"redis.replication.backlog_first_byte_offset"`
	RedisReplicationOffset                 MetricConfig `mapstructure:"redis.replication.offset"`
	RedisReplicationReplicaOffset          MetricConfig `mapstructure:"redis.replication.replica_offset"`
	RedisRole                              MetricConfig `mapstructure:"redis.role"`
	RedisSlavesConnected                   MetricConfig `mapstructure:"redis.slaves.connected"`
	RedisUptime                            MetricConfig `mapstructure:"redis.uptime"`
}

MetricsConfig provides config for redis metrics.

func DefaultMetricsConfig added in v0.77.0

func DefaultMetricsConfig() MetricsConfig

type ResourceAttributeConfig added in v0.77.0

type ResourceAttributeConfig struct {
	Enabled bool `mapstructure:"enabled"`
	// Experimental: MetricsInclude defines a list of filters for attribute values.
	// If the list is not empty, only metrics with matching resource attribute values will be emitted.
	MetricsInclude []filter.Config `mapstructure:"metrics_include"`
	// Experimental: MetricsExclude defines a list of filters for attribute values.
	// If the list is not empty, metrics with matching resource attribute values will not be emitted.
	// MetricsInclude has higher priority than MetricsExclude.
	MetricsExclude []filter.Config `mapstructure:"metrics_exclude"`
	// contains filtered or unexported fields
}

ResourceAttributeConfig provides common config for a particular resource attribute.

func (*ResourceAttributeConfig) Unmarshal added in v0.87.0

func (rac *ResourceAttributeConfig) Unmarshal(parser *confmap.Conf) error

type ResourceAttributesConfig added in v0.77.0

type ResourceAttributesConfig struct {
	RedisVersion  ResourceAttributeConfig `mapstructure:"redis.version"`
	ServerAddress ResourceAttributeConfig `mapstructure:"server.address"`
	ServerPort    ResourceAttributeConfig `mapstructure:"server.port"`
}

ResourceAttributesConfig provides config for redis resource attributes.

func DefaultResourceAttributesConfig added in v0.77.0

func DefaultResourceAttributesConfig() ResourceAttributesConfig

type ResourceBuilder added in v0.82.0

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

ResourceBuilder is a helper struct to build resources predefined in metadata.yaml. The ResourceBuilder is not thread-safe and must not to be used in multiple goroutines.

func NewResourceBuilder added in v0.82.0

func NewResourceBuilder(rac ResourceAttributesConfig) *ResourceBuilder

NewResourceBuilder creates a new ResourceBuilder. This method should be called on the start of the application.

func (*ResourceBuilder) Emit added in v0.82.0

func (rb *ResourceBuilder) Emit() pcommon.Resource

Emit returns the built resource and resets the internal builder state.

func (*ResourceBuilder) SetRedisVersion added in v0.82.0

func (rb *ResourceBuilder) SetRedisVersion(val string)

SetRedisVersion sets provided value as "redis.version" attribute.

func (*ResourceBuilder) SetServerAddress added in v0.89.0

func (rb *ResourceBuilder) SetServerAddress(val string)

SetServerAddress sets provided value as "server.address" attribute.

func (*ResourceBuilder) SetServerPort added in v0.89.0

func (rb *ResourceBuilder) SetServerPort(val string)

SetServerPort sets provided value as "server.port" attribute.

type ResourceMetricsOption added in v0.52.0

type ResourceMetricsOption func(pmetric.ResourceMetrics)

ResourceMetricsOption applies changes to provided resource metrics.

func WithResource added in v0.82.0

func WithResource(res pcommon.Resource) ResourceMetricsOption

WithResource sets the provided resource on the emitted ResourceMetrics. It's recommended to use ResourceBuilder to create the resource.

func WithStartTimeOverride added in v0.52.0

func WithStartTimeOverride(start pcommon.Timestamp) ResourceMetricsOption

WithStartTimeOverride overrides start time for all the resource metrics data points. This option should be only used if different start time has to be set on metrics coming from different resources.

Jump to

Keyboard shortcuts

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