日志记录和跟踪概述¶
您可以在代码执行时从代码中获取日志消息和跟踪事件,从而记录 Snowflake 函数和过程处理程序代码(包括 使用 Snowpark APIs 编写的代码)的活动。收集数据后,可以使用 SQL 查询数据以分析结果。
具体而言,您可以记录和分析以下内容:
开始使用¶
使用以下高级步骤开始获取和使用日志及跟踪数据。
-
在 Snowflake 中,日志和跟踪数据存储在事件表中,事件表是一种具有一组预定义列的特殊类型的表。
开始从处理程序代码发出日志或跟踪数据。
创建事件表并将其与账户关联后,可使用处理程序语言的 API,从处理程序代码发出日志消息。获取日志和跟踪数据后,即可查询数据以分析结果。
有关更多信息,请参阅:
查询事件表,从而分析收集到的日志和跟踪数据。
有关更多信息,请参阅以下内容:
比较日志消息和跟踪事件¶
下表比较了日志消息和跟踪事件的特征和优势。
特征 |
日志条目 |
跟踪事件 |
---|---|---|
预期用途 |
记录有关代码状态的详细信息,但信息为非结构化形式。使用此信息了解在函数或过程的特定调用期间发生的情况。 |
记录代码每次调用的简短摘要,但摘要为结构化形式。汇总此信息,以概要了解代码行为。 |
采用有效负载结构 |
无。日志条目就是字符串。 |
使用可附加到跟踪事件的属性实现结构化。属性是可通过 SQL 查询轻松查询的键值对。 |
支持分组 |
否。每个日志条目都是一个独立事件。 |
是。跟踪事件组织为 Span。span 可以有自己的属性。 |
数量限制 |
无限制。代码发出的所有日志条目都会引入到事件表中。 |
每个 Span 的跟踪事件数量上限为 128。Span 属性的数量也有限制。 |
对记录的数据执行查询的复杂度 |
相对较高。查询必须解析每个日志条目,以从中提取有意义的信息。 |
相对较低。查询可利用跟踪事件的结构化性质。 |