pt-mysql-summary: Feedback from Fred & Jay; Display wsrep_slave_threads, and also parse & display pc.ignore_sb, pc.ignore_quorum, gcache.size, gcache.dir, gcache.name, all from wsrep_provider_options

This commit is contained in:
Brian Fraser
2012-11-29 19:38:50 -03:00
parent ff3d496cf0
commit 98707e937c
4 changed files with 94 additions and 16 deletions

View File

@@ -2003,11 +2003,32 @@ section_percona_xtradb_cluster () {
name_val "Cluster" "$(get_var "wsrep_cluster_name" "$mysql_var")" name_val "Cluster" "$(get_var "wsrep_cluster_name" "$mysql_var")"
name_val "Node" "$(get_var "wsrep_node_name" "$mysql_var")" name_val "Node" "$(get_var "wsrep_node_name" "$mysql_var")"
name_val "Node status" "$(get_var "wsrep_cluster_status" "$mysql_status")" name_val "Node Status" "$(get_var "wsrep_cluster_status" "$mysql_status")"
name_val "Cluster address" "$(get_var "wsrep_cluster_address" "$mysql_var")" name_val "Cluster Address" "$(get_var "wsrep_cluster_address" "$mysql_var")"
name_val "SST method" "$(get_var "wsrep_sst_method" "$mysql_var")" name_val "SST Method" "$(get_var "wsrep_sst_method" "$mysql_var")"
name_val "Cluster size" "$(get_var "wsrep_cluster_size" "$mysql_status")" name_val "Cluster Size" "$(get_var "wsrep_cluster_size" "$mysql_status")"
name_val "Cluster nodes" "$(get_var "wsrep_incoming_addresses" "$mysql_status")" name_val "Cluster Nodes" "$(get_var "wsrep_incoming_addresses" "$mysql_status")"
name_val "Slave Threads" "$(get_var "wsrep_slave_threads" "$mysql_var")"
name_val "Ignore Split Brain" "$( parse_wsrep_provider_options "pc.ignore_sb" "$mysql_var" )"
name_val "Ignore Quorum" "$( parse_wsrep_provider_options "pc.ignore_quorum" "$mysql_var" )"
name_val "gcache Size" "$( parse_wsrep_provider_options "gcache.size" "$mysql_var" )"
name_val "gcache Directory" "$( parse_wsrep_provider_options "gcache.dir" "$mysql_var" )"
name_val "gcache Name" "$( parse_wsrep_provider_options "gcache.name" "$mysql_var" )"
}
parse_wsrep_provider_options () {
local looking_for="$1"
local mysql_var_file="$2"
grep wsrep_provider_options "$mysql_var_file" \
| perl -Mstrict -le '
my $provider_opts = scalar(<STDIN>);
my $looking_for = $ARGV[0];
my %opts = $provider_opts =~ /(\S+)\s*=\s*(\S*)(?:;|$)/g;
print $opts{$looking_for};
' "$looking_for"
} }
report_mysql_summary () { report_mysql_summary () {

View File

@@ -1105,11 +1105,32 @@ section_percona_xtradb_cluster () {
name_val "Cluster" "$(get_var "wsrep_cluster_name" "$mysql_var")" name_val "Cluster" "$(get_var "wsrep_cluster_name" "$mysql_var")"
name_val "Node" "$(get_var "wsrep_node_name" "$mysql_var")" name_val "Node" "$(get_var "wsrep_node_name" "$mysql_var")"
name_val "Node status" "$(get_var "wsrep_cluster_status" "$mysql_status")" name_val "Node Status" "$(get_var "wsrep_cluster_status" "$mysql_status")"
name_val "Cluster address" "$(get_var "wsrep_cluster_address" "$mysql_var")" name_val "Cluster Address" "$(get_var "wsrep_cluster_address" "$mysql_var")"
name_val "SST method" "$(get_var "wsrep_sst_method" "$mysql_var")" name_val "SST Method" "$(get_var "wsrep_sst_method" "$mysql_var")"
name_val "Cluster size" "$(get_var "wsrep_cluster_size" "$mysql_status")" name_val "Cluster Size" "$(get_var "wsrep_cluster_size" "$mysql_status")"
name_val "Cluster nodes" "$(get_var "wsrep_incoming_addresses" "$mysql_status")" name_val "Cluster Nodes" "$(get_var "wsrep_incoming_addresses" "$mysql_status")"
name_val "Slave Threads" "$(get_var "wsrep_slave_threads" "$mysql_var")"
name_val "Ignore Split Brain" "$( parse_wsrep_provider_options "pc.ignore_sb" "$mysql_var" )"
name_val "Ignore Quorum" "$( parse_wsrep_provider_options "pc.ignore_quorum" "$mysql_var" )"
name_val "gcache Size" "$( parse_wsrep_provider_options "gcache.size" "$mysql_var" )"
name_val "gcache Directory" "$( parse_wsrep_provider_options "gcache.dir" "$mysql_var" )"
name_val "gcache Name" "$( parse_wsrep_provider_options "gcache.name" "$mysql_var" )"
}
parse_wsrep_provider_options () {
local looking_for="$1"
local mysql_var_file="$2"
grep wsrep_provider_options "$mysql_var_file" \
| perl -Mstrict -le '
my $provider_opts = scalar(<STDIN>);
my $looking_for = $ARGV[0];
my %opts = $provider_opts =~ /(\S+)\s*=\s*(\S*)(?:;|$)/g;
print $opts{$looking_for};
' "$looking_for"
} }
report_mysql_summary () { report_mysql_summary () {

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
plan 36 plan 41
. "$LIB_DIR/alt_cmds.sh" . "$LIB_DIR/alt_cmds.sh"
. "$LIB_DIR/log_warn_die.sh" . "$LIB_DIR/log_warn_die.sh"
@@ -751,6 +751,36 @@ no_diff \
"$samples/expected_output_temp007.txt" \ "$samples/expected_output_temp007.txt" \
"report_mysql_summary, dir: temp007 (PXC, traditional master)" "report_mysql_summary, dir: temp007 (PXC, traditional master)"
# ###########################################################################
# parse_wsrep_provider_options
# ###########################################################################
vars_file="$samples/temp006/mysql-variables"
is \
"$(parse_wsrep_provider_options "base_host" "$vars_file")" \
"192.168.122.1" \
"parse_wsrep_provider_options works for the first option"
is \
"$(parse_wsrep_provider_options "replicator.commit_order" "$vars_file")" \
"3" \
"parse_wsrep_provider_options works for the last option"
is \
"$(parse_wsrep_provider_options "pc.ignore_sb" "$vars_file")" \
"false" \
"parse_wsrep_provider_options works for pc.ignore_sb"
is \
"$(parse_wsrep_provider_options "pc.ignore_quorum" "$vars_file")" \
"false" \
"parse_wsrep_provider_options works for pc.ignore_quorum"
is \
"$(parse_wsrep_provider_options "gcache.name" "$vars_file")" \
"/tmp/12345/data//galera.cache" \
"parse_wsrep_provider_options works for gcache.name"
# ########################################################################### # ###########################################################################
# Done # Done

View File

@@ -203,11 +203,17 @@ wsrep_cluster_size 100
# Percona XtraDB Cluster ##################################### # Percona XtraDB Cluster #####################################
Cluster | pt_sandbox_cluster Cluster | pt_sandbox_cluster
Node | 12345 Node | 12345
Node status | Primary Node Status | Primary
Cluster address | gcomm:// Cluster Address | gcomm://
SST method | rsync SST Method | rsync
Cluster size | 3 Cluster Size | 3
Cluster nodes | 192.168.0.100,192.168.0.100,192.168.0.100 Cluster Nodes | 192.168.0.100,192.168.0.100,192.168.0.100
Slave Threads | 2
Ignore Split Brain | false
Ignore Quorum | false
gcache Size | 128M
gcache Directory | /tmp/12345/data/
gcache Name | /tmp/12345/data//galera.cache
# Plugins #################################################### # Plugins ####################################################
InnoDB compression | ACTIVE InnoDB compression | ACTIVE
# Query cache ################################################ # Query cache ################################################