'\"macro stdmacro .\" .\" Copyright (c) 2016,2022 Red Hat. .\" Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. .\" .\" This program is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by the .\" Free Software Foundation; either version 2 of the License, or (at your .\" option) any later version. .\" .\" This program is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" for more details. .\" .\" .TH PMFETCHARCHIVE 3 "PCP" "Performance Co-Pilot" .SH NAME \f3pmFetchArchive\f1, \- get performance metric values directly from archives .SH "C SYNOPSIS" .ft 3 .ad l .hy 0 #include .sp int pmFetchArchive(pmResult **\fIresult\fP); .sp cc ... \-lpcp .hy .ad .ft 1 .SH DESCRIPTION The .B pmFetchArchive API is a variant of the .BR pmFetch (3) interface that may only be used when the current Performance Metrics Application Programming Interface (PMAPI) context is associated with a set of archives. .PP The .I result is instantiated with all of the metrics (and instances) from the next archive record, consequently there is no notion of a list of desired metrics, and the instance profile of the PMAPI context is ignored. .PP .B pmFetchArchive may return a .I result in which .I numpmid is zero. This is a .I record that indicates a temporal discontinuity in the time series of performance metrics. This can happen at the boundary between archives in a set or if the archive associated with the current PMAPI context was created using .BR pmlogextract (1) to concatenate two or more PCP archives, and the .I record marks a point in time between the end of one input archive and the start of the next input archive. .PP It is expected that .B pmFetchArchive will be used to create utilities that scan sets of archives, while the more common access to the archives would be via the .B pmFetch interface. .PP To skip records within the set of archives, use .BR pmSetMode (3) to change the collection time within the current PMAPI context, then call either .B pmFetchArchive .PP Note that the .I result returned by .B pmFetchArchive is dynamically allocated, and must be released using .BR pmFreeResult (3), but not .BR free (3). See .BR pmFetch (3), and .BR pmFreeResult (3) for further details. .PP .B pmFetchArchive returns zero on success. .SH DIAGNOSTICS .IP \f3PM_ERR_NOTARCHIVE\f1 the current PMAPI context is not associated with a set of archives .SH COMPATIBILITY Prior to PCP 7.0 the .I timestamp field in the \f(CRpmResult\fP struct was a \f(CRstruct timeval\fP. To support PMAPI transition, the old interface and semantics can be used if applications are recompiled with .BR \-DPMAPI_VERSION=2 . .PP For a time in PCP 6.x there was a routine with the same semantics as the current .B pmFetchArchive called .BR pmFetchHighResArchive , and a struct with the same definition as the current \f(CRpmResult\fP struct called \f(CRpmResultHighRes\fP, although both are now deprecated and compile-time support for .B pmFetchHighResArchive and \f(CRpmResultHighRes\fP will be removed in a future release. .SH SEE ALSO .BR PMAPI (3), .BR pmFetch (3), .BR pmFreeResult (3), .BR pmNewContext (3), .BR pmSetMode (3) and .BR pmTrimNameSpace (3).