Logfire: Простая наблюдаемость для приложений на Python

В моей предыдущей статье о Pydantic я познакомил вас с Logfire в одном из примеров кода как с платформой наблюдаемости, предназначенной для предоставления разработчикам информации о Python-приложениях. В этой статье вы глубже погрузитесь в Logfire и его возможности, которые в конечном итоге упростят ваше путешествие по наблюдаемости от трассировки до отладки и логирования.

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

Ключевые особенности

Бесшовная интеграция

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

Интеграция с Pydantic

Logfire предлагает исключительную интеграцию с моделями Pydantic. Это позволяет разработчикам получать беспрецедентные сведения о валидации данных и использовании моделей на протяжении всего их приложения.

Автоматическая инструментализация

Logfire может автоматически инструментировать популярные библиотеки и фреймворки, уменьшая необходимость в ручном логировании и трассировке. Эта функция экономит время и обеспечивает полное покрытие поведения приложения.

Совместимость с OpenTelemetry

Построенный на базе OpenTelemetry, Logfire обеспечивает совместимость со стандартами отрасли и позволяет выбирать гибкие параметры экспорта данных.

Предварительные требования

  1. Войдите в систему под учетной записью Logfire.
  2. Следуйте инструкциям для создания своей учетной записи. Эта учетная запись поможет вам организовать ваши проекты.
  3. Из вашей организации перейдите к новому проекту, чтобы создать свой первый проект.


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

Чтобы начать использовать Logfire, следуйте этим простым шагам:

Шаг 1. Установите пакет Logfire с помощью указанной ниже команды. Если вы используете блокнот Jupyter, выполните команду !pip install logfire.

Shell

 

Installing LogFire

Шаг 2. Аутентифицируйтесь в службе Logfire. Это откроет браузер и запросит учетные данные для входа в logfire.

Shell

 

Authentication with LogFire

3. Настройте Logfire в своем приложении. После установки пакета вам необходимо использовать указанные ниже команды для настройки logfire.

Python

 

Вы можете следовать этим шагам в рамках настройки вашего проекта:

Project setup

Основное использование

Span в Logfire является важным строительным блоком трассировки. Вы можете определить span с помощью logfire.span. В приведенном ниже примере внешний span устанавливает тему — день рождения пользователя. Пользователя попросят указать свой день рождения и зафиксировать его через терминал или командную строку. Пространство захватывает введенную дату рождения пользователя.

Вот простой пример того, как использовать Logfire для ручного трассирования:

Python

 

Logfire project showing spans

Если вы не видите вывод DEBUG, нажмите на Фильтр локальных данных –> Уровни –> debug.

Интеграция с Pydantic

Как обсуждалось в моей предыдущей статье, основная функция Pydantic заключается в валидации данных. Он использует подсказки типов Python для автоматической проверки структуры и типов данных. Когда вы определяете модель Pydantic, каждое поле аннотируется ожидаемым типом. Затем Pydantic гарантирует, что любые данные, присвоенные этим полям, соответствуют указанным типам.

Интеграция Logfire с Pydantic особенно мощная. Вот как вы можете использовать ее для логирования валидаций моделей Pydantic:

Python

 

Эта конфигурация автоматически будет логировать детали о всех валидациях моделей Pydantic, предоставляя ценную информацию о обработке данных в вашем приложении.

Интеграции с фреймворками

Logfire предлагает интеграции с популярными фреймворками и библиотеками Python. Для примера кода на Python ниже вам нужно предоставить ключ API OpenAI и установить необходимые пакеты (FASTAPI, instructor, OpenAI и т. д.).

Для начала, FastAPI — это веб-фреймворк Python, который помогает разработчикам создавать интерфейсы программирования приложений (API). FastAPI известен своей масштабируемостью, простотой использования и высокой производительностью.

OpenAI API helps AI enthusiasts access large language models (LLMs) like GPT-3 via an API request. This helps developers to integrate cutting-edge AI capabilities into their applications, enabling tasks like text generation, image creation, code writing, and more through simple API calls.

Instructor — это пакет Python, который помогает легко извлекать структурированные данные, такие как JSON, из вывода LLMs.

Вот пример того, как интегрировать Logfire с FastAPI, OpenAI API и Instructor:

Python

 

Эта настройка обеспечивает всестороннее логирование запросов FastAPI, вызовов OpenAI API и валидаций моделей Pydantic, предлагая целостный взгляд на поведение вашего приложения.

Logfire showing the quota exceeded error information

Заключение

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

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

Source:
https://dzone.com/articles/logfire-uncomplicated-observability-for-python-app