__pmparsetime(3) — Linux manual page
PMPARSETIME(3) Library Functions Manual PMPARSETIME(3)
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 encapsu‐
late 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 specifi‐
cation 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 exam‐
ple), while logEnd should have its tv_sec component set to
PM_MAX_TIME_T.
The rslt structure must be allocated before either calling __pm‐
ParseTime or __pmParseHighResTime.
You also need to set the current PCP reporting time zone to cor‐
rectly reflect the -z and -Z command line parameters before call‐
ing __pmParseTime or __pmParseHighResTime. See pmUseZone(3) and
friends for information on how this is done.
If the conversion is successful, both __pmParseTime and __pm‐
ParseHighResTime 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 __pm‐
ParseCtime(3).
COLOPHON
This page is part of the PCP (Performance Co-Pilot) project. In‐
formation about the project can be found at ⟨http://www.pcp.io/⟩.
If you have a bug report for this manual page, send it to
pcp@groups.io. This page was obtained from the project's
upstream Git repository
⟨https://github.com/performancecopilot/pcp.git⟩ on 2024-06-14.
(At that time, the date of the most recent commit that was found
in the repository was 2024-06-14.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
Performance Co-Pilot PCP PMPARSETIME(3)
Pages that refer to this page: __pmparsectime(3)