beostat_get_time¶
Name¶
beostat_get_time – get the time of the last update for node
Synopsis¶
#include <sys/beostat.h>
int beostat_get_time (int node, struct node_time *node_time);
Arguments¶
node
The node to query
node_time
A pointer to a
struct node_time
, which is defined as follows:struct node_time { time_t time; };
Description¶
beostat_get_time
executes on the master node and returns the time of
the last update to the Beostat
system by a given node. The
Beostat
functionality works by the having the sendstats
daemon
on each compute node periodically send node status information to the
master node’s recvstats
daemon. This function provides the time of
the last update from a given node. It is useful when timely information
is required and old information should be disregarded. The time is
measured in seconds since the standard UNIX Epoch (00:00:00 UTC, January
1, 1970). Use functions like ctime()
to convert to a human readable
string.
Examples¶
time_t time;
beostat_get_time (3, &time);
printf ("The time of the last update for node 3 is %s\n", ctime(&time));
Return Value¶
Return 0 on success. If an error occurs, it will return -1.
Errors¶
This function relies on the Beostat
subsystem, which consists of the
proc
filesystem on the remote node, the sendstats
daemon on the
remote node, the recvstats
daemon on the master node, and two shared
memory files in the directory /var/shm
. If any part of the system
breaks down, this function could fail.