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: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricsStability = component.StabilityLevelAlpha
)

Variables

View Source
var MapAttributeCheckpoint = map[string]AttributeCheckpoint{
	"completed": AttributeCheckpointCompleted,
	"failed":    AttributeCheckpointFailed,
}

MapAttributeCheckpoint is a helper map of string to AttributeCheckpoint attribute value.

MapAttributeGarbageCollectorName is a helper map of string to AttributeGarbageCollectorName attribute value.

View Source
var MapAttributeRecord = map[string]AttributeRecord{
	"in":      AttributeRecordIn,
	"out":     AttributeRecordOut,
	"dropped": AttributeRecordDropped,
}

MapAttributeRecord is a helper map of string to AttributeRecord attribute value.

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

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 AttributeCheckpoint

type AttributeCheckpoint int

AttributeCheckpoint specifies the a value checkpoint attribute.

const (
	AttributeCheckpointCompleted AttributeCheckpoint
	AttributeCheckpointFailed
)

func (AttributeCheckpoint) String

func (av AttributeCheckpoint) String() string

String returns the string representation of the AttributeCheckpoint.

type AttributeGarbageCollectorName

type AttributeGarbageCollectorName int

AttributeGarbageCollectorName specifies the a value garbage_collector_name attribute.

const (
	AttributeGarbageCollectorNamePSMarkSweep AttributeGarbageCollectorName
	AttributeGarbageCollectorNamePSScavenge
	AttributeGarbageCollectorNameG1YoungGeneration
	AttributeGarbageCollectorNameG1OldGeneration
)

func (AttributeGarbageCollectorName) String

String returns the string representation of the AttributeGarbageCollectorName.

type AttributeRecord

type AttributeRecord int

AttributeRecord specifies the a value record attribute.

const (
	AttributeRecordIn AttributeRecord
	AttributeRecordOut
	AttributeRecordDropped
)

func (AttributeRecord) String

func (av AttributeRecord) String() string

String returns the string representation of the AttributeRecord.

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

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) RecordFlinkJobCheckpointCountDataPoint

func (mb *MetricsBuilder) RecordFlinkJobCheckpointCountDataPoint(ts pcommon.Timestamp, inputVal string, checkpointAttributeValue AttributeCheckpoint) error

RecordFlinkJobCheckpointCountDataPoint adds a data point to flink.job.checkpoint.count metric.

func (*MetricsBuilder) RecordFlinkJobCheckpointInProgressDataPoint

func (mb *MetricsBuilder) RecordFlinkJobCheckpointInProgressDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJobCheckpointInProgressDataPoint adds a data point to flink.job.checkpoint.in_progress metric.

func (*MetricsBuilder) RecordFlinkJobLastCheckpointSizeDataPoint

func (mb *MetricsBuilder) RecordFlinkJobLastCheckpointSizeDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJobLastCheckpointSizeDataPoint adds a data point to flink.job.last_checkpoint.size metric.

func (*MetricsBuilder) RecordFlinkJobLastCheckpointTimeDataPoint

func (mb *MetricsBuilder) RecordFlinkJobLastCheckpointTimeDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJobLastCheckpointTimeDataPoint adds a data point to flink.job.last_checkpoint.time metric.

func (*MetricsBuilder) RecordFlinkJobRestartCountDataPoint

func (mb *MetricsBuilder) RecordFlinkJobRestartCountDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJobRestartCountDataPoint adds a data point to flink.job.restart.count metric.

func (*MetricsBuilder) RecordFlinkJvmCPULoadDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmCPULoadDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmCPULoadDataPoint adds a data point to flink.jvm.cpu.load metric.

func (*MetricsBuilder) RecordFlinkJvmCPUTimeDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmCPUTimeDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmCPUTimeDataPoint adds a data point to flink.jvm.cpu.time metric.

func (*MetricsBuilder) RecordFlinkJvmClassLoaderClassesLoadedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmClassLoaderClassesLoadedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmClassLoaderClassesLoadedDataPoint adds a data point to flink.jvm.class_loader.classes_loaded metric.

func (*MetricsBuilder) RecordFlinkJvmGcCollectionsCountDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmGcCollectionsCountDataPoint(ts pcommon.Timestamp, inputVal string, garbageCollectorNameAttributeValue AttributeGarbageCollectorName) error

RecordFlinkJvmGcCollectionsCountDataPoint adds a data point to flink.jvm.gc.collections.count metric.

func (*MetricsBuilder) RecordFlinkJvmGcCollectionsTimeDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmGcCollectionsTimeDataPoint(ts pcommon.Timestamp, inputVal string, garbageCollectorNameAttributeValue AttributeGarbageCollectorName) error

RecordFlinkJvmGcCollectionsTimeDataPoint adds a data point to flink.jvm.gc.collections.time metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryDirectTotalCapacityDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryDirectTotalCapacityDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryDirectTotalCapacityDataPoint adds a data point to flink.jvm.memory.direct.total_capacity metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryDirectUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryDirectUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryDirectUsedDataPoint adds a data point to flink.jvm.memory.direct.used metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryHeapCommittedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryHeapCommittedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryHeapCommittedDataPoint adds a data point to flink.jvm.memory.heap.committed metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryHeapMaxDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryHeapMaxDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryHeapMaxDataPoint adds a data point to flink.jvm.memory.heap.max metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryHeapUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryHeapUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryHeapUsedDataPoint adds a data point to flink.jvm.memory.heap.used metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryMappedTotalCapacityDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryMappedTotalCapacityDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryMappedTotalCapacityDataPoint adds a data point to flink.jvm.memory.mapped.total_capacity metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryMappedUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryMappedUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryMappedUsedDataPoint adds a data point to flink.jvm.memory.mapped.used metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryMetaspaceCommittedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryMetaspaceCommittedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryMetaspaceCommittedDataPoint adds a data point to flink.jvm.memory.metaspace.committed metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryMetaspaceMaxDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryMetaspaceMaxDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryMetaspaceMaxDataPoint adds a data point to flink.jvm.memory.metaspace.max metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryMetaspaceUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryMetaspaceUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryMetaspaceUsedDataPoint adds a data point to flink.jvm.memory.metaspace.used metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryNonheapCommittedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryNonheapCommittedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryNonheapCommittedDataPoint adds a data point to flink.jvm.memory.nonheap.committed metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryNonheapMaxDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryNonheapMaxDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryNonheapMaxDataPoint adds a data point to flink.jvm.memory.nonheap.max metric.

func (*MetricsBuilder) RecordFlinkJvmMemoryNonheapUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmMemoryNonheapUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmMemoryNonheapUsedDataPoint adds a data point to flink.jvm.memory.nonheap.used metric.

func (*MetricsBuilder) RecordFlinkJvmThreadsCountDataPoint

func (mb *MetricsBuilder) RecordFlinkJvmThreadsCountDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkJvmThreadsCountDataPoint adds a data point to flink.jvm.threads.count metric.

func (*MetricsBuilder) RecordFlinkMemoryManagedTotalDataPoint

func (mb *MetricsBuilder) RecordFlinkMemoryManagedTotalDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkMemoryManagedTotalDataPoint adds a data point to flink.memory.managed.total metric.

func (*MetricsBuilder) RecordFlinkMemoryManagedUsedDataPoint

func (mb *MetricsBuilder) RecordFlinkMemoryManagedUsedDataPoint(ts pcommon.Timestamp, inputVal string) error

RecordFlinkMemoryManagedUsedDataPoint adds a data point to flink.memory.managed.used metric.

func (*MetricsBuilder) RecordFlinkOperatorRecordCountDataPoint

func (mb *MetricsBuilder) RecordFlinkOperatorRecordCountDataPoint(ts pcommon.Timestamp, inputVal string, operatorNameAttributeValue string, recordAttributeValue AttributeRecord) error

RecordFlinkOperatorRecordCountDataPoint adds a data point to flink.operator.record.count metric.

func (*MetricsBuilder) RecordFlinkOperatorWatermarkOutputDataPoint

func (mb *MetricsBuilder) RecordFlinkOperatorWatermarkOutputDataPoint(ts pcommon.Timestamp, inputVal string, operatorNameAttributeValue string) error

RecordFlinkOperatorWatermarkOutputDataPoint adds a data point to flink.operator.watermark.output metric.

func (*MetricsBuilder) RecordFlinkTaskRecordCountDataPoint

func (mb *MetricsBuilder) RecordFlinkTaskRecordCountDataPoint(ts pcommon.Timestamp, inputVal string, recordAttributeValue AttributeRecord) error

RecordFlinkTaskRecordCountDataPoint adds a data point to flink.task.record.count 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 flinkmetrics metrics builder.

func DefaultMetricsBuilderConfig added in v0.73.0

func DefaultMetricsBuilderConfig() MetricsBuilderConfig

type MetricsConfig added in v0.77.0

type MetricsConfig struct {
	FlinkJobCheckpointCount           MetricConfig `mapstructure:"flink.job.checkpoint.count"`
	FlinkJobCheckpointInProgress      MetricConfig `mapstructure:"flink.job.checkpoint.in_progress"`
	FlinkJobLastCheckpointSize        MetricConfig `mapstructure:"flink.job.last_checkpoint.size"`
	FlinkJobLastCheckpointTime        MetricConfig `mapstructure:"flink.job.last_checkpoint.time"`
	FlinkJobRestartCount              MetricConfig `mapstructure:"flink.job.restart.count"`
	FlinkJvmClassLoaderClassesLoaded  MetricConfig `mapstructure:"flink.jvm.class_loader.classes_loaded"`
	FlinkJvmCPULoad                   MetricConfig `mapstructure:"flink.jvm.cpu.load"`
	FlinkJvmCPUTime                   MetricConfig `mapstructure:"flink.jvm.cpu.time"`
	FlinkJvmGcCollectionsCount        MetricConfig `mapstructure:"flink.jvm.gc.collections.count"`
	FlinkJvmGcCollectionsTime         MetricConfig `mapstructure:"flink.jvm.gc.collections.time"`
	FlinkJvmMemoryDirectTotalCapacity MetricConfig `mapstructure:"flink.jvm.memory.direct.total_capacity"`
	FlinkJvmMemoryDirectUsed          MetricConfig `mapstructure:"flink.jvm.memory.direct.used"`
	FlinkJvmMemoryHeapCommitted       MetricConfig `mapstructure:"flink.jvm.memory.heap.committed"`
	FlinkJvmMemoryHeapMax             MetricConfig `mapstructure:"flink.jvm.memory.heap.max"`
	FlinkJvmMemoryHeapUsed            MetricConfig `mapstructure:"flink.jvm.memory.heap.used"`
	FlinkJvmMemoryMappedTotalCapacity MetricConfig `mapstructure:"flink.jvm.memory.mapped.total_capacity"`
	FlinkJvmMemoryMappedUsed          MetricConfig `mapstructure:"flink.jvm.memory.mapped.used"`
	FlinkJvmMemoryMetaspaceCommitted  MetricConfig `mapstructure:"flink.jvm.memory.metaspace.committed"`
	FlinkJvmMemoryMetaspaceMax        MetricConfig `mapstructure:"flink.jvm.memory.metaspace.max"`
	FlinkJvmMemoryMetaspaceUsed       MetricConfig `mapstructure:"flink.jvm.memory.metaspace.used"`
	FlinkJvmMemoryNonheapCommitted    MetricConfig `mapstructure:"flink.jvm.memory.nonheap.committed"`
	FlinkJvmMemoryNonheapMax          MetricConfig `mapstructure:"flink.jvm.memory.nonheap.max"`
	FlinkJvmMemoryNonheapUsed         MetricConfig `mapstructure:"flink.jvm.memory.nonheap.used"`
	FlinkJvmThreadsCount              MetricConfig `mapstructure:"flink.jvm.threads.count"`
	FlinkMemoryManagedTotal           MetricConfig `mapstructure:"flink.memory.managed.total"`
	FlinkMemoryManagedUsed            MetricConfig `mapstructure:"flink.memory.managed.used"`
	FlinkOperatorRecordCount          MetricConfig `mapstructure:"flink.operator.record.count"`
	FlinkOperatorWatermarkOutput      MetricConfig `mapstructure:"flink.operator.watermark.output"`
	FlinkTaskRecordCount              MetricConfig `mapstructure:"flink.task.record.count"`
}

MetricsConfig provides config for flinkmetrics 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 {
	FlinkJobName       ResourceAttributeConfig `mapstructure:"flink.job.name"`
	FlinkResourceType  ResourceAttributeConfig `mapstructure:"flink.resource.type"`
	FlinkSubtaskIndex  ResourceAttributeConfig `mapstructure:"flink.subtask.index"`
	FlinkTaskName      ResourceAttributeConfig `mapstructure:"flink.task.name"`
	FlinkTaskmanagerID ResourceAttributeConfig `mapstructure:"flink.taskmanager.id"`
	HostName           ResourceAttributeConfig `mapstructure:"host.name"`
}

ResourceAttributesConfig provides config for flinkmetrics 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) SetFlinkJobName added in v0.82.0

func (rb *ResourceBuilder) SetFlinkJobName(val string)

SetFlinkJobName sets provided value as "flink.job.name" attribute.

func (*ResourceBuilder) SetFlinkResourceTypeJobmanager added in v0.82.0

func (rb *ResourceBuilder) SetFlinkResourceTypeJobmanager()

SetFlinkResourceTypeJobmanager sets "flink.resource.type=jobmanager" attribute.

func (*ResourceBuilder) SetFlinkResourceTypeTaskmanager added in v0.82.0

func (rb *ResourceBuilder) SetFlinkResourceTypeTaskmanager()

SetFlinkResourceTypeTaskmanager sets "flink.resource.type=taskmanager" attribute.

func (*ResourceBuilder) SetFlinkSubtaskIndex added in v0.82.0

func (rb *ResourceBuilder) SetFlinkSubtaskIndex(val string)

SetFlinkSubtaskIndex sets provided value as "flink.subtask.index" attribute.

func (*ResourceBuilder) SetFlinkTaskName added in v0.82.0

func (rb *ResourceBuilder) SetFlinkTaskName(val string)

SetFlinkTaskName sets provided value as "flink.task.name" attribute.

func (*ResourceBuilder) SetFlinkTaskmanagerID added in v0.82.0

func (rb *ResourceBuilder) SetFlinkTaskmanagerID(val string)

SetFlinkTaskmanagerID sets provided value as "flink.taskmanager.id" attribute.

func (*ResourceBuilder) SetHostName added in v0.82.0

func (rb *ResourceBuilder) SetHostName(val string)

SetHostName sets provided value as "host.name" attribute.

type ResourceMetricsOption

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

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