oracular (3) __pmParseTime.3.gz

Provided by: libpcp3-dev_6.3.0-1_amd64 bug

NAME

       __pmParseTime, __pmParseHighResTime - parse time point specification

C SYNOPSIS

       #include "pmapi.h"
       #include "libpcp.h"

       int __pmParseTime(const char *string, struct timeval *logStart, struct timeval *logEnd,
               struct timeval *rslt, char **errMsg);
       int __pmParseHighResTime(const char *string, struct timespec *logStart, struct timespec *logEnd,
               struct timespec *rslt, char **errMsg);

       cc ... -lpcp

CAVEAT

       This documentation is intended for internal Performance Co-Pilot (PCP) developer use.

       These  interfaces  are  not part of the PCP APIs that are guaranteed to remain fixed across releases, and
       they may not work, or may provide different semantics at some point in the future.

DESCRIPTION

       __pmParseTime and __pmParseHighResTime are designed to encapsulate the interpretation  of  a  time  point
       specification in command line switches for use by the PCP client tools.

       These functions expects to be called with the time point specification as string.  If the tool is running
       against PCP archive(s), you also need to supply the start time of the first (only) archive  as  logStart,
       and  the  end  of the last (only) archive as logEnd.  See pmGetArchiveLabel(3) and pmGetArchiveEnd(3) for
       how to obtain values for these parameters.  If the tool is running against a  live  feed  of  performance
       data,  logStart  should  be the current time (but could be aligned on the next second for example), while
       logEnd should have its tv_sec component set to PM_MAX_TIME_T.

       The rslt structure must be allocated before either calling __pmParseTime or __pmParseHighResTime.

       You also need to set the current PCP reporting time zone to correctly reflect the -z and -Z command  line
       parameters  before  calling  __pmParseTime  or  __pmParseHighResTime.   See  pmUseZone(3) and friends for
       information on how this is done.

       If the conversion is successful, both __pmParseTime and __pmParseHighResTime return 0, and fill  in  rslt
       with  the  time  value  defined by the input parameters.  If the argument strings could not be parsed, it
       returns -1 and a dynamically allocated error message string in errMsg.  Be sure  to  free(3)  this  error
       message string.

SEE ALSO

       PMAPI(3),      pmGetArchiveEnd(3),      pmGetArchiveLabel(3),      pmNewContextZone(3),     pmNewZone(3),
       pmParseInterval(3), pmParseTimeWindow(3), pmUseZone(3), __pmConvertTime(3) and __pmParseCtime(3).