Passer au contenu principal
Vous disposez de plusieurs options pour contrôler le niveau de Tracing de Weave dans votre application, selon votre environnement et vos besoins.

Variable d’environnement

Si vous souhaitez désactiver systématiquement le Tracing pour l’ensemble du programme, vous pouvez définir la variable d’environnement WEAVE_DISABLED=true. WEAVE_DISABLED n’est lue qu’une seule fois, au moment de la définition de la fonction. Cette variable ne peut pas être utilisée pour activer ou désactiver le Tracing à l’exécution.

Initialisation du client

Vous pouvez parfois vouloir activer Tracing de manière conditionnelle pour une initialisation donnée, selon certains critères. Dans ce cas, vous pouvez initialiser le client avec l’indicateur disabled dans les paramètres d’initialisation.
import weave

# Initialiser le client
client = weave.init(..., settings={"disabled": True})

Gestionnaire de contexte

Pour désactiver conditionnellement le tracing pour un bloc de code spécifique, vous pouvez utiliser un gestionnaire de contexte de tracing. Utilisez with tracing_disabled() pour désactiver le tracing uniquement pour les appels de fonction exécutés dans le bloc with. Utilisez-le dans le code de votre application pour délimiter les appels qui ne doivent pas être enregistrés.
import weave
from weave.trace.context.call_context import tracing_disabled

client = weave.init('your-team/your-project-name')

@weave.op
def my_op():
    ...

with tracing_disabled():
    my_op()
Bien que le comportement du tracing soit défini lorsque les fonctions sont déclarées, cela permet un contrôle à l’exécution lorsqu’il est combiné à la logique de l’application. Par exemple, vous pouvez placer le gestionnaire de contexte dans une condition afin d’activer ou de désactiver dynamiquement le tracing en fonction d’une valeur d’exécution :
if should_trace:
    my_op()
else:
    with tracing_disabled():
        my_op()