summaryrefslogtreecommitdiff
path: root/man/man3/pmatomstr.3
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /man/man3/pmatomstr.3
downloadpcp-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.3119
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).