WayrApp Backend & Ecosystem Documentation - v1.0.0
    Preparing search index...

    Module Performance

    Single-node performance monitoring and system health utilities for WayrApp backend.

    This module provides comprehensive performance tracking, system health monitoring, and database query optimization capabilities for the WayrApp language learning platform. It serves as the central observability layer, automatically tracking HTTP request metrics, monitoring system resources, and providing actionable performance recommendations. The module integrates seamlessly with Express middleware for automatic request tracking and exposes health check endpoints for container orchestration and monitoring systems.

    Key architectural components include real-time request performance tracking, system resource monitoring (memory, CPU, uptime), database connectivity health checks, cache performance analysis, and intelligent query optimization suggestions. The module supports both development debugging and production monitoring scenarios, with Prometheus-compatible metrics export for integration with monitoring infrastructure.

    Exequiel Trujillo

    1.0.0

    // Automatic request tracking via Express middleware
    import { performanceMiddleware, performanceMonitor } from '@/shared/utils/performance';
    app.use(performanceMiddleware(performanceMonitor));
    // Manual performance tracking and reporting
    import { performanceMonitor } from '@/shared/utils/performance';

    // Track individual requests
    performanceMonitor.trackRequest(250, false); // 250ms response, no error

    // Generate comprehensive performance report
    const report = await performanceMonitor.generateReport();
    console.log(`Average response time: ${report.requests.averageResponseTime}ms`);
    console.log('Recommendations:', report.recommendations);
    // System health monitoring for container orchestration
    import { healthChecks } from '@/shared/utils/performance';

    // Check overall system health (Kubernetes readiness probe)
    const systemHealth = await healthChecks.system();
    if (systemHealth.status === 'healthy') {
    console.log('All systems operational');
    }

    // Individual component health checks
    const dbHealth = await healthChecks.database();
    const cacheHealth = await healthChecks.cache();
    const memoryHealth = await healthChecks.memory();
    // Database query optimization analysis
    import { QueryOptimizer } from '@/shared/utils/performance';

    // Analyze individual queries for optimization opportunities
    const suggestions = QueryOptimizer.analyzeQuery('User', 'findMany', {
    skip: 1000,
    where: { email: 'user@example.com' }
    });

    // Generate index suggestions from query patterns
    const queryLog = [
    { model: 'User', operation: 'findMany', args: { where: { email: 'test@example.com' } } },
    { model: 'Course', operation: 'findMany', args: { orderBy: { createdAt: 'desc' } } }
    ];
    const indexSuggestions = QueryOptimizer.suggestIndexes(queryLog);

    Namespaces

    healthChecks

    Classes

    PerformanceMonitor
    QueryOptimizer

    Variables

    performanceMonitor

    Functions

    performanceMiddleware