@@ -38,6 +38,8 @@ type ClientConfig struct {
38
38
TLSEnabled bool `yaml:"tls_enabled"`
39
39
TLS tls.ClientConfig `yaml:",inline"`
40
40
GRPCCompression string `yaml:"grpc_compression"`
41
+ MaxRecvMsgSize int `yaml:"max_recv_msg_size"`
42
+ MaxSendMsgSize int `yaml:"max_send_msg_size"`
41
43
}
42
44
43
45
// RegisterFlagsWithPrefix registers flags with prefix.
@@ -46,6 +48,8 @@ func (cfg *ClientConfig) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet)
46
48
f .DurationVar (& cfg .RemoteTimeout , prefix + ".remote-timeout" , 2 * time .Second , "Timeout for downstream alertmanagers." )
47
49
f .StringVar (& cfg .GRPCCompression , prefix + ".grpc-compression" , "" , "Use compression when sending messages. Supported values are: 'gzip', 'snappy' and '' (disable compression)" )
48
50
cfg .TLS .RegisterFlagsWithPrefix (prefix , f )
51
+ f .IntVar (& cfg .MaxRecvMsgSize , prefix + ".grpc-max-recv-msg-size" , 16 * 1024 * 1024 , "gRPC client max receive message size (bytes)." )
52
+ f .IntVar (& cfg .MaxSendMsgSize , prefix + ".grpc-max-send-msg-size" , 4 * 1024 * 1024 , "gRPC client max send message size (bytes)." )
49
53
}
50
54
51
55
type alertmanagerClientsPool struct {
@@ -55,8 +59,8 @@ type alertmanagerClientsPool struct {
55
59
func newAlertmanagerClientsPool (discovery client.PoolServiceDiscovery , amClientCfg ClientConfig , logger log.Logger , reg prometheus.Registerer ) ClientsPool {
56
60
// We prefer sane defaults instead of exposing further config options.
57
61
grpcCfg := grpcclient.Config {
58
- MaxRecvMsgSize : 16 * 1024 * 1024 ,
59
- MaxSendMsgSize : 4 * 1024 * 1024 ,
62
+ MaxRecvMsgSize : amClientCfg . MaxRecvMsgSize ,
63
+ MaxSendMsgSize : amClientCfg . MaxSendMsgSize ,
60
64
GRPCCompression : amClientCfg .GRPCCompression ,
61
65
RateLimit : 0 ,
62
66
RateLimitBurst : 0 ,
0 commit comments