File: 41process-collector-linux.t

package info (click to toggle)
libnet-prometheus-perl 0.14-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 304 kB
  • sloc: perl: 1,847; makefile: 8
file content (47 lines) | stat: -rw-r--r-- 1,283 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

use v5.14;
use warnings;

use Test2::V0;
plan skip_all => "Not for this OS" unless $^O eq "linux";

use Net::Prometheus::ProcessCollector::linux;

sub _find_metric
{
   my ( $name, @samples ) = @_;
   ( grep { $_->fullname eq $name } @samples )[0];
}

{
   my $collector = Net::Prometheus::ProcessCollector::linux->new;
   ok( defined $collector, '$collector is defined' );

   my @samples = $collector->collect;
   ok( scalar @samples, '$collector->collect gave some samples' );

   my $metric = _find_metric( "process_cpu_seconds_total", @samples );
   ok( $metric, 'found process_cpu_seconds_total' );

   my $sample = $metric->samples->[0];
   is( $sample->varname, "process_cpu_seconds_total", 'sample varname' );
   is( $sample->labels, [], 'sample labels' );
   ok( $sample->value > 0, 'sample value above zero' );
}

# overridden names
{
   my $collector = Net::Prometheus::ProcessCollector::linux->new(
      prefix => "prefix_process",
      labels => [ label => "value" ],
   );

   my @samples = $collector->collect;
   my $metric = _find_metric( "prefix_process_cpu_seconds_total", @samples );
   ok( $metric, 'found process_cpu_seconds_total' );

   my $sample = $metric->samples->[0];
   is( $sample->labels, [ label => "value" ], 'sample labels' );
}

done_testing;