Logfire: Unkomplizierte Observierbarkeit für Python-Anwendungen

In meinem vorherigen Artikel über Pydantic habe ich Ihnen in einem der Codebeispiele Logfire vorgestellt, eine Observability-Plattform, die entwickelt wurde, um Entwicklern Einblicke in Python-Anwendungen zu bieten. In diesem Artikel erhalten Sie einen tiefen Einblick in Logfire und seine Fähigkeiten, die letztendlich Ihre Observability-Reise vom Tracing über das Debugging bis hin zum Logging vereinfachen werden.

Logfire ist eine innovative Observability-Plattform, entwickelt von den Machern von Pydantic, die darauf abzielt, Entwicklern leistungsstarke Einblicke in ihre Python-Anwendungen zu bieten. Auf den gleichen Prinzipien aufbauend, die Pydantic erfolgreich gemacht haben, soll Logfire die Implementierung und das Verständnis von Observability erleichtern und dabei tiefe Einblicke in das Anwendungsverhalten bieten.

Wichtige Funktionen

Nahtlose Integration

Logfire integriert sich nahtlos in bestehende Python-Projekte und erfordert nur minimale Einrichtung. Mit nur wenigen Codezeilen können Entwickler wertvolle Daten zur Leistungs- und Verhaltensanalyse ihrer Anwendung sammeln.

Pydantic-Integration

Logfire bietet eine außergewöhnliche Integration mit Pydantic-Modellen. Dies ermöglicht es Entwicklern, beispiellose Einblicke in die Datenvalidierung und die Verwendung von Modellen in ihren Anwendungen zu erhalten.

Automatische Instrumentierung

Logfire kann beliebte Bibliotheken und Frameworks automatisch instrumentieren, was den Bedarf an manuellem Logging und Tracing reduziert. Diese Funktion spart Zeit und gewährleistet eine umfassende Abdeckung des Anwendungsverhaltens.

OpenTelemetry-kompatibel

Auf Basis von OpenTelemetry gewährleistet Logfire Kompatibilität mit Branchenstandards und ermöglicht flexible Datenexportoptionen.

Voraussetzungen

  1. Melden Sie sich bei Logfire an.
  2. Befolgen Sie die Anweisungen, um Ihr Konto zu erstellen. Dieses Konto hilft Ihnen, Ihre Projekte zu organisieren.
  3. Von Ihrer Organisation aus klicken Sie auf Neues Projekt, um Ihr erstes Projekt zu erstellen.


Erste Schritte

Um mit Logfire zu beginnen, befolgen Sie diese einfachen Schritte:

Schritt 1. Installieren Sie das Logfire-Paket mit dem folgenden Befehl. Wenn Sie Jupyter Notebook verwenden, führen Sie !pip install logfire aus.

Shell

 

Installing LogFire

Schritt 2. Authentifizieren Sie sich beim Logfire-Dienst. Dies öffnet einen Browser und fordert Logfire-Anmeldeinformationen an.

Shell

 

Authentication with LogFire

3. Konfigurieren Sie Logfire in Ihrer Anwendung. Nach der Installation des Pakets müssen Sie die untenstehenden Befehle verwenden, um Logfire zu konfigurieren.

Python

 

Sie können die Schritte als Teil Ihres Projekt-Setups befolgen:

Project setup

Grundlegende Verwendung

Ein Span in Logfire ist ein wesentlicher Baustein einer Spur. Sie können einen Span mit logfire.span definieren. Im folgenden Beispiel setzt der äußere Span das Thema – den Geburtstag des Benutzers. Der Benutzer wird nach seinem Geburtstag gefragt und über das Terminal oder die Eingabeaufforderung erfasst. Der Raum erfasst den eingegebenen Geburtstag des Benutzers.

Hier ist ein einfaches Beispiel, wie man Logfire für die manuelle Verfolgung verwendet:

Python

 

Logfire project showing spans

Wenn Sie die DEBUG-Ausgabe nicht sehen, klicken Sie auf Filter lokale Daten –> Ebenen –> debug.

Pydantic Integration

Wie in meinem vorherigen Artikel erläutert, besteht die Kernfunktionalität von Pydantic in der Datenvalidierung. Es verwendet Python-Typenhinweise, um automatisch die Struktur und Typen von Daten zu validieren. Wenn Sie ein Pydantic-Modell definieren, wird jedes Feld mit seinem erwarteten Typ annotiert. Pydantic stellt dann sicher, dass alle Daten, die diesen Feldern zugewiesen werden, den angegebenen Typen entsprechen.

Die Integration von Logfire mit Pydantic ist besonders leistungsstark. Hier ist, wie Sie es verwenden können, um Pydantic-Modellvalidierungen zu protokollieren:

Python

 

Diese Konfiguration protokolliert automatisch Details zu allen Pydantic-Modellvalidierungen und bietet wertvolle Einblicke in die Datenverarbeitung innerhalb Ihrer Anwendung.

Framework-Integrationen

Logfire bietet Integrationen mit beliebten Python-Frameworks und -Bibliotheken. Für das folgende Python-Codebeispiel müssen Sie den OpenAI-API-Schlüssel bereitstellen und die erforderlichen Pakete installieren (FASTAPI, instructor, OpenAI usw.).

Zunächst einmal ist FastAPI ein Python-Webframework, das Entwicklern hilft, API (Application Programming Interfaces) zu erstellen. FastAPI ist bekannt für seine Skalierbarkeit, Benutzerfreundlichkeit und hohe Leistung.

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 ist ein Python-Paket, das Ihnen dabei hilft, strukturierte Daten wie JSON aus der Ausgabe von LLMs einfach zu extrahieren.

Hier ist ein Beispiel, wie Sie Logfire mit FastAPI, der OpenAI API und Instructor integrieren können:

Python

 

Diese Konfiguration bietet umfassendes Logging für FastAPI-Anfragen, OpenAI API-Aufrufe und Pydantic-Modellvalidierungen und bietet einen ganzheitlichen Blick auf das Verhalten Ihrer Anwendung.

Logfire showing the quota exceeded error information

Fazit

Logfire stellt einen bedeutenden Schritt nach vorn dar, um die Beobachtbarkeit für Python-Entwickler zugänglich und leistungsfähig zu machen. Logfire ermöglicht es Entwicklern, ihre Anwendungen besser zu verstehen und zu optimieren, indem sie Benutzerfreundlichkeit mit tiefen Einblicken kombiniert. Egal, ob Sie an einem kleinen Projekt oder einer groß angelegten Anwendung arbeiten, Logfire bietet die Werkzeuge, um wertvolle Einblicke in das Verhalten und die Leistung Ihres Codes zu gewinnen.

Bitte zeigen Sie Ihre Zuneigung mit einem Like und teilen Sie es mit Ihrer Entwickler-Community.

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