ssube/prometheus-sql-adapter

View on GitHub
schema/utils/metric.sql

Summary

Maintainability
Test Coverage
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;