metric

package
v1.8.2 Latest Latest
Warning

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

Go to latest
Published: Jan 6, 2025 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