workers-profiling

Par cloudflare · skills

Profilez ou déboguez l'utilisation du CPU et l'allocation mémoire dans vos Cloudflare Workers et Durable Objects déployés. Utilisez ensuite ces informations pour optimiser votre code.

npx skills add https://github.com/cloudflare/skills --skill workers-profiling

Profiling Workers

Trouvez les fonctions coûteuses ou les allocations mémoire dans le code déployé et proposez des solutions pour les corriger.

Récupérez la documentation

Commencez par le guide de profiling en production pour comprendre le fonctionnement du profiling de Workers et Durable Objects.

Étapes du profiling

  1. Identifiez le symptôme et la charge de travail affectée : utilisation CPU, latence, pression d'allocation ou croissance mémoire.
  2. Confirmez avec l'utilisateur le compte, le Worker, l'environnement et la version déployée.
  3. Pour un Durable Object, confirmez également le Worker propriétaire, l'espace de noms et l'instance.
  4. Choisissez le profiling CPU ou heap parmi les types et significations supportés du guide actuel.

Si possible, utilisez la cf CLI pour capturer les profils. Si l'utilisateur demande cf, inspectez l'aide de commande et le schéma de la version installée le cas échéant.

Si cf n'est pas disponible, envisagez de proposer à l'utilisateur de l'installer.

L'API de profiling retournera un fichier pprof que vous pouvez analyser directement ou avec des outils appropriés comme l'utilitaire pprof de Go.

Inspectez les preuves

  • Lisez le fichier pprof et analysez-le pour identifier les points chauds
  • Mappez les points chauds aux fonctions et emplacements source quand les preuves le supportent ; signalez les symboles ou mappages source manquants.
  • Si les noms de fichiers et de fonctions pointent vers le JavaScript généré, envisagez de suggérer à l'utilisateur d'activer les source maps et de refaire le profiling.

Optimisez

Proposez la plus petite modification de code supportée par la capture qui résout les problèmes identifiés.

Rapportez les résultats

Retournez un rapport concis contenant :

  • Les preuves pour chaque constatation : fichier, fonction, emplacement source et métrique avec unités, le cas échéant.
  • La plus petite modification actionnable et comment vérifier son effet.

Skills similaires