#!/usr/bin/perl

use strict;
use warnings;
use open ':std', ':encoding(UTF-8)';

use JSON::XS;
use FileHandle;
use Text::CSV::Easy(qw/csv_build csv_parse/);

use lib '/app/tools/common/lib';
use Common::Session;

my $now   = Common::Session::mysql_now;
my ($min) = $now =~ m/.*?\s(.....)/;
my $dbx   = Common::Session::getdbx('admindb');
my $dbh   = Common::Session::getdbh('db02');

my $monrow = $dbx->resultset('Report::SysDbReplicaMonitor')->find($min);
my $status = $dbh->selectall_hashref( "show slave status", "Master_Host" );
$status = $status->{'db01'};

my $running = $status->{'Slave_IO_Running'} eq 'Yes' ? 1 : 0;

$monrow->replica_io_running($running);
$monrow->seconds_behind_master( $status->{'Seconds_Behind_Master'} );
$monrow->master_log_file( $status->{'Master_Log_File'} );
$monrow->read_master_log_pos( $status->{'Read_Master_Log_Pos'} );
$monrow->relay_log_file( $status->{'Relay_Log_File'} );
$monrow->relay_log_pos( $status->{'Relay_Log_Pos'} );
$monrow->updated_at($now);
$monrow->update;

print "$now $status->{'Slave_IO_Running'}\n";
