Aller au contenu

Remplir les données

Lorsque Logfire ne peut pas envoyer de journaux au serveur, il décharge les données sur le disque pour éviter la perte de données.

Logfire prend en charge le chargement en masse des données, à la fois pour importer des données d'autres systèmes et pour charger des données qui ont déjà été déversées sur le disque.

Pour remblayer les données, vous pouvez utiliser la commande logfire 回填:

$ logfire remblayage--help

Par défaut,logfire backfill lira à partir du fichier de repli par défaut, donc si vous essayez simplement de télécharger des données après une panne réseau, vous pouvez exécuter:

$ logfire remblayage

Batch Load données

Le même mécanisme peut être utilisé pour charger des données en masse, par exemple si vous importez des données d'un autre système.

Commencez par créer un fichier Dump:

from datetime import datetime

from logfire.backfill import Log, PrepareBackfill, StartSpan

with PrepareBackfill('logfire_spans123.bin') as backfill:
    span = StartSpan(
        start_timestamp=datetime(2023, 1, 1, 0, 0, 0),
        span_name='session',
        msg_template='session {user_id=} {path=}',
        service_name='docs.pydantic.dev',
        log_attributes={'user_id': '123', 'path': '/test'},
    )
    child = StartSpan(
        start_timestamp=datetime(2023, 1, 1, 0, 0, 1),
        span_name='query',
        msg_template='ran db query',
        service_name='docs.pydantic.dev',
        log_attributes={'query': 'SELECT * FROM users'},
        parent=span,
    )
    backfill.write(
        Log(
            timestamp=datetime(2023, 1, 1, 0, 0, 2),
            msg_template='GET {path=}',
            level='info',
            service_name='docs.pydantic.dev',
            attributes={'path': '/test'},
        )
    )
    backfill.write(child.end(end_timestamp=datetime(2023, 1, 1, 0, 0, 3)))
    backfill.write(span.end(end_timestamp=datetime(2023, 1, 1, 0, 0, 4)))

Cela créera un fichier 的logfire_spans123.bin contenant les données.

Utilisez ensuite 回填 Les outils de ligne de commande le chargent:

$ logfire backfill --file logfire_spans123.bin

本文总阅读量次