спецификация точки времени синтаксического анализа (parse time point specification)
Имя (Name)
__pmParseTime
- parse time point specification
Синопсис C (C Synopsis)
#include "pmapi.h"
#include "libpcp.h"
int __pmParseTime(const char *
string, struct timeval *
logStart,
struct timeval *
logEnd, struct timeval *
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
is designed to encapsulate the interpretation of a
time point specification in command line switches for use by the
PCP client tools.
This function 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 INT_MAX.
The rslt
structure must be allocated before calling
__pmParseTime
.
You also need to set the current PCP reporting time zone to
correctly reflect the -z and -Z command line parameters before
calling __pmParseTime
. See pmUseZone(3) and friends for
information on how this is done.
If the conversion is successful, __pmParseTime
returns 0, and
fills 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).