Logfire: Pythonアプリケーション向けのシンプルな観測

Pydanticの前の記事では、コード例の1つとしてLogfireを紹介し、これはPythonアプリケーションの洞察を開発者に提供するために設計された可観測性プラットフォームです。この記事では、Logfireとその機能について詳しく説明し、最終的にはトレースからデバッグ、ログ記録までの観測性の旅を簡素化します。

Logfireは、Pydanticの作成者によって開発された革新的な可観測性プラットフォームであり、開発者にPythonアプリケーションに対する強力な洞察を提供するよう設計されています。Pydanticの成功を受け継いで構築されたLogfireは、可観測性を簡単に実装して理解しやすくし、アプリケーションの挙動に深い洞察を提供することを目指しています。

主な特徴

シームレスな統合

Logfireは既存のPythonプロジェクトとシームレスに統合し、最小限のセットアップが必要です。数行のコードだけで、開発者はアプリケーションのパフォーマンスと挙動に関する貴重なデータを収集を開始できます。

Pydanticの統合

LogfireはPydanticモデルとの優れた統合を提供します。これにより、開発者はアプリケーション全体でのデータ検証とモデルの使用について前例のない洞察を得ることができます。

自動インストゥルメンテーション

Logfireは人気のあるライブラリやフレームワークを自動的にインストゥルメント化することができ、手動のログ記録やトレースの必要性を減らします。この機能により、時間が節約され、アプリケーションの挙動の包括的なカバレッジが確保されます。

OpenTelemetry互換

OpenTelemetryをベースに構築されたLogfireは、業界標準との互換性を確保し、柔軟なデータエクスポートオプションを可能にします。

前提条件

  1. Logfireにログインしてください。
  2. 指示に従ってアカウントを作成してください。このアカウントはプロジェクトを整理するのに役立ちます。
  3. 組織から、最初のプロジェクトを作成するには、New projectをクリックしてください。


始め方

Logfireを使用するには、次の簡単な手順に従ってください:

ステップ1。以下のコマンドでLogfireパッケージをインストールしてください。Jupyter Notebookを使用している場合は、!pip install logfireを実行してください。

Shell

 

Installing LogFire

ステップ2。Logfireサービスで認証してください。これにより、ブラウザが開かれ、logfireのログイン資格情報が求められます。

Shell

 

Authentication with LogFire

3. アプリケーションでLogfireを構成してください。パッケージがインストールされたら、以下のコマンドを使用してlogfireを構成する必要があります。

Python

 

プロジェクト設定の一環として手順に従うことができます:

Project setup

基本的な使用法

Logfireのスパンはトレースの重要な構成要素です。logfire.spanでスパンを定義できます。以下の例では、外側のスパンはトピック(ユーザーの誕生日)を設定します。ユーザーは誕生日を入力するよう促され、端末またはコマンドプロンプトを介してキャプチャされます。スペースはユーザーの入力した誕生日をキャプチャします。

Logfireを手動トレースする方法の簡単な例を以下に示します:

Python

 

Logfire project showing spans

DEBUG出力が表示されない場合は、Filter local data –> Levels –> debugをクリックしてください。

Pydantic統合

以前の記事で議論したように、Pydanticのコア機能はデータ検証です。Pythonタイプヒントを使用してデータの構造と型を自動的に検証します。 Pydanticモデルを定義すると、各フィールドに予想されるタイプが注釈付けされます。 Pydanticは、これらのフィールドに割り当てられたデータが指定された型に準拠していることを確認します。

LogfireとPydanticの統合は特に強力です。 Pydanticモデルの検証を記録する方法は次のとおりです:

Python

 

この構成では、すべてのPydanticモデルの検証に関する詳細が自動的に記録され、アプリケーション内でのデータ処理に関する貴重な洞察が得られます。

フレームワークの統合

Logfireは人気のあるPythonフレームワークやライブラリと統合しています。以下のPythonコード例では、OpenAI APIキーを提供し、必要なパッケージ(FASTAPI、instructor、OpenAIなど)をインストールする必要があります。

まずは、FastAPIは、開発者がアプリケーションプログラミングインターフェース(API)を作成するのを支援するPythonウェブフレームワークです。 FastAPIは、その拡張性、使いやすさ、高性能で知られています。

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は、LLMsの出力からJSONなどの構造化データを簡単に抽出するのを支援するPythonパッケージです。

以下は、LogfireをFastAPI、OpenAI API、およびInstructorと統合する方法の例です。

Python

 

このセットアップは、FastAPIリクエスト、OpenAI API呼び出し、およびPydanticモデルの検証のための包括的なログを提供し、アプリケーションの動作の包括的なビューを提供します。

Logfire showing the quota exceeded error information

結論

Logfireは、Python開発者にとって観測性をアクセスしやすく強力にする重要な進歩を表しています。Logfireは、使いやすさと深い洞察を組み合わせることで、開発者がアプリケーションをよりよく理解し最適化するのを可能にします。小規模プロジェクトや大規模アプリケーションに取り組んでいる場合でも、Logfireはコードの動作とパフォーマンスに関する貴重な洞察を得るためのツールを提供します。

この記事が役に立ったら、いいねを押してDevコミュニティと共有してください。

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