Logfire:Python應用程式的簡易可觀察性

在我之前關於 Pydantic 的文章中,我介紹了 Logfire 作為一個觀察性平台,旨在為開發人員提供對 Python 應用程序的深入見解。在這篇文章中,您將深入了解 Logfire 及其功能,最終簡化您的觀察性之旅,從追蹤到調試再到日誌記錄。

Logfire 是由 Pydantic 的創建者開發的創新觀察性平台,旨在為開發人員提供對其 Python 應用程序的強大見解。Logfire 建立在使 Pydantic 成功的相同原則上,旨在使觀察性易於實現和理解,同時提供對應用程序行為的深刻見解。

主要特點

無縫整合

Logfire 可以輕鬆與現有的 Python 項目整合,只需最少的設置。只需幾行代碼,開發人員就能開始收集有關其應用程序性能和行為的有價值數據。

Pydantic 整合

Logfire 提供與 Pydantic 模型的卓越整合。這使開發人員能夠在應用程序中獲得前所未有的數據驗證和模型使用的見解。

自動儀表化

Logfire 可以自動對流行的庫和框架進行儀表化,減少手動日誌記錄和追蹤的需求。這一功能節省了時間,並確保了應用程序行為的全面覆蓋。

兼容 OpenTelemetry

建立在OpenTelemetry之上,Logfire確保與行業標準的兼容性,並允許靈活的數據導出選項。

前提條件

  1. 登錄Logfire
  2. 按照提示創建您的帳戶。此帳戶將幫助您組織項目。
  3. 在您的組織中,單擊新項目以創建您的第一個項目。


開始使用

要開始使用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中的Span是追蹤的基本構建塊。您可以使用logfire.span定義一個span。在下面的示例中,外部span設置了主題——用戶的生日。系統將提示用戶輸入其生日,並通過終端或命令提示符捕獲。該空間捕獲用戶輸入的出生日期。

這是一個使用 Logfire 進行手動追蹤的簡單範例:

Python

 

Logfire project showing spans

如果您看不到 DEBUG 輸出,請點擊過濾本地數據 –> 級別 –> debug。

Pydantic 整合

在我之前的文章中提到,Pydantic 的核心功能是數據驗證。它使用 Python 類型提示自動驗證數據的結構和類型。當您定義一個 Pydantic 模型時,每個字段都會標註其預期類型。Pydantic 然後確保分配給這些字段的任何數據都符合指定的類型。

Logfire 與 Pydantic 的整合特別強大。以下是您如何使用它來記錄 Pydantic 模型驗證的方式:

Python

 

此配置將自動記錄有關所有 Pydantic 模型驗證的詳細信息,為您應用程序中的數據處理提供有價值的洞見。

框架整合

Logfire 提供與流行的 Python 框架和庫的整合。對於下面的 Python 代碼範例,您需要提供 OpenAI API 密鑰並安裝所需的包(FASTAPI、instructor、OpenAI 等)。

首先,FastAPI 是一個 Python 網頁框架,幫助開發者創建應用程序接口(API)。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 是一個 Python 套件,幫助您輕鬆從 LLM 的輸出中提取結構化數據,如 JSON。

這裡是如何將 Logfire 與 FastAPI、OpenAI API 和 instructor 整合的示例:

Python

 

此設置為 FastAPI 請求、OpenAI API 調用和 Pydantic 模型驗證提供了全面的日誌記錄,為您的應用程式行為提供了整體視圖。

Logfire showing the quota exceeded error information

結論

Logfire 代表了在讓可觀察性對 Python 開發人員變得可及和強大方面邁出的重要一步。Logfire 通過結合易用性和深入見解,使開發人員能夠更好地理解和優化他們的應用程式。無論您是在處理小型項目還是大型應用,Logfire 都提供了獲得有價值的見解以了解您代碼行為和性能的工具。

請用一個 喜歡 來表達您的支持,並與您的開發社區分享。

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