---
name: "pmnewcontextzone"
section: "3"
platform: "linux"
package: "libpcp3-dev"
version: "4.3.2+really4.3.1-0.1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://carta.tech/man/pmNewContextZone"
---

# pmnewcontextzone(3)

establish a reporting timezone based on a PMAPI context

Part of [pmNewContextZone(3)](/man/pmNewContextZone/3.md).

## NAME

**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)](/man/pmCtime/3.md) and [**pmLocaltime**(3)](/man/pmLocaltime/3.md).

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)](/man/pmFetch/3.md) 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)](/man/pmUseZone/3.md) to restore this reporting timezone.

## SEE ALSO

[**PMAPI**(3)](/man/PMAPI/3.md), [**pmCtime**(3)](/man/pmCtime/3.md), [**pmFetch**(3)](/man/pmFetch/3.md), [**pmGetConfig**(3)](/man/pmGetConfig/3.md), [**pmLocaltime**(3)](/man/pmLocaltime/3.md), [**pmNewContext**(3)](/man/pmNewContext/3.md), [**pmNewZone**(3)](/man/pmNewZone/3.md), [**pmUseZone**(3)](/man/pmUseZone/3.md), [**pmWhichZone**(3)](/man/pmWhichZone/3.md), [**pcp.conf**(5)](/man/pcp.conf/5.md), [**pcp.env**(5)](/man/pcp.env/5.md) and [**environ**(7)](/man/environ/7.md).

## 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)](/man/malloc/3.md)
