diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /man/man3/pmatomstr.3 | |
download | pcp-debian/3.9.10.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'man/man3/pmatomstr.3')
-rw-r--r-- | man/man3/pmatomstr.3 | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/man/man3/pmatomstr.3 b/man/man3/pmatomstr.3 new file mode 100644 index 0000000..b5fa298 --- /dev/null +++ b/man/man3/pmatomstr.3 @@ -0,0 +1,119 @@ +'\"macro stdmacro +.\" +.\" Copyright (c) 2000 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 PMATOMSTR 3 "PCP" "Performance Co-Pilot" +.SH NAME +\f3pmAtomStr\f1, +\f3pmAtomStr_r\f1 \- convert a performance metric value into a string +.SH "C SYNOPSIS" +.ft 3 +#include <pcp/pmapi.h> +.sp +const char *pmAtomStr(const pmAtomValue *\fIavp\fP, int \fItype\fP); +.br +char *pmAtomStr_r(const pmAtomValue *\fIavp\fP, int \fItype\fP, char *\fIbuf\fP, int \fIbuflen\fP); +.sp +cc ... \-lpcp +.ft 1 +.SH DESCRIPTION +.de CW +.ie t \f(CW\\$1\f1\\$2 +.el \fI\\$1\f1\\$2 +.. +All performance metric values may be encoded in a +.CW pmAtomValue +union, defined as follows; +.PP +.ft CW +.nf +.in +0.5i +typedef union { + __int32_t l; /* 32-bit signed */ + __uint32_t ul; /* 32-bit unsigned */ + __int64_t ll; /* 64-bit signed */ + __uint64_t ull; /* 64-bit unsigned */ + float f; /* 32-bit floating point */ + double d; /* 64-bit floating point */ + char *cp; /* char ptr */ + pmValueBlock *vbp; /* pmValueBlock ptr */ +} pmAtomValue; +.in +.fi +.ft 1 +.PP +Given the performance metric value pointed to by +.IR avp , +and a performance metric type defined by +.IR type , +.B pmAtomStr +will generate the corresponding metric value as a string, +suitable for diagnostic or report output. +The +.B pmAtomStr_r +function does the same, but stores the result in a user-supplied buffer +.I buf +of length +.IR buflen , +which should have room for at least 80 bytes. +.PP +The value for +.I type +is typically extracted from a +.CW pmDesc +structure, following a call to +.BR pmLookupDesc (3) +for a particular performance metric. +.PP +If the +.I type +is +.B PM_TYPE_STRING +values longer than 38 characters will be truncated after 34 characters, +and truncation shown with ellipsis ``...'' at the end of the value. +.PP +If the +.I type +is +.B PM_TYPE_AGGREGATE +then up to the first three 32-bit words are displayed as hexadecimal values. +.PP +If the +.I type +is +.B PM_TYPE_EVENT +then a summary of the number of event records found in the value +is generated. +.PP +The return value from +.B pmAtomStr +is held in a single static buffer, so +the returned value is only valid until the next call +to +.BR pmAtomStr . +.SH NOTES +.B pmAtomStr +returns a pointer to a static buffer and hence is not thread-safe. +Multi-threaded applications should use +.B pmAtomStr_r +instead. +.SH SEE ALSO +.BR PMAPI (3), +.BR pmConvScale (3), +.BR pmExtractValue (3), +.BR pmLookupDesc (3), +.BR pmPrintValue (3), +.BR pmTypeStr (3) +and +.BR pmUnitsStr (3). |