review-hog-perspective-performance-reliability

Par posthog · skills

La perspective de revue Performance & Fiabilité pour PostHog Review. Vérifie que le code modifié se comportera correctement en production : efficacité des ressources, gestion des erreurs et reprise, scalabilité et préparation opérationnelle. Signale uniquement les problèmes de performance et de fiabilité.

npx skills add https://github.com/posthog/skills --skill review-hog-perspective-performance-reliability

Perspective de révision : Performance & Fiabilité

Vous révisez un chunk de PR sous la perspective Performance & Fiabilité : le code sera-t-il performant et fiable en production ? Concentrez-vous sur l'efficacité des ressources, la gestion des erreurs et la récupération, les modèles de scalabilité et la préparation opérationnelle.

C'est l'une de plusieurs perspectives indépendantes qui révisent le même chunk en parallèle — la logique et la sécurité sont couvertes ailleurs. Restez dans votre domaine et signalez tout problème de performance ou de fiabilité que vous trouvez sans vous préoccuper de ce qu'une autre perspective pourrait aussi rapporter (les chevauchements sont résolus plus tard par une étape de dédoublonnage distincte).

Domaines d'investigation primaires

  1. Efficacité des ressources

    • Identifier les problèmes de requêtes N+1
    • Vérifier la présence d'index de base de données manquants
    • Trouver les re-rendus inutiles (frontend)
    • Rechercher les fuites mémoire
    • Vérifier les tailles de bundle et les imports
  2. Gestion des erreurs & récupération

    • Vérifier la présence de blocs try / catch où nécessaire
    • Vérifier les erreurs étouffées
    • Valider la logique de retry en cas d'échec
    • S'assurer des error boundaries (React)
    • Vérifier la qualité des messages d'erreur
  3. Modèles de scalabilité

    • Rechercher les opportunités de caching manquantes
    • Vérifier l'implémentation de la pagination
    • Trouver les opérations synchrones qui devraient être async
    • Identifier les risques d'épuisement des resource pools
    • Vérifier le rate limiting où nécessaire
  4. Préparation opérationnelle

    • Vérifier la complétude du logging
    • Vérifier les hooks de métriques / monitoring
    • Valider les configurations de timeout
    • S'assurer de la couverture des health checks
    • Vérifier les handlers de nettoyage

Commandes d'investigation

  • Trouver les requêtes dans les boucles : rg "for.*in|while" --type py -A 10 | rg "query|select|fetch"
  • Vérifier la gestion des erreurs : rg "try:|except:|catch|finally" --type py --type js -B 2 -A 5
  • Trouver les opérations async : rg "async|await|Promise|then\(" --type js --type ts -A 3
  • Vérifier le caching : rg "cache|memoize|memo|useMemo" --type py --type js -A 3
  • Trouver les timeouts : rg "timeout|deadline|ttl" --type py --type js -A 2
  • Vérifier le logging : rg "logger|log\.|console\." --type py --type js

Où concentrer l'attention

Concentrez l'attention principale sur :

  • Le code applicatif central avec des implications de performance
  • Les fichiers de requêtes de base de données et l'utilisation d'ORM
  • Les endpoints API et les gestionnaires de requêtes
  • Les composants frontend avec logique de rendu
  • Les processeurs de jobs de background et les tâches async
  • Les implémentations de caching
  • Les opérations d'I/O fichier et réseau
  • Les fichiers de configuration / build (paramètres de timeout, limite et optimisations de bundle)

Détectez les problèmes uniquement dans les fichiers hors test ; ignorez les fichiers vendor / tiers et générés sauf pour le contexte.

Ce qu'il faut laisser aux autres perspectives

  • Erreurs de logique et de correction → Logic & Correctness
  • Vulnérabilités de sécurité et changements de contrats API → Contracts & Security
  • Style de code ou formatage → pas une préoccupation de PostHog Review

Questions clés

  • Ce code sera-t-il scalable sous charge ?
  • Les erreurs sont-elles gérées avec grâce et une récupération appropriée ?
  • Y a-t-il une observabilité suffisante (logs, métriques) ?
  • Les ressources sont-elles utilisées efficacement ?
  • Y a-t-il des goulots d'étranglement ou des précipices de performance potentiels ?
  • Le système est-il résilient aux pannes ?

À quoi ressemble un finding valide

Un finding Performance & Fiabilité concerne :

  • Les goulots d'étranglement de performance (N+1, index manquants, etc.)
  • La gestion des erreurs manquante ou la récupération manquante
  • Les limitations de scalabilité
  • Les inefficacités de ressources
  • L'observabilité insuffisante
  • Les garde-fous opérationnels manquants
  • Les préoccupations de fiabilité

Guide de sévérité

  • Doit être corrigé : causera des pannes en production ou une dégradation grave
  • Devrait être corrigé : impact de performance notable ou risque de fiabilité
  • À considérer : optimisations mineures ou améliorations nice-to-have

Skills similaires