[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.10 Statistics

`dio87d' is the daemon which manages statistics. It stores for each task and for each job the 30 last durations.

By consulting this daemon, you can get the start time and the duration of the 30 last executions for a task or a job. You can also get minimum, maximum and average durations for a task or a job. This durations are calculated from the 30 last execution durations.

To communicate with `dio87d', you can use `dio87c' utility.

We create a referential `ref1' with two tasks `task1' and `task2'. They will be planed every days (`rtoa add always') :

 
$ dio87c ra ref1
$
$ dio87c rta ref1 task1
$ dio87c rtoa ref1 task1 add always
$
$ dio87c rta ref1 task2
$ dio87c rtoa ref1 task2 add always
$

In `task1', we create two jobs `job1' and `job2' which will execute `/bin/sleep' command. We use rtsa to set the parameter to pass to `sleep'. The first job will wait 30 seconds and the second 90 seconds.

 
$ dio87c rja ref1 task1 job1
$ dio87c rjsp ref1 task1 job1 "/bin/sleep"
$ dio87c rjsa ref1 task1 job1 30
$
$ dio87c rja ref1 task1 job2
$ dio87c rjsp ref1 task1 job2 "/bin/sleep"
$ dio87c rjsa ref1 task1 job2 90
$

For the second task, we create a job `job1' which will wait 40 seconds :

 
$ dio87c rja ref1 task2 job1
$ dio87c rjsp ref1 task2 job1 "/bin/sleep"
$ dio87c rjsa ref1 task2 job1 40

We create a day of exploitation from our referential and then we follow jobs execution.

 
$ dio87c rp ref1 "2004-09-09" d1 
$ dio87c -- ejm -r
R       d1      task1  job1    running
R       d1      task1  job2    running
R       d1      task2  job1    running
$

The three are running. After two minutes, all jobs are terminated :

 
$ dio87c -- ejm -rt
T       d1      task1  job1    terminated
T       d1      task1  job2    terminated
T       d1      task2  job1    terminated
$

Now, we change job durations with rjsa and we create a second day of exploitation :

 
$ dio87c rjsa ref1 task1 job1 60
$ dio87c rjsa ref1 task1 job2 100
$ dio87c rjsa ref1 task2 job1 30
$
$ dio87c rp ref1 "2004-09-09" d2 
$
$ dio87c -- ejm -r
R       d2      task1  job1    running
R       d2      task1  job2    running
R       d2      task2  job1    running
$

When all jobs are terminated, we use `dio87d' commands to verify that our referential, tasks and jobs are created in `dio87d' daemon.

The srl command prints the referential list, here `ref1'. The stl command prints the tasks list of a referential and `sjl' prints the jobs list of a task :

 
$ dio87c srl
ref1
$
$ dio87c stl ref1
task1
task2
$
$ dio87c sjl ref1 task1
job1
job2
$
$ dio87c sjl ref1 task2
job1
$

We consult statistic about `job1' of `task1' with the sji command. Called without arguments, it prints minimum, maximum and average duration :

 
$ dio87c sji ref1 task1 job1
average 45
mini    30
maxi    60
$

We can print durations list with start times by using `-d' option of xji :

 
$ dio87c -- sji -d ref1 task1 job1
2004-09-09 14:41:00        30
2004-09-09 15:48:00        60
$

We find two durations of 30 and 60 seconds which correspond to the two days we have created.

We consult statistics of the other jobs :

 
$ dio87c sji ref1 task1 job2
average 95
mini    90
maxi    100
$
$ dio87c -- sji -d ref1 task1 job2
2004-09-09 22:41:00        90
2004-09-09 22:48:00        100
$
$
$ dio87c sji ref1 task2 job1
average 35
mini    30
maxi    40
$
$ dio87c sji -- ref1 -d task2 job1
2004-09-09 22:41:00        40
2004-09-09 22:48:00        30
$

Durations statistics of a task are obtained by using the sti command. This command prints minimum, maximum and average duration of a task. With the `-d' option, it prints the 30 last durations with start times :

 
$ dio87c sti ref1 tache1
average 95
mini    90
maxi    100
$
$ dio87c -- sti -d ref1 tache1
2004-09-09 22:41:00        90
2004-09-09 22:48:00        100
$

Informations stored in `dio87d' are independant from the ones stored in `dio87d'. We can delete our referential in `dio87d' without deleting it in `dio87d'.

To verify this, we print the referentials list in the two daemons by using `rl' and `srl' commands ;

 
$ dio87c rl
ref1
$ dio87c srl
ref1

Then, we delete `ref1' in `dio87d' daemon with rk command ;

 
$ dio87c rk ref1

We print referentials list declared in each daemons :

 
$ dio87c rl
$ dio87c srl
ref1
$ dio87c sji -- ref1 -d task2 job1
2004-09-09 22:41:00        40
2004-09-09 22:48:00        30
$

We can verify that `ref1' doesn't exist yet in `dio87d' and that it always exits in `dio87d'. Statistics are not destroyed and can be consulted.

You can delete statistics about `ref1' by calling `srk' command :

 
$ dio87c srk ref1
$ dio87c srl
$


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by dom on September, 11 2005 using texi2html