WithEnginePolicy configures chartengine matching/materialization policy.
(policy EnginePolicy)
| 85 | |
| 86 | // WithEnginePolicy configures chartengine matching/materialization policy. |
| 87 | func WithEnginePolicy(policy EnginePolicy) Option { |
| 88 | return func(cfg *engineConfig) error { |
| 89 | if policy.Autogen != nil { |
| 90 | autogen, err := normalizeAutogenPolicy(*policy.Autogen) |
| 91 | if err != nil { |
| 92 | return err |
| 93 | } |
| 94 | cfg.autogenOverride = policyOverride[AutogenPolicy]{set: true, value: autogen} |
| 95 | cfg.autogen = autogen |
| 96 | } |
| 97 | if policy.Selector != nil { |
| 98 | selector, err := compileEngineSelector(*policy.Selector) |
| 99 | if err != nil { |
| 100 | return fmt.Errorf("invalid engine selector: %w", err) |
| 101 | } |
| 102 | cfg.selectorOverride = policyOverride[metrixselector.Selector]{set: true, value: selector} |
| 103 | cfg.selector = selector |
| 104 | } |
| 105 | return nil |
| 106 | } |
| 107 | } |
| 108 | |
| 109 | // WithRuntimeStore configures internal chartengine runtime metrics store. |
| 110 | // Passing nil disables chartengine self-metrics. |
searching dependent graphs…