Скачать Pydantic Logfire¶
Logfireот команды Pydantic является платформой для наблюдения, основанной на той же убежденности, что и наша библиотека с открытым исходным кодом, что самые мощные инструменты могут быть простыми в использовании.
Особенности Logfire:
- прост и мощный: панель управленияLogfire проста по сравнению с функциями, которые он предлагает, чтобы вся команда инженеров действительно использовала его.
- Взгляд на Python:От богатого отображения объектов Python до телеметрии цикла событий и анализа кода Python и запросов базы данных, Logfire предлагает вам непревзойденную видимость поведения приложений Python.
- SQL формат:использует стандартный SQL для запроса данных-все элементы управления и (для многих) не требуют новых знаний. Использование SQL также означает, что вы можете запрашивать данные с помощью существующих инструментов BI и базы данных.
- OpenTelemetry:Logfire-это самоуверенный упаковочный пакет для OpenTelemetry, который позволяет использовать существующие инструменты, инфраструктуру и инструменты для разработки множества распространенных пакетов Python и поддерживает практически любой язык. Интеграция* Pydantic:изучает данные, проходящие через Pydantic модель, и получает встроенную аналитику для проверки подлинности.
Pydantic Logfire поможет вам обнаружить ваши приложения с меньшим количеством кода, меньшим количеством времени и лучшим пониманием.
Найти иглу в_стеке отслеживания_¶
Мы понимаем Python и его особенности. Pydantic Logfire был разработан разработчиками Python для разработчиков Python, чтобы решать уникальные проблемы и возможности среды Python. Это не просто хранение данных; речь идет о том, чтобы иметь правильные данные__для их представления в реальных приложениях Python.
В духе Python.
- Простой и мощный. Следуя философии Pydantic Library, Pydantic Logfire предлагает новичкам интуитивно понятную отправную точку и глубину, необходимую экспертам. Она обеспечивает такой же баланс между простотой использования, сложностью и производительностью, и была переработана для обеспечения наблюдаемости.
- родился на Python и Pydantic: по мере того как создатели погружаются в экосистему Python с открытым исходным кодом, мы разработали Pydantic Logfire, чтобы интегрировать его в тонкости Python и Pydantic, обеспечивая более индивидуальный опыт, чем платформа универсальной наблюдаемости.
Превращение данных в идеи
- Принят Глубокая интеграция с Python Pydantic Logfire автоматически обнаруживает ваш код, обеспечивает превосходное понимание асинхронного кода с минимальными ручными нагрузками, детальный анализ производительности и отображает объекты Python так же, как и интерпретатор. Для существующих пользователей Pydantic он также предоставляет непревзойденное понимание использования модели Pydantic.
- Структурированные данные и прямой доступ к SQL означает, что вы можете использовать знакомые инструменты Запросы (например, Pandas, SQLALchemy или
psql) легко интегрируются с инструментами BI и даже могут генерировать SQL с помощью ИИ, чтобы ваши объекты Python и структурированные данные были доступны для запросов. Использование vanilla PostgreSQL в качестве языка запросов на всей платформе обеспечивает последовательный, мощный и гибкий опыт выполнения запросов. - Принят Использование OpenTelemetry, Pydantic Logfire обеспечивает автоматическое обнаружение популярных пакетов Python, поддерживает межязычную интеграцию данных и поддерживает экспорт данных в любой бэкэнд или прокси, совместимый с OpenTelemetry.
Pydantic Logfire: платформа для наблюдения, которую вы заслуживаете¶
Pydantic Logfire-это не просто еще один инструмент в лаунте; это специально разработанное решение для разработчиков Python, которое гарантирует, что ваша работа будет такой же плавной и эффективной, как и сам Python.
От самых маленьких скриптов до крупномасштабных развертываний, Pydantic Logfire-это решение для обеспечения наблюдаемости, которого вы ждали.
Простой и мощный: rocket: {#simplicity}
Pydantic Logfireдолжен быть очень простым и простым в использовании:
pip install logfire # (1)!
logfire auth # (2)!
-
Pydantic LogfireSDK можно установить с PyPI или Conda, а узнать больше о.
-
SDK поставляется с CLI для аутентификации и т. д. Для получения дополнительной информации
Затем в вашем коде:
import logfire
from datetime import date
logfire.configure() # (1)!
logfire.info('Hello, {name}!', name='world') # (2)!
with logfire.span('Asking the user their {question}', question='age'): # (3)!
user_input = input('How old are you [YYYY-mm-dd]? ')
dob = date.fromisoformat(user_input) # (4)!
logfire.debug('{dob=} {age=!r}', dob=dob, age=date.today() - dob) # (5)!
-
Это будет записывать
Hello world!с уровнем信息.name='world'будет храниться как свойство, которое может использоваться для SQL-запросов. -
Промежуточные интервалы позволяют вложить другие вызовы Logfire, а также измерить время, необходимое для запуска кода. Они являются основной частью следа!
-
Попробуйте извлечь дату из пользовательского ввода. Если возникает какое-либо исключение, внешний диапазон будет содержать сведения об исключении.
-
Например, это записывает
dob=2000-01-01 age=datetime.timedelta(days=8838)В.调试Уровень.
Это может выглядеть как простой журнал, но он намного мощнее-вы можете получить:
- Структурированные данные в журналах
- Вложенные журналы/трекеры для размещения просматриваемого содержимого в контексте
- Индивидуальная платформа для просмотра ваших данных без настройки
- и многое другое, например, красивое отображение объектов Python-см. ниже
Внимание
Если у вас есть существующие приложения, которые вы хотите обнаружить, прежде чем начать добавлять вызов logfire.* в код, вы получите максимальную ценность от конфигурации Otel интеграции.
Python и Pydantic Insights: snake: {#python}
От богатого отображения объектов Python до телеметрии цикла событий и анализа кода Python, Pydantic Logfire дает вам более четкое представление о том, как работает Python, чем любой другой инструмент для наблюдения.
Logfire также имеет встроенную интеграцию с Pydantic, которая позволяет вам понять данные, полученные через Pydantic модели, и получить проверенный анализ.
Мы можем напрямую записать Pydantic модель:
from datetime import date
import logfire
from pydantic import BaseModel
logfire.configure()
class User(BaseModel):
name: str
country_code: str
dob: date
user = User(name='Anne', country_code='USA', dob='2000-01-01')
logfire.info('user processed: {user!r}', user=user) # (1)!
- это покажет
用户处理的:User(name='Anne', country_code='US', dob=datetime.date(2000, 1, 1))), но также позволит вам увидеть «хороший» вид модели на платформе Logfire.
Кроме того, мы можем автоматически записывать информацию о проверке:
from datetime import date
import logfire
from pydantic import BaseModel
logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record='all')) # (1)!
class User(BaseModel):
name: str
country_code: str
dob: date
User(name='Anne', country_code='USA', dob='2000-01-01') # (2)!
User(name='Ben', country_code='USA', dob='2000-02-02')
User(name='Charlie', country_code='GBR', dob='1990-03-03')
-
Эта конфигурация означает, что будут записываться подробные сведения о всех проверках Pydantic модели. Вы также можете записывать только сведения о неудачах аутентификации или только индикаторы; см. документацию по плагину Pydantic.
-
Так как мы включили плагин Pydantic, все проверки Pydantic будут записаны в Logfire.
Узнайте здесь о плагинах Pydantic Больше информации.
OpenTelemetry под капотом: телескоп:{#otel}
Поскольку Pydantic Logfire На основе OpenTelemetry Построен так, что вы можете использовать множество существующих инструментов и инфраструктуры, в том числе Обнаружение многих распространенных пакетов Python。
Например, нам нужно всего 2 строки кода, чтобы обнаружить простое приложение FastAPI:
from datetime import date
import logfire
from pydantic import BaseModel
from fastapi import FastAPI
app = FastAPI()
logfire.configure()
logfire.instrument_fastapi(app) # (1)!
# next, instrument your database connector, http library etc. and add the logging handler (2)
class User(BaseModel):
name: str
country_code: str
dob: date
@app.post('/')
async def add_user(user: User):
# we would store the user here
return {'message': f'{user.name} added'}
- Кроме Настройка Logfire Кроме того, эта строка обычно используется для обнаружения всего, что требуется для приложений FastAPI с помощью Logfire, что также относится к большинству других популярных веб-фреймворков Python.
Страница2. «интеграция» содержит дополнительную информацию о том, как обнаружить другие части приложения.
Нам нужно установить FastAPI contrib пакет, сам FastAPI и uvicorn, чтобы запустить его:
pip install 'logfire[fastapi]' fastapi uvicorn # (1)!
uvicorn fastapi_example:app # (2)!
-
Установите пакет logfire с 'fastapi' extra, FastAPI и uvicorn.
-
Запустите приложение FastAPI с помощью uvicorn.
Это предоставит вам информацию о HTTP-запросе и подробную информацию о результатах проверки успешного ввода:
и сведения о неудачной проверке ввода:
Структурированные данные и SQL: abacus: {#sql}
Запрашивайте данные с помощью чисто стандартизированной Postgres SQL-полный контроль, и (для многих) не нужно изучать ничего нового. Мы даже предоставляем прямой доступ к базовой базе данных Postgres, что означает, что вы можете запросить Logfire с помощью любого из ваших любимых Postgres совместимых инструментов. К ним относятся платформы для создания панелей, такие как Superset, Grafana и Google Looker Studio, а такжеPandas,SQLamlchemyи даже psql.
Одним из преимуществ наиболее широко используемых баз данных SQL является то, что генерирующие инструменты ИИ, такие как ChatGPT, отлично подходят для написания SQL для вас.
Просто включите свой объект Python в вызовLogfire(список, словарь, класс данных, модель Pydantic, кадр данных и т. д.), и он будет доступен в качестве структурированных данных на нашей платформе.
Например, используя данные из вышеупомянутой модели 用户, мы можем перечислить пользователей из США:
SELECT attributes->'result'->>'name' as name, age(attributes->'result'->>'dob') as age
FROM records
WHERE attributes->'result'->>'country_code' = 'USA'
Вы также можете отфильтровать, чтобы в режиме реального времени отображались только связанные с американскими пользователями треки.
attributes->'result'->>'country_code' = 'USA'
本文总阅读量次






