Skip to content

Health, Diagnostics & Performance

The procedures in this section help validate cube health, collect diagnostic information, review licensing capacity, analyze query performance, and evaluate physical optimization recommendations.

Minimum role: CUBE_PUBLIC

HEALTH_CHECK(P_CUBE_NAME) -> TABLE

Validates cube configuration, structures, and formulas.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR opt Cube to check. Pass NULL to check every cube.

Returns:

  • CUBE_NAME
  • DIM_NAME
  • CHECK_TYPE
  • STATUS
  • MESSAGE

Checks include DIMENSION_TABLE, DIMENSION_ROW_COUNT, INPUT_TABLE_CONFIG, QUERY_FUNCTION, SHARED_TABLE, DATA_FRESHNESS, CONFIG_INTEGRITY, FORMULA_SYNTAX, FORMULA_BRACKETS, FORMULA_CASE_END, FORMULA_EMPTY, FORMULA_NO_DIMENSION, FORMULA_DIVISION_SAFETY, FORMULA_ESSBASE_SYNTAX, FORMULA_COUNT, and STALE_AI_AGENT.

Run a health check:

CALL CUBE.HEALTH_CHECK('FINANCE');

Show only non-OK results:

SELECT *
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
WHERE STATUS <> 'OK';

Minimum role: CUBE_ADMIN

GENERATE_SUPPORT_INFO(P_CUBE_NAME) -> VARIANT

Collects version, configuration, and application state into a diagnostic bundle.

Run this procedure when gathering information for a support request.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR opt Cube name. Pass NULL for system-level information.
CALL CUBE.GENERATE_SUPPORT_INFO('FINANCE');

Minimum role: CUBE_ADMIN

GET_PLAN_INFO() -> OBJECT

Reports the licensing position of the current installation.

This procedure takes no parameters.

Returns:

  • ACCOUNT_IDENTIFIER
  • ACCOUNT_NAME
  • ORGANIZATION_NAME
  • PLAN_TIER
  • CUBES_ALLOWED
  • CUBES_USED
  • CUBES_REMAINING
  • SUPPORT_CONTACT

Check CUBES_REMAINING before a migration that will create multiple cubes. Cube creation fails after the installation’s cube allowance has been used.

CALL CUBE.GET_PLAN_INFO();

Minimum role: CUBE_ADMIN

PERFORMANCE_REPORT(
P_CUBE_NAME,
P_DAYS
) -> VARIANT

Analyzes query performance for a cube over a specified period.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR req Cube name.
P_DAYS VARCHAR opt Number of days to analyze.
CALL CUBE.PERFORMANCE_REPORT(
'FINANCE',
'30'
);

Minimum role: CUBE_ADMIN

SLOW_QUERY_INSPECTOR(
P_CUBE_NAME,
P_LIMIT,
P_DAYS,
P_SLOW_MS
) -> VARIANT

Identifies the slowest queries and suggests changes that may improve performance.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR opt Cube name. Pass NULL for all cubes.
P_LIMIT VARCHAR opt Maximum number of queries to return.
P_DAYS VARCHAR opt Lookback period in days.
P_SLOW_MS VARCHAR opt Threshold in milliseconds for a query to be considered slow.
CALL CUBE.SLOW_QUERY_INSPECTOR(
'FINANCE',
'20',
'7',
'5000'
);

Minimum role: CUBE_ADMIN

RECOMMEND_CLUSTERING(
P_CUBE_NAME,
P_DATA_TABLE,
P_MIN_QUERIES,
P_APPLY
) -> VARIANT

Analyzes actual query history and recommends clustering keys for cube data tables.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR opt Cube name.
P_DATA_TABLE VARCHAR opt Specific data table to analyze.
P_MIN_QUERIES VARCHAR opt Minimum query count before making a recommendation.
P_APPLY VARCHAR opt Pass 'TRUE' to apply the recommendations. Omit to report only.

By default, the procedure reports recommendations without changing anything.

CALL CUBE.RECOMMEND_CLUSTERING(
'FINANCE',
NULL,
NULL,
NULL
);

Minimum role: CUBE_ADMIN

RECOMMEND_SEARCH_OPTIMIZATION(
P_CUBE_NAME,
P_DATA_TABLE,
P_MIN_QUERIES,
P_APPLY
) -> VARIANT

Analyzes actual query history and recommends Snowflake search optimization for cube data tables.

Parameter Type Req/Opt Description
P_CUBE_NAME VARCHAR opt Cube name.
P_DATA_TABLE VARCHAR opt Specific data table to analyze.
P_MIN_QUERIES VARCHAR opt Minimum query count before making a recommendation.
P_APPLY VARCHAR opt Pass 'TRUE' to apply the recommendations. Omit to report only.

By default, the procedure reports recommendations without changing anything.

CALL CUBE.RECOMMEND_SEARCH_OPTIMIZATION(
'FINANCE',
NULL,
NULL,
NULL
);