Lewati ke isi

Isi ulang data

Ketika Logfire tidak dapat mengirim log ke server, ia membuang data ke disk untuk menghindari kehilangan data.

Logfire mendukung pemuatan data batch, baik dengan mengimpor data dari sistem lain atau dengan memuat data yang telah dibuang ke disk.

Untuk mengisi ulang data, Anda dapat menggunakan perintah logfire 回填:

$logfire backfill --tolong

Secara default,logfire backfill Ini akan dibaca dari file fallback default, jadi jika Anda hanya mencoba mengunggah data setelah kegagalan jaringan, Anda dapat menjalankan:

$isi ulang logfire

data beban batch

Mekanisme yang sama juga dapat digunakan untuk memuat data dalam batch, misalnya, jika Anda mengimpor data dari sistem lain.

Pertama, buat file 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)))

Ini akan membuat file 的logfire_spans123.bin yang berisi data.

Kemudian gunakan alat baris perintah 回填 untuk memuatnya:

$ logfire backfill --file logfire_spans123.bin

本文总阅读量次