/var/lib/pcp/testsuite/src/derived.c is in pcp-testsuite 4.0.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | /*
* Copyright (c) 2016 Red Hat.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library 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 Lesser General Public
* License for more details.
*/
#include <pcp/pmapi.h>
static pmLongOptions longopts[] = {
PMOPT_DEBUG,
PMOPT_HELP,
PMAPI_OPTIONS_END
};
static pmOptions opts = {
.short_options = "D:?",
.long_options = longopts,
.short_usage = "[options] name=expr ...",
};
int
main(int argc, char **argv)
{
char *name, *expr;
char *errmsg;
pmGetOptions(argc, argv, &opts);
if (opts.errors) {
pmUsageMessage(&opts);
return 1;
}
while (opts.optind < argc) {
/* non-flag args are argv[optind] ... argv[argc-1] */
name = expr = argv[opts.optind];
if ((name = strsep(&expr, "=")) == NULL) {
fprintf(stderr, "%s: invalid name=expr \"%s\"\n", pmGetProgname(), name);
return 1;
}
if (pmRegisterDerivedMetric(name, expr, &errmsg) < 0) {
fprintf(stderr, "%s: %s", pmGetProgname(), errmsg);
} else {
printf("%s: registered \"%s\" as: \"%s\"\n", pmGetProgname(), name, expr);
}
opts.optind++;
}
return 0;
}
|