Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
trails
/
AutomaticMetricQueries
/
query-generators
/
common
/
File Content:
rules.ts
import { getUnit, getPerSecondRateUnit } from '../../units'; import { AutoQueryParameters } from './types'; /** These suffixes will set rate to true */ const RATE_SUFFIXES = new Set(['count', 'total', 'sum']); /** Non-default aggregattion keyed by suffix */ const SPECIFIC_AGGREGATIONS_FOR_SUFFIX: Record<string, string> = { count: 'sum', total: 'sum', sum: 'avg', }; function checkPreviousForUnit(suffix: string) { return suffix === 'total' || suffix === 'sum'; } export function getGeneratorParameters(metricParts: string[]): AutoQueryParameters { const suffix = metricParts.at(-1); if (suffix == null) { throw new Error('Invalid metric parameter'); } const rate = RATE_SUFFIXES.has(suffix); const unitSuffix = checkPreviousForUnit(suffix) ? metricParts.at(-2) : suffix; const unit = rate ? getPerSecondRateUnit(unitSuffix) : getUnit(unitSuffix); const agg = SPECIFIC_AGGREGATIONS_FOR_SUFFIX[suffix] || 'avg'; return { agg, unit, rate, }; }
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
index.ts
261 bytes
0644
queries.test.ts
3662 bytes
0644
queries.ts
1804 bytes
0644
rules.ts
996 bytes
0644
types.ts
87 bytes
0644
N4ST4R_ID | Naxtarrr