tsm's constructor reaches into o.TSMOptions, o.MaxCaptureBytes, o.MaxFanoutCaptureBytes, and o.OutputFormat from the full options struct in pkg/backends/alb/mech/tsm/time_series_merge.go. OutputFormat is provider metadata, not load-balancing behavior, so threading it through tsm construction couples a mechanism to backend-format knowledge.
Proposal: introduce a tsm.Config value type populated once at the registry layer, pass it into New() in place of the full options.
tsm's constructor reaches into
o.TSMOptions,o.MaxCaptureBytes,o.MaxFanoutCaptureBytes, ando.OutputFormatfrom the full options struct in pkg/backends/alb/mech/tsm/time_series_merge.go.OutputFormatis provider metadata, not load-balancing behavior, so threading it through tsm construction couples a mechanism to backend-format knowledge.Proposal: introduce a
tsm.Configvalue type populated once at the registry layer, pass it intoNew()in place of the full options.