Zum Inhalt

Daten nachfüllen.

Wenn Logfire keine Protokolle an den Server senden kann, speichert es Daten auf der Festplatte, um Datenverluste zu vermeiden.

Logfire unterstützt das Laden von Daten in großen Mengen, sowohl beim Importieren von Daten aus anderen Systemen als auch beim Laden von Daten, die bereits auf Festplatten gespeichert wurden.

Zum Auffüllen Ihrer Daten können Sie den Befehl logfire 回填 verwenden:

$logfire---Hilfe

Standardmäßig liest logfire backfill aus der Standard-Fallbackdatei, so dass Sie, wenn Sie nur versuchen, Daten nach einem Netzwerkfehler hochzuladen, Folgendes ausführen können:

$logfire löschen

Masse an Daten aufladen

Der gleiche Mechanismus kann auch für das Laden von Daten in großen Mengen verwendet werden, beispielsweise wenn Sie Daten von einem anderen System importieren.

Zuerst wird ein Speicher-Dokument erstellt:

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)))

Dadurch wird eine 的logfire_spans123.bin-Datei erstellt, die die Daten enthält.

Dann laden Sie es mit dem 回填-Befehlszeilenprogramm:

$ logfire backfill --file logfire_spans123.bin

本文总阅读量次