Metrics
Gateway prefix: ${API_BASE}/metadata/metrics/...
DTO fields (MetricDef)
namestring, required, unique metric nameexpressionstring, required, calculation expression (such as SQL aggregation expression)descriptionstring, optional, description
Create / update metrics
- POST
/metrics - PUT
/metrics/{name}
Example: first create, then update the expression with a filter:
curl -X POST "${API_BASE}/metadata/metrics" -H "Content-Type: application/json" \
-d '{"name":"revenue","expression":"SUM(amount)","description":"Total revenue"}'
curl -X PUT "${API_BASE}/metadata/metrics/revenue" -H "Content-Type: application/json" \
-d '{"expression":"SUM(amount) FILTER (WHERE status=\"PAID\")"}'
Pagination and query by name
- GET
/metrics?page=&pageSize=&sortBy=&sortDirection= - GET
/metrics/{name}
curl "${API_BASE}/metadata/metrics?page=0&pageSize=10"
curl -X GET "${API_BASE}/metadata/metrics/revenue"