Gegevens aanvullen¶
Wanneer Logfire niet in staat is om logs naar de server te sturen, dumpt het de gegevens naar de schijf om gegevensverlies te voorkomen.
Logfire ondersteunt het batchladen van gegevens, hetzij door gegevens van andere systemen te importeren of door gegevens te laden die op schijf zijn gedumpt.
Om de gegevens aan te vullen, kunt u het logfire 回填-commando gebruiken:
$logfire vulling --help
Standaard leest logfire backfill uit het standaard fallback-bestand, dus als u alleen probeert gegevens te uploaden na een netwerkstoring, kunt u het volgende uitvoeren:
$logfire-aanvulling
gegevens voor batchbelasting¶
Hetzelfde mechanisme kan ook worden gebruikt om gegevens in batches te laden, bijvoorbeeld als u gegevens uit een ander systeem importeert.
Maak eerst een dumpbestand aan:
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)))
Hiermee wordt een 的logfire_spans123.bin-bestand gemaakt met de gegevens.
Gebruik vervolgens het opdrachtregelprogramma 回填 om het te laden:
$ logfire backfill --file logfire_spans123.bin
本文总阅读量次