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, }; }
Edit
Rename
Chmod
Delete
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