schema/utils/metric.sql
CREATE OR REPLACE FUNCTION metric_namespace(n TEXT) RETURNS TEXT
AS $$
SELECT REGEXP_REPLACE(n, '^([^_]+)_.*$', '\1')
$$
LANGUAGE SQL
STABLE
RETURNS NULL ON NULL INPUT;
CREATE OR REPLACE FUNCTION metric_subsystem(n TEXT) RETURNS TEXT
AS $$
SELECT REGEXP_REPLACE(n, '^[^_]+_([^_]+).*$', '\1')
$$
LANGUAGE SQL
STABLE
RETURNS NULL ON NULL INPUT;
CREATE OR REPLACE FUNCTION metric_name(n TEXT) RETURNS TEXT
AS $$
SELECT REGEXP_REPLACE(n, '^[^_]+_[^_]+_(.*)$', '\1')
$$
LANGUAGE SQL
STABLE
RETURNS NULL ON NULL INPUT;