---
name: "pmiWriteNow"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmiWrite"
---

# pmiWriteNow(3)

flush data to a LOGIMPORT archive

Part of [pmiWrite(3)](/pmiWrite/3.md).

## NAME

**pmiWrite**, **pmiWriteNow** - flush data to a LOGIMPORT archive

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**\
 **#include \<pcp/import.h\>**

**int pmiWrite(unsigned long long** *sec***, unsigned int** *nsec***);**\
 **int pmiWriteNow(void);**

**cc ... -lpcp\_import -lpcp**

## Perl SYNOPSIS

**use PCP::LogImport;**

**pmiWrite($***sec***, $***nsec***);**\
 **pmiWriteNow();**

## Python SYNOPSIS

**from pcp import pmi**

**log.pmiWrite(***sec***,** *nsec***)**

## DESCRIPTION

As part of the Performance Co-Pilot Log Import API (see [**LOGIMPORT**(3)](/LOGIMPORT/3.md)), these routines flush accumulated data values out to the PCP archive.

The data values and associated metadata have previously been built up using calls to [**pmiAddMetric**(3)](/pmiAddMetric/3.md), [**pmiAddInstance**(3)](/pmiAddInstance/3.md), [**pmiPutValue**(3)](/pmiPutValue/3.md) and [**pmiPutValueHandle**(3)](/pmiPutValueHandle/3.md).

The current set of data values and any new metadata is written to the archive with the specified timestamp in the source timezone of the archive (see [**pmiSetTimezone**(3)](/pmiSetTimezone/3.md)).

**pmiWrite** accepts a nanosecond-resolution timestamp: seconds since the Unix epoch as a 64-bit unsigned integer (*sec*) and nanoseconds within that second (*nsec*). A *sec* value of zero writes a record with a Unix epoch timestamp (1970-01-01 00:00:00 UTC).

**pmiWriteNow** writes a record timestamped with the current wall-clock time. In Python, **log.pmiWrite(0)** (integer zero with no *nsec* argument) is equivalent to calling **pmiWriteNow**.

## DIAGNOSTICS

Returns zero on success, else a negative value that can be turned into an error message by calling [**pmiErrStr**(3)](/pmiErrStr/3.md).

## SEE ALSO

[**LOGIMPORT**(3)](/LOGIMPORT/3.md), [**pmiAddInstance**(3)](/pmiAddInstance/3.md), [**pmiAddMetric**(3)](/pmiAddMetric/3.md), [**pmiErrStr**(3)](/pmiErrStr/3.md), [**pmiPutValue**(3)](/pmiPutValue/3.md), [**pmiPutValueHandle**(3)](/pmiPutValueHandle/3.md), [**pmiPutText**(3)](/pmiPutText/3.md), [**pmiPutLabel**(3)](/pmiPutLabel/3.md) and [**pmiSetTimezone**(3)](/pmiSetTimezone/3.md).
