--- /dev/null
+package System::Introspector::DiskUsage;
+use Moo;
+
+sub gather {
+ my ($self) = @_;
+ my @lines = `df -aP`;
+ shift @lines; # header
+ chomp @lines;
+ my @rows;
+ for my $line (@lines) {
+ my %row;
+ @row{qw(
+ filesystem
+ blocks_1024
+ used
+ available
+ capacity
+ mount_point
+ )} = split m{\s+}, $line;
+ push @rows, \%row;
+ }
+ return \@rows;
+}
+
+1;