master
go 23 lines 611 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package program
4
5 // LifecyclePolicy controls chart and dimension cardinality/expiry behavior.
6 //
7 // Counters are successful-cycle based by contract (failed collect attempts do not
8 // advance lifecycle clocks).
9 type LifecyclePolicy struct {
10 MaxInstances int
11 ExpireAfterCycles int
12 Dimensions DimensionLifecyclePolicy
13 }
14
15 // DimensionLifecyclePolicy controls per-chart materialized dimension lifecycle.
16 type DimensionLifecyclePolicy struct {
17 MaxDims int
18 ExpireAfterCycles int
19 }
20
21 func (p LifecyclePolicy) clone() LifecyclePolicy {
22 return p
23 }