Cloudflare a lancé la fonctionnalité Issues pour surveiller les erreurs au sein de Cloudflare Workers, actuellement disponible en version bêta ouverte. La fonctionnalité regroupe les échecs récurrents dans un seul problème, puis permet d’en envoyer les détails à un agent de programmation afin de poursuivre l’enquête, de proposer une correction et d’ouvrir une demande de fusion.
Cloudflare cible une lacune pratique dans le cycle de traitement des incidents de production : les agents sont capables d’interroger les données de surveillance, de naviguer dans un dépôt de code, d’écrire des tests et de modifier le code, mais la mise en relation de ces étapes nécessitait une intervention humaine pour rassembler les journaux et les traces et vérifier que plusieurs échecs provenaient du même incident.
Que surveille Issues ?
La fonctionnalité fonctionne depuis l’environnement Workers et ne nécessite ni l’installation d’un SDK ni l’ajout d’un wrapper à l’application. Après son activation, elle enregistre les exceptions non traitées, les appels ayant échoué, les réponses HTTP de classe 5xx, les sorties de console.log() et console.error(), ainsi que les journaux comprenant une pile d’appels. Elle détecte également les déclenchements répétés d’alertes et l’écriture de grandes quantités de journaux à l’intérieur de boucles.
Au lieu d’afficher chaque requête ayant échoué comme un cas distinct, Issues regroupe les erreurs similaires et indique le moment de leur première apparition, leur nombre d’occurrences et la question de savoir si leur fréquence augmente. Le problème, la pile d’appels lorsqu’elle est disponible, les journaux et les traces précédents et suivants, la version du Worker, les détails de la requête et l’évolution du problème au fil du temps sont affichés.
Ajouter le contexte de l’application à l’enquête
Les développeurs peuvent utiliser l’interface OpenTelemetry intégrée à l’environnement Workers pour joindre des identifiants tels que ceux de l’utilisateur, du compte et de la session. Ces données apparaissent avec chaque occurrence, ce qui aide à déterminer si l’incident est concentré sur un compte ou une session donnée avant son envoi à l’agent.
Du tableau de bord de surveillance à l’agent de programmation
Automation peut être configuré pour déclencher l’envoi lorsque le problème dépasse un seuil défini d’occurrences ou réapparaît après une période d’accalmie. Cloudflare prend en charge la connexion à Claude Code via un routine ID et un token, à Cursor via une adresse webhook, et à Devin via un API token et un identifiant d’organisation, en plus des webhooks génériques, des systèmes de discussion et des outils de gestion des incidents.
Le contexte envoyé comprend un résumé de l’échec, l’exception, la pile d’appels après sa mise en correspondance avec le code source, les journaux et les traces, la version du Worker et le contexte de l’application ajouté par le développeur. Pour mener une enquête plus approfondie, l’agent peut être connecté séparément à Cloudflare MCP afin d’interroger les journaux et les traces associés, de proposer des modifications du code et des tests, et d’ouvrir une demande de fusion.
Qu’est-ce qui change concrètement ?
Issues réduit les étapes manuelles entre la détection de l’incident et son enquête, mais ne rend pas la correction entièrement automatique. L’examen de la demande de fusion, le déploiement de la modification et le passage du problème à l’état résolu restent sous le contrôle de l’équipe. En outre, la qualité des résultats dépend du contexte ajouté par l’application ainsi que des paramètres d’exécution et des seuils choisis.
Cloudflare a testé la fonctionnalité sur Workflows, un composant pour les applications de longue durée et à plusieurs étapes construit sur Workers. En une seule journée, l’automatisation a aidé à détecter deux problèmes : une boucle de nouvelle tentative lors d’une migration dans le plan de contrôle, due à une erreur SQLite liée à la clé étrangère, et une opération de suppression qui n’a pas abouti en raison du dépassement de la limite des sous-requêtes dans Workers. L’automatisation a envoyé les deux problèmes à Cloudflare OS, qui a suivi les erreurs dans le code de Workflows et proposé deux corrections.
Pour commencer à utiliser la fonctionnalité, il faut activer observability.issues.enabled dans le fichier wrangler.jsonc, puis configurer la première Automation depuis le tableau de bord Cloudflare afin de choisir la destination du problème, qu’il s’agisse d’un agent, d’un webhook, d’un outil de gestion des incidents ou d’une plateforme de discussion.