File: export_states_prometheus

package info (click to toggle)
sreview 0.12.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,504 kB
  • sloc: perl: 12,360; javascript: 509; sh: 72; makefile: 8
file content (32 lines) | stat: -rw-r--r-- 942 bytes parent folder | download | duplicates (5)
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
#!/usr/bin/perl -w

use warnings;
use strict;

use DBI;
use File::Temp qw/tempfile/;

our $config;
require "./config.pl";

my $dbh = DBI->connect($config->{dbistring}, '', '') or die "Cannot connect to database!";

my $tst = $dbh->prepare("SELECT count(*) AS count, state FROM talks GROUP BY state");
my $rst = $dbh->prepare("SELECT rooms.altname AS name, talks.id FROM rooms LEFT JOIN talks ON (rooms.id = talks.room AND talks.starttime < now() AND talks.endtime > now()) WHERE altname IS NOT NULL");

$tst->execute();
$rst->execute();

open PROM, ">/srv/node_exporter/textfiles/sreview.prom";
while(my $row = $tst->fetchrow_hashref()) {
	print PROM "sreview_talkstate{state=\"" . $row->{state} . "\"} " . $row->{count} . "\n";
}
while(my $row = $rst->fetchrow_hashref()) {
	print PROM "sreview_roomstate{stream=\"vocto-" . $row->{name} . "\"} ";
	if(defined($row->{id})) {
		print PROM "1\n";
	} else {
		print PROM "0\n";
	}
}
close PROM;