日志记录和跟踪概述

您可以在代码执行时从代码中获取日志消息和跟踪事件,从而记录 Snowflake 函数和过程处理程序代码(包括 使用 Snowpark APIs 编写的代码)的活动。收集数据后,可以使用 SQL 查询数据以分析结果。

具体而言,您可以记录和分析以下内容:

  • 日志消息:独立的详细消息,包含有关特定代码片段状态的信息。

  • 带有结构化数据的 跟踪事件:可用于获取跨越和分组代码中多个部分的信息。

开始使用

使用以下高级步骤开始获取和使用日志及跟踪数据。

  1. 创建事件表

    在 Snowflake 中,日志和跟踪数据存储在事件表中,事件表是一种具有一组预定义列的特殊类型的表。

  2. 开始从处理程序代码发出日志或跟踪数据。

    创建事件表并将其与账户关联后,可使用处理程序语言的 API,从处理程序代码发出日志消息。获取日志和跟踪数据后,即可查询数据以分析结果。

    有关更多信息,请参阅:

  3. 查询事件表,从而分析收集到的日志和跟踪数据。

    有关更多信息,请参阅以下内容:

比较日志消息和跟踪事件

下表比较了日志消息和跟踪事件的特征和优势。

特征

日志条目

跟踪事件

预期用途

记录有关代码状态的详细信息,但信息为非结构化形式。使用此信息了解在函数或过程的特定调用期间发生的情况。

记录代码每次调用的简短摘要,但摘要为结构化形式。汇总此信息,以概要了解代码行为。

采用有效负载结构

无。日志条目就是字符串。

使用可附加到跟踪事件的属性实现结构化。属性是可通过 SQL 查询轻松查询的键值对。

支持分组

否。每个日志条目都是一个独立事件。

是。跟踪事件组织为 Span。span 可以有自己的属性。

数量限制

无限制。代码发出的所有日志条目都会引入到事件表中。

每个 Span 的跟踪事件数量上限为 128。Span 属性的数量也有限制。

对记录的数据执行查询的复杂度

相对较高。查询必须解析每个日志条目,以从中提取有意义的信息。

相对较低。查询可利用跟踪事件的结构化性质。

语言: 中文