Перейти к содержанию

Начало работы

Это руководство поможет вам начать работу сLogfire. Вы узнаете, как установить Logfire, аутентифицировать локальную среду и использовать трекеры и диапазоны для обнаружения кода.

Монтаж

Чтобы установить последнюю версиюLogfire, запустите:

pip install logfire
rye add logfire 
poetry add logfire
conda install -c conda-forge logfire

Сертификация

Проверьте свою локальную среду с помощьюLogfire, выполнив следующую команду:

Logfire Проверка подлинности

Это откроет окно браузера для регистрации или входа на logfire.pydantic.dev. После успешной проверки подлинности учетные данные будут сохранены в ~/.logfire/default.toml.

Основные виды применения

Впервые используется в новой средеLogfireДля этого необходимо создать проект.Logfire.Проект представляет собой пространство имен, используемое для организации данных. Отправить вLogfire.Все эти данные должны быть связаны с проектом.

Для использованияLogfireдостаточно просто:

import logfire

logfire.configure()  # (1)!
logfire.info('Hello, {name}!', name='world')  # (2)!
  1. configure() должен быть вызван один раз перед входом в систему для инициализацииLogfire.

  2. Это будет записывать Hello world! с уровнем 信息.

!!!Внимание!

Также доступны другие уровни журнала [][logfire.Logfire], включая "trace","debug","notice","warn",
«Ошибация» и «смертельная».

Если у вас нет существующих учетных данных для проекта, будет предложено выбрать один из них или создать новый.

Terminal with prompt to create a project

Если у вас еще нет проектов, напишите “n” и “Enter”, чтобы создать новый проект.

Затем вам будет предложено выбрать организацию и дать название для нового проекта:

Terminal with prompt to create a project

Вы создали новый проект вLogfire!:p artying_face:

После завершения этой одноразовой настройкиLogfireбудет выполнять последующие работы Python из того же каталога, используя вновь созданные учетные данные проекта.

???Успешно «Вы также можете создавать проекты через веб-интерфейс...» Чтобы создать новый проект в пользовательском интерфейсе, выполните следующие действия:

1. используется в [Logfire Web UI](https://logfire.pydantic.dev).

![Интернет-интерфейс Logfire](../../图片/指南/browser-create-project.png)

2. Нажмите кнопку "Новый проект", заполните появившуюся форму и нажмите кнопку "Создать проект".

![Кнопка нового проекта](../../图片/指南/browser-create-project-button.png)

Вы создали новый проект в**Logfire**!: Очки:

???успешно «Вы также можете создавать проекты с помощью CLI...» Для получения дополнительной информации о том, как создавать проекты с помощью CLI, ознакомьтесь с документацией по CLI SDK.

После создания проекта следует увидеть:

Logfire project URL: https://logfire.pydantic.dev/dmontagu/my-project
19:52:12.323 Hello, world!

Logfireвсегда будет начинаться с URL-адреса, отображающего элементы, и (по умолчанию) также обеспечит базовое отображение журналов, отправленных в Logfire в терминале.

Hello World Screenshot

Отслеживание с помощью Span

С помощью диапазонов вы можете добавить контекст в журнал и измерить время выполнения кода. Несколько диапазонов объединяются в одну траекторию, которая дает полное представление о том, как проходит операция в системе.

from pathlib import Path
import logfire

cwd = Path.cwd()
total_size = 0

logfire.configure()

with logfire.span('counting size of {cwd=}', cwd=cwd):
    for path in cwd.iterdir():
        if path.is_file():
            with logfire.span('reading {file}', file=path):
                total_size += len(path.read_bytes())

    logfire.info('total size of {cwd} is {size} bytes', cwd=cwd, size=total_size)

В данном примере:

  1. Внешние измерения пролета вычисляют время для вычисления общего размера файла (cwd) в текущем каталоге.

  2. Внутренний пролет измеряет время чтения каждого отдельного файла.

  3. И наконец, записывайте общий размер.

Counting size of loaded files screenshot

Обнаружив код с помощью отслеживания и протяженности, вы можете увидеть время, затраченное на операции, выявить узкие места и получить расширенное представление о потоке запросов в системе, что ценно для поддержания производительности и надежности приложений.


本文总阅读量次