Versions in this module Expand all Collapse all v0 v0.17.5 Oct 17, 2026 v0.17.4 Oct 17, 2026 Changes in this version + var Clients = []string + var SFUs = pluginIDs() + func AppendTrial(dir string, trial Trial) error + func BrowserURL(c Cluster, t Topology, cell Cell, mode string) string + func LoadHints(path, mode string) (map[string]int, error) + func SaveHints(path, mode string, report Report) error + type Analysis struct + Best map[string]int + Experiments int + Failures []Trial + func Analyze(reader io.Reader) (Analysis, error) + func (a Analysis) Print(w io.Writer) error + type Attempt struct + Load int + Passed bool + type Bounds struct + Hint int + Max int + Min int + type Cell struct + Client string + SFU string + func ParseCells(value string) ([]Cell, error) + func (c Cell) Key() string + type Cluster struct + BinariesDir string + BrowserImage string + Cores string + DataIPs map[string]string + DurationSeconds int + HealthyFraction float64 + IVFDir string + InitialHi map[string]int + MinBitrate float64 + MinFPS float64 + NICMbps float64 + RTCBenchImage string + Receivers Hosts + RemoteIVF string + SFU Hosts + SSHKey string + SSHUser string + SampleSeconds int + Sender string + Senders Hosts + StartLeadSeconds int + StartupSeconds int + TeardownSeconds int + VideoMbps float64 + VideoPath string + Viewer string + WarmupSeconds int + func ParseCluster(data string) (Cluster, error) + func (c Cluster) DataIP(host string) string + func (c Cluster) Hosts() []string + type Hosts = benchmark.Hosts + type JanusConfig = janusbench.Config + type JitsiConfig = jitsibench.Config + type LiveKitConfig = livekitbench.Config + type MediasoupConfig = mediasoupbench.Config + type Observation struct + At time.Time + Host string + Quality Quality + type Options struct + Directory string + Execute TrialExecutor + ID string + Log io.Writer + Remote Remote + Update func(Report) error + type Quality struct + Expected int + Fraction float64 + Healthy int + MinBitrate float64 + MinFPS float64 + Passed bool + Reason string + Reported int + func NativeQuality(reader io.Reader, expected int, cfg Cluster, since float64) (Quality, error) + type Remote interface + Run func(context.Context, string, string) (string, error) + Write func(context.Context, string, string, []byte) error + type Report struct + Phase string + Results map[string]SearchResult + Simulated bool + Trials []Trial + func Run(ctx context.Context, request Request, options Options) (Report, error) + type Request struct + Bounds Bounds + Cells []Cell + ClusterYAML string + DryRun bool + Hints map[string]int + Mode string + Name string + Provision bool + Repetitions int + UploadAssets bool + func (r Request) Validate() (Cluster, error) + type RoomGroup struct + Offset int + Rooms int + Users int + type SSH struct + Key string + User string + func (s SSH) Run(ctx context.Context, host, command string) (string, error) + func (s SSH) Stream(ctx context.Context, host, command string, output io.Writer) error + func (s SSH) Upload(ctx context.Context, host, destination string, content io.Reader, ...) error + func (s SSH) Write(ctx context.Context, host, path string, data []byte) error + type SearchResult struct + Attempts []Attempt + Best int + CeilingReached bool + Complete bool + Limit int + LimitReason string + func Search(ctx context.Context, bounds Bounds, ...) (SearchResult, error) + type Topology struct + ExpectedStreams int + Groups []RoomGroup + Load int + Observer string + PerRoom int + Rooms int + SFUIP string + TotalReceivers int + TotalSenders int + Workers []string + func Layout(c Cluster, mode, sfu string, load int) (Topology, error) + type Trial struct + Artifacts string + EndedAt time.Time + Error string + Load int + Passed bool + Reason string + Repeat int + Repetitions int + Samples []Observation + StartedAt time.Time + Topology Topology + type TrialExecutor func(context.Context, TrialSpec) (Trial, error) + type TrialSpec struct + Directory string + RemoteDirectory string + Repeat int + Topology Topology