Help us shape the future of Go! Take the 2026 Go Developer Survey

metric

package
v1.13.4 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultMetricConfig = MetricConfig{
		Timestamper: DefaultMetricTimestamperConfig,
		Collector:   DefaultMetricsCollectorConfig,
		Reporter:    DefaultMetricsReporterConfig,
	}
)
View Source
var (
	DefaultMetricTimestamperConfig = MetricTimestamperConfig{
		OneWayDelayEstimatorMinInterval: 5 * time.Second,
		OneWayDelayEstimatorMaxBatch:    100,
	}
)
View Source
var (
	DefaultMetricsCollectorConfig = MetricsCollectorConfig{
		SamplingIntervalMs: 3 * 1000,
		BatchIntervalMs:    10 * 1000,
	}
)
View Source
var (
	DefaultMetricsReporterConfig = MetricsReporterConfig{
		ReportingIntervalMs: 10 * 1000,
	}
)

Functions

This section is empty.

Types

type MetricConfig

type MetricConfig struct {
	Timestamper MetricTimestamperConfig `yaml:"timestamper_config,omitempty"`
	Collector   MetricsCollectorConfig  `yaml:"collector,omitempty"`
	Reporter    MetricsReporterConfig   `yaml:"reporter,omitempty"`
}

type MetricTimestamper

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

func NewMetricTimestamper

func NewMetricTimestamper(params MetricTimestamperParams) *MetricTimestamper

func (*MetricTimestamper) Process

func (m *MetricTimestamper) Process(batch *livekit.MetricsBatch)

type MetricTimestamperConfig

type MetricTimestamperConfig struct {
	OneWayDelayEstimatorMinInterval time.Duration `yaml:"one_way_delay_estimator_min_interval,omitempty"`
	OneWayDelayEstimatorMaxBatch    int           `yaml:"one_way_delay_estimator_max_batch,omitempty"`
}

type MetricTimestamperParams

type MetricTimestamperParams struct {
	Config MetricTimestamperConfig
	Logger logger.Logger
}

type MetricsCollector added in v1.8.1

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

func NewMetricsCollector added in v1.8.1

func NewMetricsCollector(params MetricsCollectorParams) *MetricsCollector

func (*MetricsCollector) AddPublisherRTT added in v1.8.1

func (mc *MetricsCollector) AddPublisherRTT(participantIdentity livekit.ParticipantIdentity, rtt float32)

func (*MetricsCollector) AddRelayRTT added in v1.8.1

func (mc *MetricsCollector) AddRelayRTT(participantIdentity livekit.ParticipantIdentity, rtt float32)

func (*MetricsCollector) AddSubscriberRTT added in v1.8.1

func (mc *MetricsCollector) AddSubscriberRTT(rtt float32)

func (*MetricsCollector) Stop added in v1.8.1

func (mc *MetricsCollector) Stop()

type MetricsCollectorConfig added in v1.8.1

type MetricsCollectorConfig struct {
	SamplingIntervalMs uint32 `yaml:"sampling_interval_ms,omitempty" json:"sampling_interval_ms,omitempty"`
	BatchIntervalMs    uint32 `yaml:"batch_interval_ms,omitempty" json:"batch_interval_ms,omitempty"`
}

type MetricsCollectorParams added in v1.8.1

type MetricsCollectorParams struct {
	ParticipantIdentity livekit.ParticipantIdentity
	Config              MetricsCollectorConfig
	Provider            MetricsCollectorProvider
	Logger              logger.Logger
}

type MetricsCollectorProvider added in v1.8.1

type MetricsCollectorProvider interface {
	MetricsCollectorTimeToCollectMetrics()
	MetricsCollectorBatchReady(mb *livekit.MetricsBatch)
}

type MetricsReporter added in v1.8.1

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

func NewMetricsReporter added in v1.8.1

func NewMetricsReporter(params MetricsReporterParams) *MetricsReporter

func (*MetricsReporter) Merge added in v1.8.1

func (mr *MetricsReporter) Merge(other *livekit.MetricsBatch)

func (*MetricsReporter) Stop added in v1.8.1

func (mr *MetricsReporter) Stop()

type MetricsReporterConfig added in v1.8.1

type MetricsReporterConfig struct {
	ReportingIntervalMs uint32 `yaml:"reporting_interval_ms,omitempty" json:"reporting_interval_ms,omitempty"`
}

type MetricsReporterConsumer added in v1.8.1

type MetricsReporterConsumer interface {
	MetricsReporterBatchReady(mb *livekit.MetricsBatch)
}

type MetricsReporterParams added in v1.8.1

type MetricsReporterParams struct {
	ParticipantIdentity livekit.ParticipantIdentity
	Config              MetricsReporterConfig
	Consumer            MetricsReporterConsumer
	Logger              logger.Logger
}

Jump to

Keyboard shortcuts

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