Documentation
¶
Index ¶
Constants ¶
View Source
const ( KindDashboard = "dashboard" KindAlert = "alert" KindRecording = "recording rule" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type GateOptions ¶
type MetricReport ¶
type MetricReport struct {
Name string `json:"name"`
Series int `json:"series"`
Consumers []Consumer `json:"consumers,omitempty"`
OffenderLabels []LabelStat `json:"offenderLabels,omitempty"`
TransitiveOnly bool `json:"transitiveOnly,omitempty"`
MonthlyCostUSD float64 `json:"monthlyCostUSD,omitempty"`
RAMBytes int64 `json:"ramBytes,omitempty"`
}
type MetricSource ¶
type Result ¶
type Result struct {
GeneratedAt time.Time `json:"generatedAt"`
PrometheusURL string `json:"prometheusURL"`
GrafanaURL string `json:"grafanaURL,omitempty"`
Version string `json:"version,omitempty"`
Lookback string `json:"lookback"`
Summary Summary `json:"summary"`
Unused []MetricReport `json:"unused"`
HighCardinality []MetricReport `json:"highCardinality"`
DancesAlone []RuleInfo `json:"dancesAlone"`
UnparsedExprs []string `json:"unparsedExprs,omitempty"`
}
func Run ¶
func Run(ctx context.Context, metrics MetricSource, usages []UsageSource, opts Options) (*Result, error)
type Summary ¶
type Summary struct {
TotalMetrics int `json:"totalMetrics"`
UsedMetrics int `json:"usedMetrics"`
UnusedMetrics int `json:"unusedMetrics"`
UnusedPct float64 `json:"unusedPct"`
TotalSeries int `json:"totalSeries"`
ReclaimableSeries int `json:"reclaimableSeries"`
LabelReclaimableSeries int `json:"labelReclaimableSeries,omitempty"`
EstMonthlySavingsUSD float64 `json:"estMonthlySavingsUSD,omitempty"`
EstRAMSavingsBytes int64 `json:"estRAMSavingsBytes,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.