Weave envoie les données de trace dans des threads d’arrière-plan afin de minimiser l’impact sur les performances de votre application. Cependant, lorsque vous utilisez un système multiprocessus, une file d’attente de tâches ou des processus worker comme Celery, Weave perd des données de trace si le processus worker se termine avant que les threads d’arrière-plan n’aient fini d’envoyer les traces. Pour éviter la perte de données dans les processus worker, vous devez vous assurer que les envois en arrière-plan sont terminés en appelantDocumentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
client.flush() ou client.finish() avant la fin de la tâche du worker. Cela est utile lorsque vous travaillez dans des environnements éphémères comme AWS Lambda, Google Cloud Run ou des notebooks qui se ferment juste après l’exécution.
Ces méthodes ont des objectifs différents :
weave.flush(): Vidage simple et silencieux. Recommandé lorsque Weave est intégré à des processus worker ou à des environnements CI.weave.finish(): Inclut un suivi de progression avec une barre de progression ou des callbacks de statut. Recommandé pour les scripts ou notebooks interactifs.
client.finish() :
with pour appeler automatiquement weave.finish() à la fin du bloc :
weave.flush(). Voir Flushing pour en savoir plus.
Pour une protection supplémentaire contre la perte de données, envisagez d’activer le journal de préécriture, qui écrit les données de trace sur disque avant de les envoyer au serveur.
Données de trace Performances