From e18335bc95d5ef547551cb9babbc402ba8061fd4 Mon Sep 17 00:00:00 2001
From: sergey ivanov <seriv@cs.umd.edu>
Date: Sat, 25 Apr 2020 22:35:01 -0400
Subject: [PATCH] check hardware clock

---
 lib/Site/HWClock.pm | 64 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 lib/Site/HWClock.pm

diff --git a/lib/Site/HWClock.pm b/lib/Site/HWClock.pm
new file mode 100644
index 0000000..4fcaf4f
--- /dev/null
+++ b/lib/Site/HWClock.pm
@@ -0,0 +1,64 @@
+package Site::HWClock;
+
+use strict;
+use warnings;
+
+use base 'Resmon::Module';
+
+use Time::HiRes;
+use Resmon::ExtComm qw(run_command);
+
+=pod
+
+=head1 NAME
+
+Site::HWClock - check HWClock status
+
+=head1 SYNOPSIS
+
+ Site::HWClock {
+    local : noop
+ }
+
+=head1 DESCRIPTION
+
+This module retrieves HWClock value and compares to System clock statistics.
+
+=head1 CONFIGURATION
+
+=over
+
+=item check_name
+
+Arbitrary name of the check.
+
+=head1 METRICS
+
+=over
+
+=item hwclock (time)
+
+=item system (time)
+
+=item diff (time)
+
+=back
+
+=cut
+
+sub handler {
+    my $self = shift;
+    my $config = $self->{'config'};
+    my $now = Time::HiRes::time();
+    my $rtc = qx(date +%s.%N -d "`hwclock -r`");
+    chomp $rtc;
+
+    return {
+      "hwclock" => [$rtc, "%F"],
+      "system"  => [$now, "%F"],
+      "diff"    => [$now - $rtc, "%F"]
+    };
+};
+
+1;
+
-- 
GitLab