Zum Inhalt

Informationen zu Pydantic Logfire

Logfire, das Team hinter Pydantic, ist eine Beobachtungsplattform, die auf dem gleichen Glauben an unsere Open-Source-Bibliothek basiert-die leistungsstärksten Tools, die einfach zu verwenden sind.

Die Unterschiede von Logfire:

  • ist einfach und leistungsstark: Das Dashboard vonLogfire ist so einfach wie die Funktionen, die es bietet, und stellt sicher, dass Ihr gesamtes Entwicklungsteam es tatsächlich nutzen wird.
  • Python-zentrierte Sichtweise:Von der umfangreichen Python-Objektanzeige über die Telemetrie der Ereignisschleife bis hin zur Analyse von Python-Code und Datenbankabfragen bietet Logfire einen beispiellosen Überblick über das Verhalten von Python-Anwendungen.
  • SQL-Format:verwendet Standard-SQL, um Daten abzufragen-alle Steuerelemente, die (wie viele von Ihnen) keine Notwendigkeit haben, neue Kenntnisse zu erlernen mit SQL bedeutet auch, dass Sie Ihre vorhandenen BI-Tools und Datenbanken verwenden können, um Daten abzufragen.
  • Für OpenTelemetry:Logfire ist ein selbstgerechter Wrapper für OpenTelemetry, mit dem Sie viele gängige Python-Pakete in nahezu jeder Sprache entwickeln können, indem Sie die vorhandenen Tools, Infrastrukturen und Tools nutzen.
  • Pydantische Einbettung:Erfahren Sie mehr über die Daten, die durch das Pydantische Modell fließen, und erhalten Sie integrierte Analysen zur Validierung.

Mit Pydantic Logfire können Sie Ihre Anwendungen mit weniger Code, weniger Zeit und einem besseren Verständnis erkennen.

Finden Sie eine Nadel in_-Stapelverfolgung_

Logfire FastAPI Screenshot erstellen

Wir verstehen Python und seine Eigenschaften als Pydantic Logfire, entworfen von Python-Entwicklern für Python-Entwickler, um die einzigartigen Herausforderungen und Möglichkeiten der Python-Umgebung zu lösen Es geht nicht nur darum, Daten zu besitzen; es geht darum, die richtigen_-Daten von_zu haben, die für Python-Anwendungen sinnvoll sind.

Im Sinne von Python.

  • Simpel und mächtig. In Anlehnung an die Philosophie der Pydantic Library bietet das Pydantic Logfire Anfängern einen intuitiven Ausgangspunkt und bietet gleichzeitig die Tiefe, die Experten benötigen, um die gleiche Balance zwischen Benutzerfreundlichkeit, Komplexität und Produktivität zu erreichen, die für Beobachtbarkeit neu konzipiert wurde.
  • Python und Pydantic.Während Entwickler in das Python-Ökosystem eintauchen, haben wir Pydantic Logfire entwickelt, um eine tiefe Integration mit den Nuancen von Python und Pydantic zu ermöglichen, die eine individuellere Erfahrung bietet als die universelle Beobachtungsplattform.

Daten werden zu Erkenntnissen

  • Tiefe Python-Integration mit, Pydantic Logfire erkennt Ihren Code automatisch, bietet einen hervorragenden Einblick in den asynchronen Code mit minimalem manuellen Aufwand, liefert detaillierte Leistungsanalysen und zeigt Python-Objekte auf die gleiche Weise wie der Pydantic Interpreter.
  • Strukturierte Daten und direkter SQL-Zugriff Das bedeutet, dass Sie vertraute Tools wie Pandas, SQLAlchemy oder psql Abfragen, die nahtlos in BI-Tools integriert werden können und sogar KI zum Generieren von SQL verwenden, um sicherzustellen, dass Ihre Python-Objekte und strukturierten Daten für Abfragen verfügbar sind Die Verwendung von Vanilla PostgreSQL als Abfragesprache in der gesamten Plattform gewährleistet ein konsistentes, robustes und flexibles Abfrageerlebnis.
  • angenommen OpenTelemetry und Pydantic. Logfire bietet automatische Erkennung für beliebte Python-Pakete, unterstützt die Integration von Daten über mehrere Sprachen hinweg und unterstützt den Export von Daten an jedes OpenTelemetry-kompatible Backend oder Proxy.

Pydantic Logfire: Die Beobachtungsplattform, die Sie verdienen

Pydantic Logfireist mehr als nur ein weiteres Tool in der Schublade; es ist eine maßgeschneiderte Lösung von Python-Entwicklern für Python-Entwickler, die dafür sorgt, dass Ihr Entwicklungsprozess so reibungslos und effizient verläuft wie Python selbst.

Von den kleinsten Skripten bis hin zu umfangreichen Implementierungen ist Pydantic Logfire die Lösung für die Observability, auf die Sie gewartet haben.


Einfach und mächtig: rocket: {#simplicity}

Pydantic Logfiresollte einfach zu bedienen sein:

pip install logfire # (1)!
logfire auth # (2)!

Das1. Pydantic LogfireSDK kann von PyPI oder Conda installiert werden,Erfahren Sie mehr über.

Das2. SDK wird mit einer CLI für Authentifizierung usw. geliefert.Weitere Informationen finden Sie unter.

Und dann in Ihrem 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)!
1. Dies sollte einmal vor der Protokollierung aufgerufen werden, um Logfire zu initialisieren Eine interaktive Eingabeaufforderung führt Sie zur Erstellung des Projekts, wenn keine Elemente für das aktuelle Verzeichnis konfiguriert sind.

  1. Das Verzeichnis wird mit 信息 Ebene sein. Hello world!。name='world' Wird als Eigenschaft gespeichert, die mit SQL abgefragt werden kann.

  2. Span ermöglicht es Ihnen, andere Logfire-Aufrufe zu verschachteln und misst auch die Zeit, die Code benötigt, um ausgeführt zu werden, die ein wesentlicher Bestandteil der Trace ist!

  3. Versuchen Sie, das Datum aus der Benutzereingabe zu extrahieren Wenn eine Ausnahme ausgelöst wird, enthält der externe Bereich die Details der Ausnahme.

  4. Dies würde zum Beispiel die 调试-Ebene von dob=2000-01-01 age=datetime.timedelta(days=8838) aufzeichnen.

Dies mag wie eine einfache Protokollierung aussehen, aber es ist viel leistungsfähiger-Sie können Folgendes erhalten:

  • Strukturierte Daten in der Zeitung
  • Verschachtelte Protokolle/Spuren, um das, was Sie sich ansehen, in einen Kontext zu setzen
  • Eine benutzerdefinierte Plattform zum Anzeigen Ihrer Daten ohne Konfiguration
  • Und mehr, zum Beispiel die schöne Darstellung von Python-Objekten-siehe unten

!!! Aufmerksamkeit. Wenn Sie eine vorhandene Anwendung zu erkennen, dann fügen Sie den Code am Anfang logfire.* Vor dem Aufruf werden Sie Installation von Otel den größten Wert darin zu erhalten.

Logfire Hallo Welt Screenshot

Python und Pydantische Einblicke: snake: {#python}

Von der umfangreichen Python-Objektanzeige über die Telemetrie von Ereignisschleifen bis hin zur Analyse von Python-Code bietet Ihnen Pydantic Logfire eine klarere Vorstellung davon, wie Python funktioniert als jedes andere beobachtbare Tool.

Logfire verfügt auch über eine vorkonfigurierte Pydantic-Integration, mit der Sie Daten aus Ihren Pydantik-Modellen verstehen und validierte Analysen erhalten können.

Wir können direkt ein Pydantic-Modell aufzeichnen:

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)!
  1. Dies zeigt 用户处理的:User(name='Anne', country_code='US', dob=datetime.date(2000, 1, 1))), ermöglicht es Ihnen aber auch, eine "schöne" Ansicht des Modells in der Logfire-Plattform zu sehen.

Logfire pydantic manueller Screenshot erstellt

Alternativ können wir automatisch Informationen über die Zertifizierung aufzeichnen:

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')
  1. Diese Konfiguration bedeutet, dass Details über alle Pydantic Modellvalidierung protokolliert werden Sie können auch nur Details über fehlgeschlagene Validierungen oder nur Indikatoren aufzeichnen; siehe Pydantic Plug-in-Dokumentation.

  2. Da wir das Pydantic-Plug-In aktiviert haben, werden alle Pydantic-Validierungen in Logfire aufgezeichnet.

Erfahren Sie hier mehr über Pydantic. Und mehr Informationen.

Pydantische Plug-in-Screenshots von Logfire

OpenTelemetry unter der Motorhaube: Teleskop:{#otel}

Aufgrund Pydantische Logfire beruht. für OpenTelemetry Gebaut, so dass Sie eine große Anzahl von vorhandenen Tools und Infrastrukturen nutzen können, einschließlich Viele gängige Python Pakete.。

Zum Beispiel benötigen wir nur 2 Zeilen Code, um eine einfache FastAPI-Anwendung zu erkennen:

fastapi_example.py
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'}
  1. Außer Installation von logfire Darüber hinaus ist diese Zeile normalerweise alles, was Sie brauchen, um FastAPI-Anwendungen mit Logfire zu erkennen, was auch mit den meisten anderen beliebten Python-Webframeworks funktioniert.

  2. „ Vereint " Die Seite enthält weitere Informationen zum Erkennen anderer Teile einer Anwendung.

Wir müssen installieren. FastAPI contrib-Paket, FastAPI selbst und uvicorn, um es auszuführen:

pip install 'logfire[fastapi]' fastapi uvicorn  # (1)!
uvicorn fastapi_example:app # (2)!
  1. Installieren Sie das logfire Paket mit 'fastapi' extra, FastAPI und uvicorn.

  2. FastAPI-Anwendungen mit uvicorn ausführen.

Dadurch erhalten Sie Informationen zur HTTP-Anforderung und Details zum Ergebnis einer erfolgreichen Eingabevalidierung:

Logfire FastAPI 200 Antwort-Screenshot

Und Details der fehlgeschlagenen Eingabevalidierung:

Logfire FastAPI 422 Antwort-Screenshot

Strukturierte Daten und SQL: abacus: {#sql}

Abfragen von Daten mit dem rein kanonischen Postgres SQL-volle Kontrolle (für viele) ohne neue Kenntnisse zu benötigen Wir bieten sogar direkten Zugriff auf die zugrunde liegende Postgres-Datenbank, was bedeutet, dass Sie Logfire mit jedem Postgres-kompatiblen Tool Ihrer Wahl abfragen können, einschließlich Dashboard-Buildplattformen wie Superset, Grafana und Google Looker Studio. Pandas sind、Der SQLAlchemy sogar psql。

Ein großer Vorteil der Verwendung der am weitesten verbreiteten SQL-Datenbank ist, dass generative KI-Tools wie ChatGPT beim Schreiben von SQL für Sie hervorragend sind.

Fügen Sie einfach Ihr Python-Objekt in denLogfireAufruf ein (Liste, Wörterbuch, Datenklassen, Pydantische Modelle, Datenrahmen, etc.) und es ist als strukturierte Daten in unserer Plattform jederzeit abgefragt werden.

Mit den Daten aus dem oben beschriebenen 用户-Modell können wir beispielsweise Benutzer aus den USA auflisten:

SELECT attributes->'result'->>'name' as name, age(attributes->'result'->>'dob') as age
FROM records
WHERE attributes->'result'->>'country_code' = 'USA'

Logfire explore query screenshot ausführen

Sie können auch filtern, um im Live-View nur für US-Nutzer relevante Trackings anzuzeigen.

attributes->'result'->>'country_code' = 'USA'

Logfire Search Query Screenshot durchsuchen


本文总阅读量次