beostat_get_time – get the time of the last update for node


#include <sys/beostat.h>
int beostat_get_time (int node, struct node_time *node_time);



The node to query


A pointer to a struct node_time, which is defined as follows:

struct node_time {
  time_t time;


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.


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.


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.