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是一个帮助开发人员创建应用程序编程接口(API)的Python Web框架。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包,可以帮助您轻松地从LLMs输出中提取结构化数据,如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