Pydantic Logfire 소개¶
Pydantic 뒤에 있는 팀의Logfire는 가장 강력한 도구를 사용하기 쉽다는 우리의 오픈 소스 라이브러리와 동일한 믿음을 기반으로 구축된 관찰 가능성 플랫폼입니다.
Logfire를 독특하게 만드는 이유:
- 는 간단하고 강력합니다.Logfire의 대시보드는 제공하는 기능에 비해 간단하므로 전체 엔지니어링 팀이 실제로 사용할 수 있습니다.
- 파이썬 중심의 통찰력:풍부한 파이썬 객체 디스플레이에서 이벤트 루프 원격 측정, 파이썬 코드 및 데이터베이스 쿼리 분석에 이르기까지 Logfire는 파이썬 애플리케이션의 동작에 대한 타의 추종을 불허하는 가시성을 제공합니다.
- SQL 형식:새로운 것을 배우지 않고 표준 SQL-모든 컨트롤을 사용하여 데이터를 쿼리합니다. 또한 SQL을 사용하면 기존 BI 도구 및 데이터베이스 쿼리 라이브러리를 사용하여 데이터를 쿼리할 수 있습니다.
- OpenTelemetry:Logfire는 기존 도구, 인프라 및 도구를 활용하여 많은 공통 파이썬 패키지를 개발하고 거의 모든 언어를 지원할 수 있는 OpenTelemetry용 독선적인 래퍼입니다.
- Pydantic 통합:는 Pydantic 모델을 통해 흐르는 데이터를 이해하고 검증을 위해 내장 분석을 제공합니다.
Pydantic Logfire는 더 적은 코드, 더 적은 시간, 더 나은 이해로 애플리케이션을 테스트할 수 있도록 도와줍니다.
존재_스택 추적_에서 바늘 찾기¶
우리는 파이썬과 그 특징들을 이해합니다. 파이썬 개발자들이 파이썬 개발자들을 위해 만든 파이썬 로그파이어는 파이썬 환경의 고유한 도전과 기회를 해결하도록 설계되었습니다. 단순히 데이터를 소유하는 것이 아니라 소유하는 것입니다._정답_데이터는 파이썬 애플리케이션에 의미 있는 방식으로 제공됩니다.
파이썬의 정신으로
- 간단하고 강력한: Pydantic 라이브러리의 철학을 모방한 Pydantic Logfire는 전문가가 요구하는 깊이를 제공하면서 초보자에게 직관적인 출발점을 제공합니다. 사용 편의성, 복잡성 및 생산성 사이에서 동일한 균형을 이루며 관찰 가능성을 위해 다시 상상되었습니다.
- 는 Python 및 Pydantic에서 태어났습니다. 크리에이터가 Python 오픈 소스 에코시스템에 몰두하면서 Pydantic Logfire를 설계하여 Python 및 Pydantic의 뉘앙스와 긴밀하게 통합하여 범용 관찰 플랫폼보다 더 많은 사용자 지정을 제공합니다. 경험.
将数据提升为见解
- ****를 통한* Deep Python 통합, Pydantic Logfire는 최소한의 수동 노력으로 코드를 자동으로 감지하고 비동기 코드에 대한 탁월한 통찰력을 제공하며 상세한 성능 분석을 제공하며 인터프리터와 동일합니다. 기존 Pydantic 사용자에게는 Pydantic 모델을 사용하는 방법에 대한 탁월한 통찰력을 제공합니다.
- 구조화된 데이터 및 직접 SQL 액세스는 Pandas, SQLAlchemy 또는
psql와 같은 친숙한 도구를 쿼리에 사용할 수 있음을 의미하며 BI 도구와 원활하게 통합되며 AI 생성을 활용할 수도 있습니다. SQL. 파이썬 개체와 구조화된 데이터를 쿼리에 사용할 수 있는지 확인합니다. 플랫폼 전체의 쿼리 언어로 바닐라 포스트그레를 사용하면 일관되고 강력하며 유연한 쿼리 환경을 보장합니다. - 는를 통해 OpenTelemetry를 활용하고 PydanticLogfire는 인기 있는 Python 패키지에 대한 자동 탐지를 제공하며 언어 간 데이터 전송 서비스를 지원하며 OpenTelemetry-compatible 백엔드 또는 프록시로 데이터 내보내기를 지원합니다.
Pydantic Logfire: 당신이 마땅히 받아야 할 관찰 가능성 플랫폼¶
Pydantic Logfire는 창고에 있는 또 다른 도구 그 이상입니다. 파이썬 개발자를 위해 파이썬 개발자가 세심하게 만든 맞춤형 솔루션으로 개발 노력이 파이썬 자체만큼이나 부드럽고 효율적입니다.
최소한의 스크립팅에서 대규모 배포에 이르기까지 Pydantic Logfire는 여러분이 기다려온 관찰 가능성 솔루션입니다.
간단하고 강력한: 로켓: {#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)의调试레벨.
이것은 단순한 로깅과 비슷해 보일 수 있지만 훨씬 더 강력합니다.
- 로그의 구조화된 데이터
- 보고 있는 콘텐츠를 컨텍스트에 배치하기 위한 중첩 로그/추적
- 구성 없이 데이터를 볼 수 있는 사용자 지정 플랫폼
- 그리고 파이썬 개체의 멋진 디스플레이와 같은 훨씬 더 많은 것 - 아래 참조
주의
탐지할 기존 응용 프로그램이 있는 경우 처음에 코드에 추가하십시오. logfire.* 전화하기 전에 당신은 할 것입니다OTel 통합 구성그것에서 가장 큰 가치를 얻으십시오.
파이썬과 피단틱 인사이트: 뱀: {#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 유효성 검사가 Logfire에 기록됩니다.
여기에서 Pydantic 플러그인에 대해 자세히 알아보십시오.
후드 아래의 OpenTelemetry: 망원경:{#otel}
피단틱 로그파이어 기반 OpenTelemetry 다음을 포함하여 광범위한 기존 도구 및 인프라를 사용할 수 있도록 구축되었습니다.많은 일반적인 파이썬 패키지 감지...
예를 들어 코드 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를 사용하여 Fast API 애플리케이션을 감지하는 데 필요한 전부이며 대부분의 다른 인기 있는 Python 웹 프레임워크에도 동일하게 적용됩니다.
-
"통합"페이지에는 응용 프로그램의 다른 부분을 감지하는 방법에 대한 자세한 정보가 포함되어 있습니다.
FastAPI conrib 패키지, FastAPI 자체 및 uvicorn을 설치하여 실행해야 합니다.
pip install 'logfire[fastapi]' fastapi uvicorn # (1)!
uvicorn fastapi_example:app # (2)!
-
'파사피' 엑스트라, FastAPI 및 uvicorn과 함께 'logfire' 패키지를 설치합니다.
-
uvicorn으로 Fast API 애플리케이션을 실행합니다.
이렇게 하면 HTTP 요청에 대한 정보와 성공적인 입력 유효성 검사 결과에 대한 세부 정보가 제공됩니다.
실패한 입력 유효성 검사의 세부 정보:
구조화된 데이터 및 SQL: 주판: {#sql}
새로운 것을 배우지 않고 순수 사양 Postgres SQL-모든 제어로 데이터를 쿼리합니다. 기본 Postgres 데이터베이스에 대한 직접 액세스 권한도 제공하므로 원하는 Postgres 호환 도구로 Logfire를 쿼리할 수 있습니다.
여기에는 Superset, Grafana 및 Google Looker Studio와 같은 대시보드 구축 플랫폼이 포함됩니다. 판다,SQLAlchemy 짝수 psql...
가장 널리 사용되는 SQL 데이터베이스를 사용할 때의 주요 이점 중 하나는 ChatGPT와 같은 생성 AI 도구가 사용자를 위해 SQL을 작성하는 데 탁월하다는 것입니다.
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'
本文总阅读量次






