2 * Copyright (c) 1997-2001 Silicon Graphics, Inc. All Rights Reserved.
6 * Check new functionality of pmTrimNameSpace
11 #include <pcp/pmapi.h>
19 dometric(const char *name
)
21 printf("%c %s\n", tag
, name
);
32 char *namespace = PM_NS_DEFAULT
;
33 int ctx
= -1; /* context for host */
35 static char *debug
= "[-D N]";
37 static char *debug
= "";
39 static char *usage
= "[-n namespace] [-a archive] [-h host] [-L]";
41 __pmSetProgname(argv
[0]);
43 while ((c
= getopt(argc
, argv
, "a:D:h:Ln:")) != EOF
) {
47 if ((sts
= pmNewContext(PM_CONTEXT_ARCHIVE
, optarg
)) < 0) {
48 printf("%s: pmNewContext(archive %s): %s\n", pmProgname
, optarg
, pmErrStr(sts
));
54 case 'D': /* debug flag */
55 sts
= __pmParseDebug(optarg
);
57 fprintf(stderr
, "%s: unrecognized debug flag specification (%s)\n",
67 if ((ctx
= pmNewContext(PM_CONTEXT_HOST
, optarg
)) < 0) {
68 printf("%s: pmNewContext(host %s): %s\n", pmProgname
, optarg
, pmErrStr(ctx
));
74 putenv("PMDA_LOCAL_SAMPLE="); /* sampledso needed */
75 if ((sts
= pmNewContext(PM_CONTEXT_LOCAL
, NULL
)) < 0) {
76 printf("%s: pmNewContext(host %s): %s\n", pmProgname
, optarg
, pmErrStr(sts
));
81 case 'n': /* alternative name space file */
92 if (errflag
|| optind
!= argc
) {
93 fprintf(stderr
, "Usage: %s %s%s\n", pmProgname
, debug
, usage
);
97 if (namespace != PM_NS_DEFAULT
&& (sts
= pmLoadASCIINameSpace(namespace, 1)) < 0) {
98 printf("%s: Cannot load namespace from \"%s\": %s\n", pmProgname
, namespace, pmErrStr(sts
));
102 printf("0 Initial NameSpace below sampledso ...\n");
104 sts
= pmTraversePMNS("sampledso", dometric
);
106 printf("Error: pmTraversePMNS: %s\n", pmErrStr(sts
));
109 printf("1\n1 Trimmed NameSpace below sampledso for current context ...\n");
110 sts
= pmTrimNameSpace();
113 sts
= pmTraversePMNS("sampledso", dometric
);
115 printf("Error: pmTraversePMNS: %s\n", pmErrStr(sts
));
119 printf("Error: pmTrimeNameSpace: %s\n", pmErrStr(sts
));
123 if ((ctx
= pmNewContext(PM_CONTEXT_HOST
, "local:")) < 0) {
124 printf("%s: pmNewContext(local:): %s\n", pmProgname
, pmErrStr(ctx
));
129 printf("2\n2 Trimmed NameSpace below sampledso for host context ...\n");
131 sts
= pmTrimNameSpace();
134 sts
= pmTraversePMNS("sampledso", dometric
);
136 printf("Error: pmTraversePMNS: %s\n", pmErrStr(sts
));
140 printf("Error: pmTrimeNameSpace: %s\n", pmErrStr(sts
));