Starting impl Sentry and tracing #3
Reference in New Issue
Block a user
Delete Branch "tracing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@Herald
Review Feedback
4 issues found.
Summary
Les changements introduisent bien Sentry et le tracing, avec des bonnes pratiques comme l'initialisation conditionnelle, l'utilisation de
#[instrument], la limitation de concurrence et la capture d'erreurs. Cependant, plusieurs points méritent attention :sentry-actixà cause des features par défaut non désactivées.Il est recommandé de clarifier le choix du framework, désactiver les features par défaut de
sentry, et utiliser l'intégration Sentry pour capturer le corps des requêtes plutôt qu'une approche manuelle.Cost: $0.00412082
@@ -11,8 +11,14 @@ tokio-util = "0.7"futures-util = "0.3"serde_json = "1.0"serde = { version = "1.0", features = ["derive"] }sentry = { version = "0.48", features = ["tower-axum-matched-path"] }La dépendance
sentryest configurée avec la featuretower-axum-matched-path, mais le fichier Cargo.lock inclut égalementsentry-actix, ce qui suggère que les features par défaut ne sont pas désactivées. Pour éviter de tirer des dépendances inutiles (commeactix), il est recommandé d'ajouterdefault-features = false. Exemple :sentry = { version = "0.48", default-features = false, features = ["tower-axum-matched-path"] }.@@ -1,13 +1,19 @@use axum::body::{Bytes, to_bytes};use anyhow::anyhow;use axum::body::{Body, Bytes, to_bytes};Le fichier importe des éléments d'Axum, alors que le projet semble utiliser Actix-Web (présent dans Cargo.lock). Cette incohérence peut causer des erreurs de compilation ou des comportements inattendus. Vérifiez si le projet est en cours de migration vers Axum ou s'il s'agit d'une erreur. Dans tous les cas, un seul framework HTTP doit être utilisé.
@@ -63,2 +80,4 @@let body_bytes = read_body(req.into_body()).await?;let body_str = String::from_utf8_lossy(&body_bytes).into_owned();sentry::configure_scope(|scope| {Ajouter un event processor à chaque requête est problématique : les processors s'accumulent et ne sont jamais retirés, ce qui peut entraîner une fuite mémoire et une dégradation des performances. De plus, Sentry peut déjà capturer le corps de la requête si l'option
attach_request_bodyest activée dansClientOptions(ou via l'intégration tower). Il est préférable de configurer cela globalement plutôt que manuellement à chaque appel.@@ -95,2 +70,4 @@});}// Le channel est fermé : on attend que les tâches en cours se terminentLes commentaires sont en français, alors que le reste du code est en anglais. Pour la cohérence du projet, il est conseillé de rédiger tous les commentaires en anglais (ou dans une seule langue).