pmNewContextZone — establish a reporting timezone based on a PMAPI context

C Synopsis

#include <pcp/pmapi.h>

int pmNewContextZone(void);

cc ... -lpcp

Description

The current reporting timezone affects the timezone used by pmCtime(3) and pmLocaltime(3).

If the current PMAPI context is an archive, pmNewContextZone uses the timezone from the archive label record to set the current reporting timezone.

If the current PMAPI context corresponds to a host source of metrics, pmNewContextZone executes a pmFetch(3) to retrieve the value for the metric pmcd.timezone and uses that to set the current reporting timezone.

In both cases, pmNewContextZone returns a value to identify the current reporting timezone that may be used in a subsequent call to pmUseZone(3) to restore this reporting timezone.

See Also

PMAPI(3), pmCtime(3), pmFetch(3), pmGetConfig(3), pmLocaltime(3), pmNewContext(3), pmNewZone(3), pmUseZone(3), pmWhichZone(3), pcp.conf(5), pcp.env(5) and environ(7).

Diagnostics

PM_ERR_NOCONTEXT

the current PMAPI context is not valid

other

a return value less than zero indicates a fatal error from a system call, most likely malloc(3)

Referenced By

PCPIntro(3), __pmConvertTime(3), pmCtime(3), pmLocaltime(3), __pmMktime(3), pmNewZone(3), __pmParseTime(3), pmParseTimeWindow(3), pmseries(1), pmUseZone(3), pmWhichZone(3).

The man page pmnewcontextzone(3) is an alias of pmNewContextZone(3).

PCP Performance Co-Pilot