PMIPUTMARK(3)
π PMIPUTMARK(3) π
okay bestie, gather round, because today we're talking about pmiPutMark from the Performance Co-Pilot library functions manual β aka the little function that writes a <mark> record to a PCP archive, and honestly? it's giving boundary-setting queen. β¨
πΈ NAME πΈ
pmiPutMark β write a <mark> record to a PCP archive π
β¨ C SYNOPSIS β¨
#include <pcp/pmapi.h>
#include <pcp/import.h>
int pmiPutMark(void);
cc ... -lpcp_import -lpcp
π¦ Perl SYNOPSIS π¦
use PCP::LogImport;
pmiPutMark();
π Python SYNOPSIS π
from pcp import pmi
log.pmiPutMark()
π DESCRIPTION π
so here's the tea, bestie π. As part of the Performance Co-Pilot Log Import API (peep LOGIMPORT(3) for the full lore), pmiPutMark writes a <mark> record to the current PCP output archive. no cap.
You need this when there's a temporal discontinuity between the current input source and the next input source (if there even is one), and it should be called after the final call to pmiWrite(3) for the current input. literally after. don't do it before, that's not the vibe. π
And if there's no next input to be processed, or no temporal gap between sources? then the <mark> record is not required. you can just chill. π
The <mark> record is used to signify a temporal gap β so that when you're replaying the output PCP archive, interpolation of metric values should not be performed between the last timestamp in the current input source and the first timestamp in the next input source. i.e. across the <mark> record. π«ππ«
think of it like: no, you cannot smooth over the gap, the gap is real, respect the boundary periodt. π
π DIAGNOSTICS π
pmiPutMark returns zero on success, else a negative value that can be turned into an error message by calling pmiErrStr(3). so if it's mad at you, ask pmiErrStr(3) what's wrong. communication is key. π«Ά
π₯ SEE ALSO π₯
LOGIMPORT(3)pmiAddInstance(3)pmiAddMetric(3)pmiErrStr(3)pmiPutResult(3)pmiPutValue(3)pmiPutValueHandle(3)pmiPutText(3)pmiPutLabel(3)pmiWrite(3)
Performance Co-Pilot β¨ PMIPUTMARK(3) β that's the whole page bestie, go forth and mark those temporal gaps, ily, mwah πππ¦
π¦ where this page comes from
- arch rolling: pcp 7.2.2-2 Β· GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-3.0
- fedora 43: pcp-doc 7.2.1-1.fc43
- fedora 43: pcp-doc 7.2.2-1.fc43
- fedora 43: pcp-doc 7.2.2-2.fc43 Β· GPL-2.0-or-later AND CC-BY-3.0
- fedora 44: pcp-doc 7.2.1-1.fc44
- fedora 44: pcp-doc 7.2.2-1.fc44
- fedora 44: pcp-doc 7.2.2-2.fc44 Β· GPL-2.0-or-later AND CC-BY-3.0
- ubuntu stonking: libpcp4-dev 7.2.1-2build1
- Copyright (c) 2016-2018 Red Hat. All Rights Reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms