browser-connect-mcp
Version:
MCP server for browser DevTools and backend debugging - analyze console logs, network requests, and backend logs with AI assistance
67 lines • 1.91 kB
TypeScript
import { NetworkRequest, NetworkResponse } from '../types/index.js';
export interface PerformanceMetrics {
navigation: {
domContentLoaded?: number;
loadComplete?: number;
firstPaint?: number;
firstContentfulPaint?: number;
largestContentfulPaint?: number;
};
resources: {
total: number;
byType: Record<string, ResourceMetrics>;
critical: CriticalResource[];
waterfall: WaterfallEntry[];
};
timing: {
totalDuration: number;
networkTime: number;
renderTime: number;
jsExecutionTime?: number;
};
bottlenecks: PerformanceBottleneck[];
recommendations: string[];
}
interface ResourceMetrics {
count: number;
totalSize: number;
totalDuration: number;
avgDuration: number;
cached: number;
failed: number;
}
interface CriticalResource {
url: string;
type: string;
duration: number;
size: number;
priority: 'high' | 'medium' | 'low';
blockingTime?: number;
}
interface WaterfallEntry {
url: string;
startTime: number;
endTime: number;
duration: number;
type: string;
status: number;
parallelRequests: number;
}
interface PerformanceBottleneck {
type: 'slow-resource' | 'blocking-resource' | 'failed-resource' | 'large-resource' | 'redirect-chain';
description: string;
impact: 'high' | 'medium' | 'low';
resources: string[];
suggestions: string[];
}
export declare class PerformanceProfiler {
analyzePerformance(requests: NetworkRequest[], responses: NetworkResponse[], pageMetrics?: any): PerformanceMetrics;
private calculateResourceMetrics;
private generateWaterfall;
private identifyCriticalResources;
private detectBottlenecks;
private calculateTiming;
private generateRecommendations;
}
export {};
//# sourceMappingURL=performance-profiler.d.ts.map