UNPKG

lightweight-browser-load-tester

Version:

A lightweight load testing tool using real browsers for streaming applications with DRM support

97 lines (96 loc) 2.53 kB
import { TestResults, BrowserMetrics, DRMMetrics, NetworkMetrics, ErrorLog, PrometheusConfiguration } from '../types/index'; /** * Configuration for report generation */ export interface ReportConfig { outputPath?: string; formats: ('html' | 'json' | 'csv')[]; includeDetailedMetrics?: boolean; includeErrorAnalysis?: boolean; } /** * Aggregates test results from multiple browser instances and generates reports */ export declare class ResultsAggregator { private testResults; private startTime; private endTime?; private prometheusExporter?; constructor(prometheusConfig?: PrometheusConfiguration); /** * Add browser metrics from a single instance */ addBrowserMetrics(metrics: BrowserMetrics): void; /** * Add DRM metrics */ addDRMMetrics(metrics: DRMMetrics): void; /** * Add network metrics */ addNetworkMetrics(metrics: NetworkMetrics[]): void; /** * Add error log entry */ addError(error: ErrorLog): void; /** * Finalize test results and calculate summary statistics */ finalize(): void; /** * Get the aggregated test results */ getResults(): TestResults; /** * Shutdown the aggregator and flush any remaining Prometheus metrics */ shutdown(): Promise<void>; /** * Generate reports in specified formats */ generateReports(config: ReportConfig): Promise<void>; /** * Calculate summary statistics from collected metrics */ private calculateSummary; /** * Generate JSON report */ private generateJSONReport; /** * Generate HTML report */ private generateHTMLReport; /** * Generate CSV report */ private generateCSVReport; /** * Generate HTML content for the report */ private generateHTMLContent; /** * Generate browser metrics section for HTML report */ private generateBrowserMetricsHTML; /** * Generate DRM metrics section for HTML report */ private generateDRMMetricsHTML; /** * Generate error analysis section for HTML report */ private generateErrorAnalysisHTML; /** * Generate summary CSV content */ private generateSummaryCSV; /** * Generate network metrics CSV content */ private generateNetworkMetricsCSV; /** * Generate browser metrics CSV content */ private generateBrowserMetricsCSV; } //# sourceMappingURL=results-aggregator.d.ts.map