From b9f10034f30fc3bf00288051d6e98d68daffb339 Mon Sep 17 00:00:00 2001 From: Andrei Chasovskikh Date: Wed, 15 Aug 2018 17:52:54 -0700 Subject: [PATCH 1/3] Rename client input/output buffer metrics https://github.com/antirez/redis/commit/be88c0b16a53f5763d8fc1ae683f99ee39b0d68e --- metricbeat/module/redis/info/data.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/metricbeat/module/redis/info/data.go b/metricbeat/module/redis/info/data.go index 7e98a40e7b91..33d8c23bb9cc 100644 --- a/metricbeat/module/redis/info/data.go +++ b/metricbeat/module/redis/info/data.go @@ -26,10 +26,10 @@ import ( var ( schema = s.Schema{ "clients": s.Object{ - "connected": c.Int("connected_clients"), - "longest_output_list": c.Int("client_longest_output_list"), - "biggest_input_buf": c.Int("client_biggest_input_buf"), - "blocked": c.Int("blocked_clients"), + "connected": c.Int("connected_clients"), + "max_output_buffer": c.Int("client_recent_max_output_buffer"), + "max_input_buffer": c.Int("client_recent_max_input_buffer"), + "blocked": c.Int("blocked_clients"), }, "cluster": s.Object{ "enabled": c.Bool("cluster_enabled"), From 60c5df9957edbb89d24af8e76e625de5cde469a3 Mon Sep 17 00:00:00 2001 From: andreycha Date: Mon, 20 Aug 2018 04:07:13 +0100 Subject: [PATCH 2/3] Make buffer metrics optional, support all Redis versions. --- metricbeat/module/redis/info/_meta/data.json | 4 +++- metricbeat/module/redis/info/_meta/fields.yml | 12 ++++++++++-- metricbeat/module/redis/info/data.go | 10 ++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/metricbeat/module/redis/info/_meta/data.json b/metricbeat/module/redis/info/_meta/data.json index 22cdac625aab..3fcf66ec4878 100644 --- a/metricbeat/module/redis/info/_meta/data.json +++ b/metricbeat/module/redis/info/_meta/data.json @@ -16,7 +16,9 @@ "biggest_input_buf": 0, "blocked": 0, "connected": 1, - "longest_output_list": 0 + "longest_output_list": 0, + "max_output_buffer": 0, + "max_input_buffer": 0 }, "cluster": { "enabled": false diff --git a/metricbeat/module/redis/info/_meta/fields.yml b/metricbeat/module/redis/info/_meta/fields.yml index aa31e962447e..ffade5770400 100644 --- a/metricbeat/module/redis/info/_meta/fields.yml +++ b/metricbeat/module/redis/info/_meta/fields.yml @@ -16,11 +16,19 @@ - name: longest_output_list type: long description: > - Longest output list among current client connections. + Longest output list among current client connections. For Redis 4.x and below. - name: biggest_input_buf type: long description: > - Biggest input buffer among current client connections. + Biggest input buffer among current client connections. For Redis 4.x and below. + - name: max_output_buffer + type: long + description: > + Biggest output list among current client connections. For Redis 5.0 and above. + - name: max_input_buffer + type: long + description: > + Biggest input buffer among current client connections. For Redis 5.0 and above. - name: blocked type: long description: > diff --git a/metricbeat/module/redis/info/data.go b/metricbeat/module/redis/info/data.go index 33d8c23bb9cc..99d16b3a7fab 100644 --- a/metricbeat/module/redis/info/data.go +++ b/metricbeat/module/redis/info/data.go @@ -26,10 +26,12 @@ import ( var ( schema = s.Schema{ "clients": s.Object{ - "connected": c.Int("connected_clients"), - "max_output_buffer": c.Int("client_recent_max_output_buffer"), - "max_input_buffer": c.Int("client_recent_max_input_buffer"), - "blocked": c.Int("blocked_clients"), + "connected": c.Int("connected_clients"), + "longest_output_list": c.Int("client_longest_output_list", s.Optional), // Redis 4.x and below + "biggest_input_buf": c.Int("client_biggest_input_buf", s.Optional), // Redis 4.x and below + "max_output_buffer": c.Int("client_recent_max_output_buffer", s.Optional), // Redis 5.0 and above + "max_input_buffer": c.Int("client_recent_max_input_buffer", s.Optional), // Redis 5.0 and above + "blocked": c.Int("blocked_clients"), }, "cluster": s.Object{ "enabled": c.Bool("cluster_enabled"), From b5801cf627c5110e5a2d495a1594af7af66e3628 Mon Sep 17 00:00:00 2001 From: achasovskikh Date: Tue, 21 Aug 2018 22:31:53 +0100 Subject: [PATCH 3/3] Fix code format. --- metricbeat/module/redis/info/data.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/metricbeat/module/redis/info/data.go b/metricbeat/module/redis/info/data.go index 99d16b3a7fab..968e428b8c94 100644 --- a/metricbeat/module/redis/info/data.go +++ b/metricbeat/module/redis/info/data.go @@ -27,10 +27,10 @@ var ( schema = s.Schema{ "clients": s.Object{ "connected": c.Int("connected_clients"), - "longest_output_list": c.Int("client_longest_output_list", s.Optional), // Redis 4.x and below - "biggest_input_buf": c.Int("client_biggest_input_buf", s.Optional), // Redis 4.x and below + "longest_output_list": c.Int("client_longest_output_list", s.Optional), // Redis 4.x and below + "biggest_input_buf": c.Int("client_biggest_input_buf", s.Optional), // Redis 4.x and below "max_output_buffer": c.Int("client_recent_max_output_buffer", s.Optional), // Redis 5.0 and above - "max_input_buffer": c.Int("client_recent_max_input_buffer", s.Optional), // Redis 5.0 and above + "max_input_buffer": c.Int("client_recent_max_input_buffer", s.Optional), // Redis 5.0 and above "blocked": c.Int("blocked_clients"), }, "cluster": s.Object{