Inleiding tot Pydantic Logfire¶
Logfire, van het team achter Pydantic, is een observatieplatform dat is gebouwd op dezelfde overtuiging als onze open-sourcebibliotheken - dat de krachtigste tools gemakkelijk te gebruiken kunnen zijn.
Wat Logfire uniek maakt:
- is eenvoudig en krachtig: het dashboard vanLogfire is eenvoudig in verhouding tot de functies die het biedt, zodat uw hele technische team het daadwerkelijk zal gebruiken.
- Python-centrische inzichten:Van rijke Python-objectweergave tot telemetrie van gebeurtenislus tot het analyseren van Python-code en databasequery 's, Logfire biedt u ongeëvenaard inzicht in het gedrag van Python-applicaties.
- SQL-formaat:vraagt gegevens op met behulp van standaard SQL - alle besturingselementen en (voor veel mensen) hoeft u niets nieuws te leren. SQL gebruiken betekent ook dat u gegevens kunt opvragen met behulp van bestaande BI-tools en database-querybibliotheken.
- OpenTelemetry:Logfire is een zelfingenomen wrapper voor OpenTelemetry waarmee u bestaande tools, infrastructuur en tools kunt gebruiken om veel gemeenschappelijke Python-pakketten te ontwikkelen en bijna elke taal te ondersteunen.
- Pydantic Integration:begrijpt de gegevens die door Pydantic-modellen stromen en krijgt ingebouwde analyses voor validatie.
Pydantic Logfire helpt u uw applicaties te testen met minder code, minder tijd en beter begrip.
bestaan_stapel spoor_Zoek de naald in¶
We begrijpen Python en zijn functies. Pydantic Logfire is gemaakt door Python-ontwikkelaars voor Python-ontwikkelaars om de unieke uitdagingen en kansen van de Python-omgeving aan te pakken. Dit gaat niet alleen over het hebben van de gegevens; het gaat erom de juiste_-gegevens voor_te hebben, gepresenteerd op een manier die logisch is voor Python-toepassingen.
In de geest van Python
- Eenvoudig en krachtig: Pydantic Logfire, dat de filosofie van de Pydantic-bibliotheek nabootst, biedt een intuïtief startpunt voor beginners en biedt tegelijkertijd de diepte die experts nodig hebben. Het vindt hetzelfde evenwicht tussen gebruiksgemak, complexiteit en productiviteit en is opnieuw ontworpen voor waarneembaarheid.
- werd geboren in Python en Pydantic: terwijl makers zich onderdompelden in het open-source ecosysteem van Python, ontwierpen we Pydantic Logfire om diep te integreren met de nuances van Python en Pydantic, wat meer maatwerk biedt dan een universeel observatieplatform De ervaring.
Vertaal deze zin in het Engels: Vertaal deze zin in het Engels: Vertaal deze zin in het Engels: Vertaal deze zin in het Engels: Vertaal deze zin in het Engels: Vertaal: Vertaal deze zin in het Engels: Vertaal: Vertaal deze zin in het Engels: Vertaal: Vertaal deze zin in het Engels: Vertaal: Vertaal: Vertaal deze zin in het Engels: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Vertaal: Trans
- Deep Python-integratie door ****, Pydantic Logfire detecteert automatisch uw code met minimale handmatige inspanning, biedt uitstekend inzicht in asynchrone code, biedt gedetailleerde prestatieanalyse en is hetzelfde als de tolk Voor bestaande Pydantic-gebruikers biedt het ook ongeëvenaard inzicht in hoe u met het Pydantic-model werkt.
- Gestructureerde gegevens en directe SQL-toegang betekent dat u bekende tools zoals Panda 's, SQLAlchemy of
psqlkunt gebruiken voor zoekopdrachten, naadloos kunt integreren met BI-tools en zelfs gebruik kunt maken van AI-generatie SQL, zodat uw Python-objecten en gestructureerde gegevens beschikbaar zijn voor query 's. Het gebruik van vanille PostgreSQL als querytaal op het hele platform zorgt voor een consistente, krachtige en flexibele queryervaring. - maakt gebruik van OpenTelemetry via , Pydantic Logfire biedt automatische detectie voor populaire Python-pakketten, ondersteunt cross-language Data Transmission Service en ondersteunt het exporteren van gegevens naar OpenTelemetry-compatible backend of proxy.
Pydantic Logfire: het observatieplatform dat u verdient¶
Pydantic Logfireis meer dan zomaar een hulpmiddel in de schuur; het is een oplossing op maat die zorgvuldig is gemaakt door Python-ontwikkelaars voor Python-ontwikkelaars, zodat uw ontwikkelingsinspanningen net zo soepel en efficiënt zijn als Python zelf.
Van minimale scripting tot grootschalige implementatie, Pydantic Logfire is de observeerbaarheidsoplossing waar je op hebt gewacht.
Simpel en krachtig: raket: {#simplicity}
Pydantic Logfiremoet heel eenvoudig te gebruiken zijn, voer gewoon uit:
pip install logfire # (1)!
logfire auth # (2)!
-
Pydantic LogfireSDK kan worden geïnstalleerd vanuit PyPI of Conda,Meer informatie.
-
De SDK wordt geleverd met een CLI voor authenticatie, etc.Begrijp alstublieft de details....
Dan in je code:
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)!
-
Dit logt de
Hello world!met het信息-niveau.name='world'wordt opgeslagen als een eigenschap die kan worden opgevraagd met behulp van SQL. -
Met overspanningen kunt u andere Logfire-oproepen nesten en ook de tijd meten die uw code nodig heeft om te worden uitgevoerd. Ze zijn een fundamenteel onderdeel van sporen!
-
Probeer de datum uit gebruikersinvoer te halen. Als er een uitzondering wordt gegenereerd, bevat de buitenste overspanning de details van de uitzondering.
-
Dit zal bijvoorbeeld opnemen
dob=2000-01-01 age=datetime.timedelta(days=8838)van调试Niveau.
Dit lijkt misschien op eenvoudige logging, maar het is veel krachtiger - je krijgt:
- Gestructureerde gegevens in logboeken
- Genestelde logs / sporen om de inhoud die u bekijkt in context te plaatsen
- Een aangepast platform voor het bekijken van uw gegevens zonder configuratie
- En nog veel meer, zoals een mooie weergave van Python-objecten - zie hieronder
Aandacht
Als u een bestaande applicatie moet detecteren, voeg deze dan aan het begin toe aan de code logfire.* Voordat u belt, zult u OTel-integratie configureren Haal er het meeste uit.
Python en Pydantische inzichten: slangen: {#python}
Van rijke Python-objectweergave tot telemetrie van gebeurtenislus en analyse van Python-code, Pydantic Logfire geeft je een beter begrip van hoe Python werkt dan welk ander observatietool dan ook.
Logfire heeft ook kant-en-klare Pydantic-integratie waarmee u gegevens die door Pydantic-modellen gaan kunt begrijpen en validatieanalyse kunt verkrijgen.
We kunnen het Pydantic model direct documenteren:
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)!
- Dit zal blijken
用户处理的:User(name='Anne', country_code='US', dob=datetime.date(2000, 1, 1))), maar stelt u ook in staat om een "mooi" beeld van het model te zien in het Logfire-platform.
Of we kunnen automatisch informatie over verificatie vastleggen:
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')
-
Deze configuratie betekent dat details over alle validaties van Pydantic-modellen worden vastgelegd. U kunt ook alleen details over validatiefouten of alleen statistieken registreren; zie Pydantic plugin documentatie.
-
Aangezien we de Pydantic-plug-in hebben ingeschakeld, worden alle Pydantic-validaties geregistreerd in Logfire.
Lees hier meer over de Pydantische plug-in.
OpenTelemetrie onder de motorkap: Telescoop:{#otel}
wegens Pydantisch Logvuur Is gebaseerd op OpenTelemetrie Gebouwd zodat u een breed scala aan bestaande tools en infrastructuur kunt gebruiken, waaronder Detectie van veel gangbare Python pakketten...
We kunnen bijvoorbeeld een eenvoudige FastAPI-applicatie detecteren met slechts 2 regels code:
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'}
- Behalve Logfire configureren Bovendien is deze regel meestal alles wat u nodig heeft om een Fast API-applicatie met Logfire te detecteren, en hetzelfde geldt voor de meeste andere populaire Python-webframeworks.
De2. "Integration" pagina bevat meer informatie over hoe u andere delen van uw toepassing kunt detecteren.
We moeten het FastAPI contrib-pakket, de FastAPI zelf en uvicorn installeren om het uit te voeren:
pip install 'logfire[fastapi]' fastapi uvicorn # (1)!
uvicorn fastapi_example:app # (2)!
-
Installeer het 'logfire' -pakket met 'fastapi' extra, FastAPI en uvicorn.
-
Voer een Fast API-applicatie uit met uvicorn.
Dit geeft u informatie over het HTTP-verzoek en details over de resultaten van succesvolle invoervalidatie.
En de details van de mislukte invoervalidatie:
Gestructureerde data en SQL: telraam: {#sql}
Query-gegevens met pure specificatie Postgres SQL - alle controle (voor velen) zonder iets nieuws te leren. We bieden zelfs directe toegang tot de onderliggende Postgres-database, wat betekent dat u Logfire kunt bevragen met elk Postgres-compatibel hulpmiddel dat u leuk vindt.
Dit omvat dashboardbouwplatforms zoals Superset, Grafana en Google Looker Studio, evenals Panda 's,SQLAlchemie zelfs psql...
Een van de grootste voordelen van het gebruik van de meest gebruikte SQL-databases is dat generatieve AI-tools zoals ChatGPT uitstekend zijn in het schrijven van SQL voor u.
Voeg eenvoudig uw Python-object toe aan deLogfire-oproep (lijsten, woordenboeken, gegevensklassen, Pydantic-modellen, gegevensframes, enz.), En het is klaar om te zoeken als gestructureerde gegevens in ons platform.
Met behulp van de gegevens van het 用户-model hierboven kunnen we bijvoorbeeld gebruikers uit de Verenigde Staten vermelden:
SELECT attributes->'result'->>'name' as name, age(attributes->'result'->>'dob') as age
FROM records
WHERE attributes->'result'->>'country_code' = 'USA'
U kunt ook filteren om alleen tracks met betrekking tot Amerikaanse gebruikers in Live View weer te geven
attributes->'result'->>'country_code' = 'USA'
本文总阅读量次






