Pydantic/Logfire实时监控视图使用指南
实时监控视图概述
Logfire的实时监控视图(Live View)是该工具的核心功能模块,它允许开发人员实时观察应用程序的运行状态和日志数据流。这个功能对于调试和监控生产环境中的应用程序特别有价值,能够帮助开发者快速定位问题并理解系统行为。
主要功能区域解析
1. SQL搜索面板
搜索面板是实时视图中最强大的工具之一,它提供了多种查询方式:
原生SQL查询
- 支持标准SQL语法查询,自动补全和语法提示功能降低了编写查询的难度
- 查询实际上是在WHERE子句中执行,基础查询结构为:
SELECT * FROM RECORDS WHERE [your conditions]
- 支持快捷键操作:Mac使用
cmd+enter
,Windows/Linux使用ctrl+enter
执行查询
自然语言转SQL
- 内置AI辅助功能,可将自然语言描述转换为有效的SQL查询
- 提供两种模式:"获取新SQL"完全重新生成查询,"修改现有SQL"在已有查询基础上调整
- 该功能基于PydanticAI实现,理解开发者意图并生成准确查询
参考查询模板
- 预置了大量常用查询模板,点击即可应用
- 多条件查询会自动用AND连接,开发者可手动修改为OR等逻辑运算符
- 是学习查询语法和快速构建复杂查询的理想起点
2. 数据表结构
Logfire的数据存储采用以下表结构,了解这些字段有助于构建精准查询:
CREATE TABLE records AS (
start_timestamp timestamp with time zone, -- 开始时间
created_at timestamp with time zone, -- 创建时间
trace_id text, -- 追踪ID
span_id text, -- 跨度ID
parent_span_id text, -- 父跨度ID
kind span_kind, -- 跨度类型
end_timestamp timestamp with time zone, -- 结束时间
level smallint, -- 日志级别
span_name text, -- 跨度名称
message text, -- 消息内容
attributes_json_schema text, -- 属性JSON模式
attributes jsonb, -- 属性数据
tags text[], -- 标签数组
otel_links jsonb, -- OpenTelemetry链接
otel_events jsonb, -- OpenTelemetry事件
is_exception boolean, -- 是否异常
otel_status_code status_code, -- 状态码
otel_status_message text, -- 状态消息
otel_scope_name text, -- 作用域名称
otel_scope_version text, -- 作用域版本
otel_scope_attributes jsonb, -- 作用域属性
service_namespace text, -- 服务命名空间
service_name text, -- 服务名称
service_version text, -- 服务版本
service_instance_id text, -- 服务实例ID
process_pid integer -- 进程ID
)
3. 主界面布局
折叠状态视图
- 项目标识:显示当前组织和项目名称,可快速导航
- 环境选择器:支持按环境筛选数据,默认显示所有环境
- 时间轴直方图:可视化显示日志事件的时间分布,点击可跳转到特定时间点
- 连接状态:显示查询执行状态和可能的错误信息
- 快速过滤器:基于日志级别、服务、作用域和标签的即时筛选(仅影响当前显示)
- 可展开的追踪条目:带"+"号的条目表示包含子跨度,可展开查看详情
- 作用域标签:显示产生该跨度的OpenTelemetry作用域信息,悬停可查看版本详情
展开详情面板
当点击特定跨度时,会显示详细面板:
- 级别图标:显示该跨度及其子跨度的最高日志级别
- 操作按钮组:包含面板方向切换、分享链接和关闭按钮
- 异常指示器:标记包含异常的跨度,可在"异常追踪"标签查看详情
- 关键属性:显示跨度的核心元数据,包括追踪ID和跨度ID等可点击元素
- 详情标签页:提供跨度的多维详细信息,内容根据跨度类型动态变化
- 参数面板:显示通过Logfire API记录的参数数据,以Python字典形式呈现
- 完整属性列表:展示该跨度的所有OpenTelemetry属性
最佳实践建议
- 从简单查询开始:利用"Start here"部分的预设查询熟悉系统
- 善用自然语言查询:当不确定SQL语法时,先用自然语言描述需求
- 关注异常指示器:快速定位问题跨度的有效方法
- 利用时间轴导航:在处理大量数据时,时间轴可帮助快速定位问题时段
- 组合使用过滤器:结合SQL查询和界面过滤器实现精确筛选
Logfire的实时监控视图将OpenTelemetry的强大功能与直观的用户界面相结合,为开发者提供了前所未有的应用可观测性体验。通过熟练掌握这些功能,开发者可以显著提升调试效率和系统理解深度。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考