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¶
nodeThe node to query
node_timeA 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.