Use Case

This value appears prominently at the top of the metric tile as a high-level indicator of system load.

CREATE OR REPLACE FUNCTION get_rh_summary_json RETURN CLOB IS
  l_json CLOB;
BEGIN
  WITH summary AS (
    SELECT ROUND(AVG((m.value / 100) / get_cpu_count()), 2) AS avg_cpu_utilization
      FROM v$metric_history m
    WHERE m.metric_name = 'CPU Usage Per Sec'
  )
  SELECT JSON_ARRAYAGG(
           JSON_OBJECT(
             'name' VALUE 'Avg CPU Utilization (Last Hour)',
             'value' VALUE avg_cpu_utilization,
             'valueFormat' VALUE 'PC'
           )
         )
    INTO l_json
    FROM summary;

  RETURN l_json;
END get_summary_json;
/