diff options
| author | Paul Buetow <paul@buetow.org> | 2024-12-11 10:21:41 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-12-11 10:21:41 +0200 |
| commit | 236ba86991ed2865e3336a671829f023b6dc6dbd (patch) | |
| tree | 8fc3da8ed761a4a1199db15698ca891521e28166 /frontends | |
| parent | b4ff1a2e3e9191f94108db210c0f14bb07c39f38 (diff) | |
make it compatible to macOS book
Diffstat (limited to 'frontends')
| -rw-r--r-- | frontends/Rexfile | 2 | ||||
| -rw-r--r-- | frontends/scripts/foostats.pl | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/frontends/Rexfile b/frontends/Rexfile index 039ad86..6e02adf 100644 --- a/frontends/Rexfile +++ b/frontends/Rexfile @@ -532,7 +532,7 @@ task 'foostats', group => 'frontends', append_if_no_such_line '/etc/daily.local', 'perl /usr/local/bin/foostats.pl --parse-logs'; - my @deps = qw(p5-Digest-SHA3 p5-PerlIO-gzip p5-JSON p5-String-Util); + my @deps = qw(p5-Digest-SHA3 p5-PerlIO-gzip p5-JSON p5-String-Util p5-Compress-Bzip2); pkg $_, ensure => present for @deps; # For now, custom syslog config only required for foostats (to keep some logs for longer) diff --git a/frontends/scripts/foostats.pl b/frontends/scripts/foostats.pl index d40e514..a4ec41b 100644 --- a/frontends/scripts/foostats.pl +++ b/frontends/scripts/foostats.pl @@ -301,7 +301,8 @@ package Foostats::Aggregator { package Foostats::Outputter { use JSON; - use Sys::Hostname; + use Sys::Hostname; + use PerlIO::gzip; sub new ($class, %args) { my $self = bless \%args, $class; @@ -311,8 +312,8 @@ package Foostats::Outputter { sub last_processed_date ($self, $proto) { my $hostname = hostname(); - my @processed = glob $self->{stats_dir} . "/${proto}_????????.$hostname.json"; - my ($date) = @processed ? ($processed[-1] =~ /_(\d{8})\.$hostname\.json/) : 0; + my @processed = glob $self->{stats_dir} . "/${proto}_????????.$hostname.json.gz"; + my ($date) = @processed ? ($processed[-1] =~ /_(\d{8})\.$hostname\.json.gz/) : 0; return int($date); } @@ -321,11 +322,11 @@ package Foostats::Outputter { sub write_json ($self, $date_key, $stats) { my $hostname = hostname(); - my $path = $self->{stats_dir} . "/${date_key}.$hostname.json"; + my $path = $self->{stats_dir} . "/${date_key}.$hostname.json.gz"; my $json = encode_json $stats; say "Writing $path"; - open my $fd, '>', "$path.tmp" or die "$path.tmp: $!"; + open my $fd, '>:gzip', "$path.tmp" or die "$path.tmp: $!"; print $fd $json; close $fd; |
