github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/clients/cmd/fluent-bit/buffer.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/go-kit/log" 7 8 "github.com/grafana/loki/clients/pkg/promtail/client" 9 ) 10 11 type bufferConfig struct { 12 buffer bool 13 bufferType string 14 dqueConfig dqueConfig 15 } 16 17 var defaultBufferConfig = bufferConfig{ 18 buffer: false, 19 bufferType: "dque", 20 dqueConfig: defaultDqueConfig, 21 } 22 23 // NewBuffer makes a new buffered Client. 24 func NewBuffer(cfg *config, logger log.Logger, metrics *client.Metrics, streamLagLabels []string) (client.Client, error) { 25 switch cfg.bufferConfig.bufferType { 26 case "dque": 27 return newDque(cfg, logger, metrics, streamLagLabels) 28 default: 29 return nil, fmt.Errorf("failed to parse bufferType: %s", cfg.bufferConfig.bufferType) 30 } 31 }