Telemetry: Event table attribute name and value changes

Attention

This behavior change is in the 2024_07 bundle.

For the current status of the bundle, refer to Bundle History.

When this behavior change bundle is enabled, some telemetry data in the event table and in Snowsight changes when a function or procedure handler is written in Python.

Before the change:

In the event table when the handler is written in Python, the following is true:

  • In the RECORD column for a SPAN RECORD_TYPE, the name attribute’s value is a fixed value such as snow.auto_instrumented.

  • The RECORD column for a SPAN RECORD_TYPE can contain a snowflake.max_memory_usage_bytes attribute.

In Snowsight, in the Query Profile view, the snowflake.max_memory_usage_bytes value is listed as Python sandbox max memory usage.

After the change:

In the event table when the handler is written in Python, the following is true:

  • In the RECORD column for a SPAN RECORD_TYPE, the name attribute’s value identifies the handler for the function or procedure that emitted the data. This varies by executable type:

    • Procedure — handler function name

    • User-defined function (UDF) — handler function name

    • User-defined table function (UDTF) — handler class name

    • Client code — name of the client-side API that began the span

  • The RECORD column for a SPAN RECORD_TYPE can contain a snow.process.memory.usage.max attribute renamed from snowflake.max_memory_usage_bytes.

In Snowsight, in the Query Profile view, the snow.process.memory.usage.max value is listed as Max Python process memory usage.

Similarly, in the GET_QUERY_OPERATOR_STATS function’s output, the OPERATOR_STATISTICS column’s Python sandbox max memory usage nested key has been renamed to Max Python process memory usage.

Ref: 1668