From owner-pcp@oss.sgi.com Thu Feb 1 11:03:25 2001 Received: by oss.sgi.com id ; Thu, 1 Feb 2001 11:03:16 -0800 Received: from deliverator.sgi.com ([204.94.214.10]:23388 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Thu, 1 Feb 2001 11:03:10 -0800 Received: from rattle.melbourne.sgi.com (rattle.melbourne.sgi.com [134.14.55.145]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id LAA25703 for ; Thu, 1 Feb 2001 11:02:09 -0800 (PST) mail_from (kenmcd@melbourne.sgi.com) Received: from localhost (kenmcd@localhost) by rattle.melbourne.sgi.com (SGI-8.9.3/8.9.3) with ESMTP id GAA70167; Fri, 2 Feb 2001 06:01:41 +1100 (AEDT) X-Authentication-Warning: rattle.melbourne.sgi.com: kenmcd owned process doing -bs Date: Fri, 2 Feb 2001 06:01:41 +1100 From: Ken McDonell Reply-To: To: "Mark D. Anderson" cc: Subject: Re: introductory pcp questions In-Reply-To: <00e001c085dc$73603c80$0201a8c0@wwc.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Wed, 24 Jan 2001, Mark D. Anderson wrote: > i just ran into pcp while looking at another project on the oss.sgi page.... > > i've looked through the web site and through the downloads for some kind > of overview, and couldn't find any. i looked through the powerpoint slides > by ken mcdonnel, and i've read "man PCPIntro" and "man PMAPI". > somewhere between the trees and the earth should be a forest.... I'd consider http://oss.sgi.com/projects/pcp/ to be an overview of the features in the open source release of PCP. And the link to the IRIX product via http://www.sgi.com/software/co-pilot/ is helpful and mentioned on the oss page ... if I take your questions and my answers and add these to the FAQ page, would that have helped? > the man pages mention a "Programmer's Guide" and a "Tutorial", but > perhaps those are only available as part of the commercial product? The bools are available on-line: Performance Co-Pilot User's and Administrator's Guide http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=0650&db=bks&cmd=toc&pth=/SGI_Admin/PCP_UAG Performance Co-Pilot Programmer's Guide http://techpubs.sgi.com/library/tpl/cgi-bin/browse.cgi?coll=0650&db=bks&cmd=toc&pth=/SGI_Developer/PCP_PG These should be referenced on the oss web page, and I'll fix that. The tutorial is shipped in the IRIX product ... it needs some work to Linux-ise it and check it for correctness, and to cull the parts that are not in the open source release ... I don't have the resources to do this, but if someone wanted to volunteer I could turn the HTML over to them. > so far as i can make out, the basic architecture consists of: > - console and GUI monitor clients that can subscribe to a real-time feed or an archive feed > - a per-host pmcd daemon that brokers between the clients and agents > - pmda agent daemons that are per-host and per-namespace > - a per-host pmlogger daemons that archive data locally, from pmcd to disk > but i'm not even sure of that much. Mostly correct. The only open source GUI piece is pcpmon from Michal Kara. There are other GUI tools that SGI owns, but these remain proprietary for both IRIX and Linux. PMDAs are not per-namespace ... each PMDA supports some part of a unified namespace, and the namespace is per-host, defined by the set of PMDAs installed on that host. You can have as many pmloggers as you like (each is collecting from a single host), e.g. one system as a logger farm collecting logs for multiple managed systems, or multiple loggers collecting logs from the same machine, but for different purposes (tactical operations mgmt vs. capacity planning, for instance). The pmloggers can be on the same system as PMCD or remote. > here are some of the basic parameters i would have hoped to have found > answers to and didn't, and what i've been able to divine so far: > > - license. > http://oss.sgi.com/projects/pcp/license.html indicates this is (mostly) LGPL, while > the downloads indicate it is GPL (even the libraries). This is not a trivial distinction. The libraries are LGPL, everything else is GPL. If you find anything contrary to this, please let me know the details. > - language support. > it appears that agents and clients have to be written in C. Pretty much. Some clients are C++. There has been some experimentation with Perl, but C is the common choice. > - security > i see no provision for client or server authentication, provision for encryption, integrity checks, etc. Nope. The simple model is IP-based allow/disallow of client connections for PMCD and pmlogger. The data is not that interesting ... 8^)> > - clocks > i see no provision for clock synchronization. Nope. This is system-level performance monitoring, with a bias for big systems, so sampling of the order of a few seconds up to tens of minutes ... clock skew in practise is not an issue. We are not trying to do event traces that require microsecond accuracy in the timestamps. > - query versus notify > i can find no protocol definition, so i can't tell whether monitors must query for particular data, > or whether they can subscribe to asynchronous notifications. See the Programmer's Guide for the protocol definitions and the operational model. The model is "synchonous pull", the clients explicitly ask for data when they want it. There is no push, broadcast, callback or other asynchronous notification of data values, although pmie(1) can be used to perform period sampling and raise asynchronous alarms (of any flavour) when something interesting happens. > - sampled vs. events > said another way, can a monitor ask for qualitative events (threshold passing), instead of regularly sampled snapshots? Use the PMAPI directly for sampling (most of the monitoring tools are like this). Use pmie(1) for filtering and events. > - connection vs. connectionless > i can find no protocol definition, so i can't tell whether it is stateful or not, let alone > what provisions it has for resumption after a connection loss. It is mostly connection oriented (TCP/IP between the client and PMCD). The when a connection is lost, the client library will automatically attempt reconnection with a controlled maximal rate of trying (uses a variant of exponential back-off). The error-handling regime for the clients already supports "no data currently available" for lots of reasons (like a PMDA is not installed or PMCD was restarted or lost the connection to PMCD), so there is typically very little that the client developer needs to do to handle this gracefully. > nor can i tell whether it is message-per-row, message-per-request, or what. > nor whether the protocol allows pipelining, or multiple asynchronous requests, etc. > nor whether it is the same protocol between monitor, pmcd, pmlogger, and pmda. For monitors, once the initial meta data exchanges are complete, there is typically one message to PMCD and one message back from PMCD for each sample, independent of the number of metrics requested and the number of instances (values) to be returned. pmlogger is a monitor, so the same applies. Each message from a monitor client is sent by PMCD to one or more PMDAs, PMCD collates the messages back from each PMDA that was asked to help and returns a single message to the client. It is an important part of the design that: - clients are ignorant of the de-multiplexing and multiplexing by PMCD - PMDAs are ignorant of each other - PMCD knows nothing, except how to act as a message switcher > - agent-side computation > obviously a monitor can compute anything it likes. > but can a monitor request that a agent do some server-side computation before sending > the resulting data back, either across measurements (say, changing units or adding together), > or across time (running average, etc.). This is certainly possible, but we've tended to discourage it ... philosophically I believe any interval-based aggregation belongs in the clients. The PMDA cannot see the client state, so the PMDA does not know which client it is responding to at the moment, so you'd need to add some additional state using the pmStore(3) interface to selectively modify state in the PMDA from a client (this is typically used to toggle debug flags or enable optional instrumentation and changing units would be in this category). > - agent-side filtering > similarly, what kinds of filters can a monitor request? There is no streams-like concept. Each monitor is free to choose which metrics it wants, and for metrics with multiple instances the client can select one, some or all of the instances to be returned in each fetch. > - fast localhost monitoring > is there a shared memory or similar mechanism for monitoring an application's "counters" > without the overhead of tcp/ip communication? Yes, see PM_CONTEXT_LOCAL in pmNewContext(3). > - triggers > i see no indication of what external integrations have been done for actions to be taken > based on various events (paging, email, etc.) pmie(1) actions are arbitrary ... there are some canned ones, but then there is the "execute this command" action ... the latter has been used to do pager events, and integrate events into larger frameworks like OpenView, UniCenter TNG, Enlighten DSM, ESP (from SGI). > - agent collapsing of requests > if 10 monitors ask agent for the same regularly sampled data, does it measure it 10 times, or just once? Up to the agent. For expensive to collect information some agents use a "return most recent observation" strategy, others use time decayed caches, others collect on demand. > if i ask for both user and system time, will it be smart enough to do this in one operation, not two? Absolutely. More to the point, if you ask for user time, system time, per disk read transfer rate, network packet rates in and out and apache web stats in one request, you'll get all of the answers back in a single message round trip. > - discovery > can an agent automatically discover a monitor? can a monitor automatically discover an agent? Agents are ignorant of clients (except via a pmStore(3) channel). Clients discover agents mostly through the namespace at the PMCD (or archive), but also through the "no data currently available" error codes when requests are made. > - metadata > i found some discussion of a name to oid mapping by pmns, but no definition of how a monitor > queries the schema or instances available from a particular agent, nor if there is a way to > get notified of schema evolution, or instance addition/deletion. > nor can i find an explanation of what can be declared about a name besides its type. The client explores the namespace using pmGetChildren(3) and pmTraversePMNS(3) for either one-level at a time expansion or recursive expansion. Once the client has the name(s) of the metrics of interest, pmLookupName(3) returns PMIDs and then pmLookupDesc(3) will return this descriptor for a metric: - unique PMID - value data type (32, U32, 64, U64, FLOAT, DOUBLE, STRING, AGGREGATE) - instance domain number or PM_INDOM_NULL if singular - value semantics (counter, instantaneous, discrete) - units (dimension and scale in the axes time, space and events) Using the instance domain number from the metric descriptor, the routines pmLookupInDom(3), pmGetInDom(3) and pmNameInDom(3) allow the instance domain to be browsed and queried. See also pmLookupText(3) and pmLookupInDomText(3) for help text about metrics and instances. To see all of the gory details, turn on PDU tracing and run a simple pminfo(1) commands, e.g. $ pminfo -D PDU kernel.all.cpu $ pminfo -D PDU -fdT kernel.all.load > - naming > can a value be given a universally unique path identifier such as "host=bar;process=89;thread=98;request_count"? > i suppose this would be part of that protocol definition.... You could achieve something like this in 2 ways: a) connect to PMCD on host bar, ask for the instance name "process=89;thread=98" of the metric named "request_count", or b) have your PMDA export the metric named "request_count" with an instance name "host=bar;process=89;thread=98" Instance names are totally controlled by each PMDA, the only requirements are that the external names of the instances are unique and that the PMDA associates a unique 32-bit number with each external name. > - strict definition of measured values > concepts such as "free memory" and "pages of io" are essentially meaningless without > very strict definitions of what is counted and how. The specifics vary from OS to OS, and > sometimes from OS version to version. It appears there has been no effort in pcp > to alleviated this chaos; the linux pmda just passes on the /proc information in all > its ill-defined glory. We did not start out with the charter to fix this. Think of PCP as a framework for transporting and archiving the chaos! However we tend to convert things in the agents to sane units, so none of this ticks and blocks nonsense, we report msec and Kbytes. The semantics in the metric descriptors and the help text are a surprisingly big help. Because the collection of metrics is dynamic and extensible, please feel free to add new agents or add metrics to existing agents to help improve the situation. > - standards compliance > pcp seems to use no standards, even derivatively, for anything: > transport-level protocol, data and log file formats, metadata representation, > names of particular measured values, the client or agent apis, or the name to number resolution. No. We did a BIG survey 7 years ago when this started, and all of the competing options were lame in the extreme for our operational environment (big machines, lots of optional bits, lots of evolutionary change, data of interest hiding everywhere). > that's all for now :). > > thanks... > > -mda > > > From owner-pcp@oss.sgi.com Thu Feb 1 13:06:25 2001 Received: by oss.sgi.com id ; Thu, 1 Feb 2001 13:06:07 -0800 Received: from [209.209.13.26] ([209.209.13.26]:59153 "EHLO smile.idiom.com") by oss.sgi.com with ESMTP id ; Thu, 1 Feb 2001 13:06:03 -0800 Received: from mdaxke (adsl-64-169-94-77.dsl.snfc21.pacbell.net [64.169.94.77]) by smile.idiom.com (8.9.1/8.8.5) with SMTP id NAA58345 for ; Thu, 1 Feb 2001 13:05:58 -0800 (PST) Message-ID: <040901c08c92$93496af0$2c00a8c0@mdaxke> From: "Mark D. Anderson" To: References: Subject: Re: introductory pcp questions Date: Thu, 1 Feb 2001 13:04:01 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing > > i've looked through the web site and through the downloads for some kind > > of overview, and couldn't find any. i looked through the powerpoint slides > > by ken mcdonnel, and i've read "man PCPIntro" and "man PMAPI". > > somewhere between the trees and the earth should be a forest.... > > I'd consider http://oss.sgi.com/projects/pcp/ to be an overview of the > features in the open source release of PCP. And the link to the IRIX > product via http://www.sgi.com/software/co-pilot/ is helpful and > mentioned on the oss page ... if I take your questions and my answers > and add these to the FAQ page, would that have helped? it certainly would have helped me, but there is some sampling bias there... :) it also would have helped if the main home page, and the distribution README, and "man PCPIntro" would all mention where to find the overview. note that the feature overviews aren't what i was looking for -- those i found. the two guides look like just the thing, but without those being in the distribution nor in the home page, i was lost. > The bools are available on-line: > These should be referenced on the oss web page, and I'll fix that. thanks. it'd be nice to have direct links to the pdf downloads too, since the online browsing interface is kind of a disaster. > PMDAs are not per-namespace ... each PMDA supports some part of a > unified namespace, and the namespace is per-host, defined by the > set of PMDAs installed on that host. hmmm, maybe i need to find the overview on namespaces :). i can see how particular values would be qualified by host, but the names themselves comes from some authoritative metadata which would have to be host independent. so some agent says "i know how to report on ram.linux_meminfo on whatever host i'm on". i guess i'm thinking of "namespace" in the xml sense where it is a unique vocabulary used for a schema. it is used to qualify names of fields, not names of particular values. i've looked through the summary info in the PG on namespaces, domains, metrics, and instances, and i'm still confused. it seems to use the term "metric" to mean both a name for a field in a schema, and a particular value on a particular host. the metric name "hinv.physmem" is host-independent. but a PMID int has a "domain" (host identifier) built in, which i guess specifies a particular PMDA (though doesn't that limit you to 256 PMDAs?). and there is a supposedly 1-1 mapping between external metric names and PMIDs, yet metric names as text aren't host-scoped. i'm so confused.... > > - license. > > http://oss.sgi.com/projects/pcp/license.html indicates this is (mostly) LGPL, while > > the downloads indicate it is GPL (even the libraries). This is not a trivial distinction. > > The libraries are LGPL, everything else is GPL. If you find anything > contrary to this, please let me know the details. um, such as the top of every single .c and .h file in the source distribution? for example, pmcd.c says: * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as * published by the Free Software Foundation. > > - clocks > > i see no provision for clock synchronization. > > Nope. This is system-level performance monitoring, with a bias for big > systems, so sampling of the order of a few seconds up to tens of > minutes ... clock skew in practise is not an issue. We are not trying > to do event traces that require microsecond accuracy in the > timestamps. but what happens if i'm trying to do a retrospective comparison of data from multiple hosts? > > - agent-side filtering > > similarly, what kinds of filters can a monitor request? > > There is no streams-like concept. Each monitor is free to choose > which metrics it wants, and for metrics with multiple instances the > client can select one, some or all of the instances to be returned > in each fetch. by "filter" here i actually meant "choose which metrics it wants" -- i was hoping for a summary for of the dimensions available for a query expression. it seems that i can ask for a list of PMIDs in a time range, with no filtering based on values. > > if i ask for both user and system time, will it be smart enough to do this in one operation, not two? > > Absolutely. More to the point, if you ask for user time, system time, > per disk read transfer rate, network packet rates in and out and apache > web stats in one request, you'll get all of the answers back in a > single message round trip. that is good, but what i meant was, "is the agent smart enough to collect 2 values in one system call?" but in retrospect this is clearly up to the implementation of the agent, not part of the pcp architecture. > > - metadata > The client explores the namespace using pmGetChildren(3) and > pmTraversePMNS(3) for either one-level at a time expansion or recursive > expansion. > [ more explanation] hmm, ok, except i'm still hung up on my lack of understanding of whether name resolution is for the network, or per host. it would seem to me bad if different hosts used "disk.size" to mean completely different things, and it would also seem bad to have multiple name resolvers floating around. but all the docs seem to refer to these pmids, which i think are host-scoped. > > - naming > > can a value be given a universally unique path identifier such as "host=bar;process=89;thread=98;request_count"? > > i suppose this would be part of that protocol definition.... > > You could achieve something like this in 2 ways: > > a) connect to PMCD on host bar, ask for the instance name > "process=89;thread=98" of the metric named "request_count", or > b) have your PMDA export the metric named "request_count" with an instance > name "host=bar;process=89;thread=98" > > Instance names are totally controlled by each PMDA, the only requirements > are that the external names of the instances are unique and that the PMDA > associates a unique 32-bit number with each external name. ok, i now feel so close to understanding naming and namespaces, i can almost touch it. but i'm not there yet -- still confused about who can be authoritative about names, whether there are any conventions about hierarchy in names, etc. > > - standards compliance > > pcp seems to use no standards, even derivatively, for anything: > > transport-level protocol, data and log file formats, metadata representation, > > names of particular measured values, the client or agent apis, or the name to number resolution. > > No. We did a BIG survey 7 years ago when this started, and all of the > competing options were lame in the extreme for our operational > environment (big machines, lots of optional bits, lots of evolutionary > change, data of interest hiding everywhere). yeah, it isn't an easy choice. but frankly with every one of those components being home-grown, i'm guessing that someone doing that same survey today would likely decide to do their own too, and not use pcp.... :(. -mda From owner-pcp@oss.sgi.com Sat Feb 3 14:53:31 2001 Received: by oss.sgi.com id ; Sat, 3 Feb 2001 14:53:21 -0800 Received: from pneumatic-tube.sgi.com ([204.94.214.22]:16224 "EHLO convert rfc822-to-8bit pneumatic-tube.sgi.com") by oss.sgi.com with ESMTP id ; Sat, 3 Feb 2001 14:53:06 -0800 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by pneumatic-tube.sgi.com (980327.SGI.8.8.8-aspam/980310.SGI-aspam) via SMTP id PAA03401 for ; Sat, 3 Feb 2001 15:01:59 -0800 (PST) mail_from (kenmcd@melbourne.sgi.com) From: kenmcd@melbourne.sgi.com Received: from [192.82.201.168] ([192.82.201.168]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id JAA02798; Sun, 4 Feb 2001 09:51:24 +1100 Date: Sun, 4 Feb 2001 09:56:03 +1100 (EST) Reply-To: kenmcd@melbourne.sgi.com To: Alan Bailey cc: pcp@oss.sgi.com Subject: Re: A few questions In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: 8BIT Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing Max responded to this, I'm justing adding a few additional snippets. On Wed, 10 Jan 2001, Alan Bailey wrote: > A few simple questions... > > - I'm using the following command: > > > pmafm Latest pmdumplog -S "@whatever" > > This is all fine and good. But say I just want a single metric. This > doesn't work: > > > pmafm Latest pmdumplog -S "@whatever" mem.freemem > pmdumplog: Cannot open archive "mem.freemem": No such file or directory > > Obviously, this is because there is no archive on the command line, and > mem.freemem is thought to be the archive. Is there a way around this, or > is this just the way it is? 1. use pmafm list to get the NAME of the archive from the Latest folio kenj-pc 66% pmafm Latest list PCP Archive Folio: Latest Created: on kenj-pc at Sat Feb 3 09:30:13 EST 2001 Creator: mkaf Ordinal Hostname Archive Basename [ 1] kenj-pc 20010203.09.30 2. if the pmlogger is still running use pmlc to connect to pmlogger and flush the output buffers kenj-pc 67% pmlc Performance Co-Pilot Logger Control (pmlc), Version 2.1.9 pmlc commands show loggers [@] display s of running pmloggers connect _logger_id [@] connect to designated pmlogger status information about connected pmlogger query metric-list show logging state of metrics new volume start a new log volume flush flush the log buffers to disk log { mandatory | advisory } on _metric-list log { mandatory | advisory } off _metric-list log mandatory maybe _metric-list timezone local|logger|'' change reporting timezone help print this help message quit exit from pmlc _logger_id is primary | | port _metric-list is _metric-spec | { _metric-spec ... } _metric-spec is | [ ... ] pmlc> connect primary pmlc> flush pmlc> quit Goodbye 3. Check the archive label. kenj-pc 68% pmdumplog -L 20010203.09.30 Log Label (Log Format Version 2) Performance metrics from host kenj-pc commencing Sat Feb 3 09:30:02.076 2001 ending Sat Feb 3 16:35:30.253 2001 Archive timezone: EST-11 PID for pmlogger: 1084 4. Use -S with pmdumplog + archive name + metric kenj-pc 69% pmdumplog -S "@14:00" 20010203.09.30 kernel.all.load 16:35:30.170 60.2.0 (kernel.all.load): inst [1 or "1 minute"] value 0.050000001 16:35:30.253 60.2.0 (kernel.all.load): inst [1 or "1 minute"] value 0.05000000 But as Max suggested pmdumplog may not be the weapon of choice here ... pmval or even pmie -v may be better. > - When I run pmlogger_check to start up the pmlogger processes, there is a > considerable gap between each one starting up. Is this on purpose so that > the pmlogger processes are staggered and don't eat up the machine at the > same time? Or is there some other reason... pmlogger_check starts the pmlogger and then waits until it can connect to the pmlogger with pmlc ... and the pmlogger needs to read the config file, contact pmcd, exchange messages about metadata, and generally muck about ... pmlogger_check is waiting so that it can reliably report any failures when each pmlogger is started. Running pmlogger_check with sh -x may give you an idea if this hypothesis is correct. > - Is there a way to round the time values in the archives to, say, every > five minutes, so that 13:42:23.045 would become 13:40? I doubt this, > because I know the code for any arbitrary rounding time would be > nontrivial, and this isn't that necessary. Yep. From man 1 PCPIntro ... -A align By default samples are not necessarily aligned on any natural unit of time. The -A option may be used to force the initial sample to be aligned on the boundary of a natural time unit. For example -A 1sec, -A 30min and -A 1hour specify alignment on whole seconds, half and whole hours respectively. The align argument follows the syntax for an inter­ val argument described above for the -t option. Note that alignment occurs by advancing the time as required, and that -A acts as a modifier to advance both the start of the time window (see the next section) and the origin time (if the -O option is specified). > - Is pminfo the suggested way to get a single value from an archive at a > certain time, and pmdumplog the suggested way to get a range of time > values? You need -S for this and pminfo does not grok that option. Also if the metric is a counter, pminfo will _not_ rate convert it. I would tend to use pmie for both cases ... varying the -T will control how many values are reported. From owner-pcp@oss.sgi.com Sat Feb 3 14:56:31 2001 Received: by oss.sgi.com id ; Sat, 3 Feb 2001 14:56:21 -0800 Received: from sgi.SGI.COM ([192.48.153.1]:6736 "EHLO sgi.com") by oss.sgi.com with ESMTP id ; Sat, 3 Feb 2001 14:56:01 -0800 Received: from larry.melbourne.sgi.com ([134.14.52.130]) by sgi.com (980327.SGI.8.8.8-aspam/980304.SGI-aspam: SGI does not authorize the use of its proprietary systems or networks for unsolicited or bulk email from the Internet.) via SMTP id OAA09100 for ; Sat, 3 Feb 2001 14:55:58 -0800 (PST) mail_from (kenmcd@melbourne.sgi.com) From: kenmcd@melbourne.sgi.com Received: from [192.82.201.168] ([192.82.201.168]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id JAA02825; Sun, 4 Feb 2001 09:54:36 +1100 Date: Sun, 4 Feb 2001 09:59:15 +1100 (EST) Reply-To: kenmcd@melbourne.sgi.com To: pcp@oss.sgi.com cc: MARK.BONN@mail.sprint.com Subject: PCP Archive Question (fwd) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing PCP does not currently provide any tool to temporally compress archives; temporal compression involves taking the raw data and generating an equivalent archive with longer average sampling intervals. Note that "equivalent" is a rubbery term here, as this sort of compression inevitably implies loss of information; what we mean is that if the raw archive is compressed using a sample interval of say, 3 hrs, then when you replay with a sample interval of 3 hrs or longer, the raw archive and the compressed archive will produce the same results. We've tended to use compress/gzip to achieve approximately 6:1 statistical compression, but this only solves the disk space issue, not the time issue of processing long archives versus the smaller summary archives. I believe temporal compression would be a useful addition, and we've contemplated it in the past (pmlogextract was going to do this originally), but never had the resources to convert the designs into code. The tricky issues include: - pmlogger can collect different groups of metrics with different sampling frequencies in the same archive - pmlc may be used to change the set of metrics being collected and/or the sampling frequency for metrics and/or the instances being logged ... all on the fly while pmlogger is running - gaps in the archive caused by pmcd being restarted (when pmlogextract merges the archives, mark records are added and temporal compression needs to be very careful in this region - counter overflows, and precision promotion - semantics for discrete and instantaneous metrics If anyone competent C developer using PCP would like to learn more about PCP archives and would like to develop a PCP tool that would be useful for people like Mark, please get in touch with me and I can provide you with additional information to help get you started. ---------- Forwarded message ---------- Date: Fri, 12 Jan 2001 14:26:11 -0800 From: MARK.BONN@mail.sprint.com To: ptg@melbourne.sgi.com Subject: Sprint Customer: PCP Archive Question Questions: 1. The PCP manual eludes to the ability to compress pmlogger archives into summary archives. However, the manual provides no cook-book how to compress the logs. For example, If I have an archive with a metric collection interval of 5 minutes, is there a way to create a new archive with all the counters rolled up into hourly counters or daily counters. I realize that I can use pmchart with a longer interval to produce the same end result, however to create a long term capacity planning database, I would like to summarize the data. Any thoughts, or do I just compress the data for long term archiving? Thanks, Mark Bonn Systems Management Phone: 916.636.6906 Pager: Pin 383-0808 Fax: 916.636.6232 Email: Mark.Bonn@mail.sprint.com From owner-pcp@oss.sgi.com Sun Feb 4 20:46:42 2001 Received: by oss.sgi.com id ; Sun, 4 Feb 2001 20:46:33 -0800 Received: from sgi.SGI.COM ([192.48.153.1]:22830 "EHLO sgi.com") by oss.sgi.com with ESMTP id ; Sun, 4 Feb 2001 20:46:09 -0800 Received: from rattle.melbourne.sgi.com ([134.14.55.145]) by sgi.com (980327.SGI.8.8.8-aspam/980304.SGI-aspam: SGI does not authorize the use of its proprietary systems or networks for unsolicited or bulk email from the Internet.) via ESMTP id UAA02869 for ; Sun, 4 Feb 2001 20:46:03 -0800 (PST) mail_from (kenmcd@melbourne.sgi.com) Received: from localhost (kenmcd@localhost) by rattle.melbourne.sgi.com (SGI-8.9.3/8.9.3) with ESMTP id PAA93953 for ; Mon, 5 Feb 2001 15:44:43 +1100 (AEDT) X-Authentication-Warning: rattle.melbourne.sgi.com: kenmcd owned process doing -bs Date: Mon, 5 Feb 2001 15:44:42 +1100 From: Ken McDonell Reply-To: To: Subject: Announce: PCP FAQ updated Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing Following questions from Mark Anderson and others, and some of my replies I've re-vamped the PCP FAQ at http://oss.sgi.com/projects/pcp/faq.html Please let me know if you'd like more information like this, and in particular guidance for additional material, e.g. - issues that have been discussed on the mailing list and should be in the FAQ - issues that you've discovered the hard way and you wished were in the FAQ - things you still don't understand and wish someone would explain 'em Thanks. From owner-pcp@oss.sgi.com Sun Feb 4 22:04:33 2001 Received: by oss.sgi.com id ; Sun, 4 Feb 2001 22:04:23 -0800 Received: from [209.209.13.26] ([209.209.13.26]:1551 "EHLO smile.idiom.com") by oss.sgi.com with ESMTP id ; Sun, 4 Feb 2001 22:04:03 -0800 Received: from mdaxke ([206.112.107.122]) by smile.idiom.com (8.9.1/8.8.5) with SMTP id WAA53899 for ; Sun, 4 Feb 2001 22:04:01 -0800 (PST) Message-ID: <004601c08f39$3a989580$0201a8c0@mdaxke> From: "Mark D. Anderson" To: References: Subject: Re: Announce: PCP FAQ updated Date: Sun, 4 Feb 2001 22:02:26 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing > - things you still don't understand and wish someone would explain > 'em regarding the section about names, it might help to note (assuming that i'm correct) that: - metric names do not specify the hostname or a point in time. the hostname is implicit in which pmcd is connected to, and the point in time is determined as part of the PMAPI request. - most of the network protocol involves PMIDs, not metric names. Unlike metric names, PMIDs do include the hostname [aka domain id?] - the name-to-id mapping is accomplished by the PMNS. in pcp 1.0, this mapping is builtin to each PMAPI client. in pcp 2.0, the mapping for a particular host and metric name can be done by sending a request to the host in question. There is no network name service, and each PMID is scoped by its host. There is nothing to ensure (or assume) that name "a.b.c" means the same thing on host bar and baz. -mda From owner-pcp@oss.sgi.com Tue Feb 6 03:21:03 2001 Received: by oss.sgi.com id ; Tue, 6 Feb 2001 03:20:53 -0800 Received: from deliverator.sgi.com ([204.94.214.10]:2136 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 6 Feb 2001 03:20:31 -0800 Received: from rattle.melbourne.sgi.com (rattle.melbourne.sgi.com [134.14.55.145]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id DAA21604 for ; Tue, 6 Feb 2001 03:19:29 -0800 (PST) mail_from (kenmcd@melbourne.sgi.com) Received: from localhost (kenmcd@localhost) by rattle.melbourne.sgi.com (SGI-8.9.3/8.9.3) with ESMTP id WAA05008; Tue, 6 Feb 2001 22:19:11 +1100 (AEDT) X-Authentication-Warning: rattle.melbourne.sgi.com: kenmcd owned process doing -bs Date: Tue, 6 Feb 2001 22:19:10 +1100 From: Ken McDonell Reply-To: To: "Junkin, Bobby" cc: Subject: Re: Archive processing and reporting In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Thu, 25 Jan 2001, Junkin, Bobby wrote: > I'm currently using PCP 2.1 in an IRIX 6.5.9 environment. > According to the pmlogger_daily man page, toward the bottom, it indicates > "The script /usr/pcp/bin/pmlogger_daily could be copied and modified to > implement a site-specific procedure for end-of-week and/or end-of-month > management for a set of PCP archives." > My question is, what specifically "could be modified" in this script to > accomplish an end-of-week and month processing? ... There are a number of things here ... 1. I would suggest you set up 3 pmlogger instances, with their choice of metrics and (most importantly) logging interval tuned to the needs of your 30-min daily snapshot, 2-hr weekly snapshots and 24-hour monthly averages. One word of warning: for the longer periods you may have problems with pmcd re-starts (the counters get re-set, so any rate-converted metrics cannot be reported over a period where pmcd is re-started, and instantaneous metrics are not informative). Another word of warning: for long sampling periods, the frequency of counter overlow goes up ... this may make rate-conversion meaningless. And when archives are merged together, the resultant archive will have the same discontinuities as a pmcd-restart at the points where the archives are merged. You may wish to consider some other form time averaging of the data collected more frequently to overcome these problems, but that will be peyond pmcd unless you use pmimport to recreate a PCP archive from a statistical reduction of a PCP archive. 2. I would use pmlogger_daily each day on these 2 archive sets to deal with pmcd re-starts and produce once one log per day for each of the 3 collections. Adjust the -k option is long enough to keep all the archives you need, i.e. 31 ... the default is 14. 3. Next write another cron script to do the weekly and monthly merging of the relevant logs ... see pmdate(1) to generate the date patterns for logs matching the names generated by pmlogger_daily e.g. for d in 1 2 3 4 5 6 7 do x=`pmdate -${d}d %Y%m%d` echo $x done will generate the archive names for the past 7 days. Use pmlogextract to merge these archives together, and run pmchart on the resultant archive. > ... I currently have > pmlogger_daily running (as specified for daily processing) and using pmsnap > to generate snapshots every 30-minutes. This all works great! However, what > I also would like to implement Daily charts (at say 2 hour intervals for the > past 7 days) and Monthly charts (depicting daily averages for the past 31 > days). > I'm no scripting guru or ace programmer. I've tried setting up the crontab > for pmlogger_daily to only run on Sunday which works fine for one week > (provided the system isn't rebooted or pcp restarted). But I figured someone > in this list might have a better way or be able to provide some more > information. Any help is greatly appreciated. > Thanks, > Bobby Junkin > Lockheed Martin Space Operations > Huntsville AL > bobby.junkin@ums.msfc.nasa.gov > > From owner-pcp@oss.sgi.com Mon Feb 12 03:00:33 2001 Received: by oss.sgi.com id ; Mon, 12 Feb 2001 03:00:22 -0800 Received: from deliverator.sgi.com ([204.94.214.10]:39699 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Mon, 12 Feb 2001 02:59:58 -0800 Received: from larry.melbourne.sgi.com (larry.melbourne.sgi.com [134.14.52.130]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via SMTP id CAA29676 for ; Mon, 12 Feb 2001 02:58:55 -0800 (PST) mail_from (markgw@sgi.com) Received: from sandpit.melbourne.sgi.com (sandpit.melbourne.sgi.com [134.14.55.132]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id VAA10203; Mon, 12 Feb 2001 21:58:34 +1100 Date: Mon, 12 Feb 2001 21:58:33 +1100 (EST) From: Mark Goodwin X-Sender: markgw@sandpit.melbourne.sgi.com To: "te riet scholten s." cc: pcp-info@sgi.com, pcp@oss.sgi.com Subject: Re: Question abou pmchart. In-Reply-To: <200102120953.KAA23988@blueriet.nlr.nl> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Mon, 12 Feb 2001, te riet scholten s. wrote: > Hello! > > I have a technical question about pmchart. > > Is it possible to make a gif-picture with pmchart(-o file) without a X-display? > It works when I set $DISPLAY to a machine that has a X-display, but I like to have it done without this 'little trick'. > > > Thanks in advance, > > Sander te Riet Scholten > steriet@nlr.nl > Sander, sorry, it's simply not possible. I can offer the reasons why, but it's a fairly long explanation ... If you are using PCP on linux, you can use the xvfb server as the X server. This is a "virtual" X server, in that it has no actual frame buffer - it's virtual. So you can run xvfb as a daemon on (say) port 6001, and then connect pmchart to it by setting the DISPLAY env var appropriately. You can install the xvfb server from the XFree86-Xvfb RPM package on any linux system. On non-linux systems, the XFREE86 source code is available ... thanks -- Mark Goodwin SGI Engineering From owner-pcp@oss.sgi.com Thu Feb 15 20:43:45 2001 Received: by oss.sgi.com id ; Thu, 15 Feb 2001 20:43:26 -0800 Received: from ns.suse.de ([213.95.15.193]:48645 "HELO Cantor.suse.de") by oss.sgi.com with SMTP id ; Thu, 15 Feb 2001 20:43:21 -0800 Received: from Hermes.suse.de (Hermes.suse.de [213.95.15.136]) by Cantor.suse.de (Postfix) with ESMTP id 1511D1E06C for ; Fri, 16 Feb 2001 05:43:20 +0100 (MET) Date: Fri, 16 Feb 2001 05:43:19 +0100 (MET) From: nashif@suse.de To: pcp@oss.sgi.com Subject: pcp build fails on ia64 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing hi, Any idea whats the problem? gcc is gcc version 2.96-ia64-000717 snap 001117 Regards, Anas gcc '-DCPP_SIMPLE="/lib/cpp"' '-DCPP_SIMPLE_ARGS="-P -traditional -undef"' -Wall -g -DPCP_DEBUG -DPCP_VERSION=\"2.1.11\" -I../../../src/include -c -o p_lcontrol.o p_lcontrol.c gcc '-DCPP_SIMPLE="/lib/cpp"' '-DCPP_SIMPLE_ARGS="-P -traditional -undef"' -Wall -g -DPCP_DEBUG -DPCP_VERSION=\"2.1.11\" -I../../../src/include -c -o p_lrequest.o p_lrequest.c gcc '-DCPP_SIMPLE="/lib/cpp"' '-DCPP_SIMPLE_ARGS="-P -traditional -undef"' -Wall -g -DPCP_DEBUG -DPCP_VERSION=\"2.1.11\" -I../../../src/include -c -o p_lstatus.o p_lstatus.c gcc '-DCPP_SIMPLE="/lib/cpp"' '-DCPP_SIMPLE_ARGS="-P -traditional -undef"' -Wall -g -DPCP_DEBUG -DPCP_VERSION=\"2.1.11\" -I../../../src/include -c -o logconnect.o logconnect.c gcc '-DCPP_SIMPLE="/lib/cpp"' '-DCPP_SIMPLE_ARGS="-P -traditional -undef"' -Wall -g -DPCP_DEBUG -DPCP_VERSION=\"2.1.11\" -I../../../src/include -c -o logcontrol.o logcontrol.c logcontrol.c: In function `__pmControlLog': logcontrol.c:43: warning: unused variable `ipc' gcc -Wall -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src -shared -Wl,-soname,libpcp.so.2 -o libpcp.so.2 \ connect.o context.o desc.o err.o fetch.o freeresult.o help.o instance.o p_desc.o p_error.o p_fetch.o p_instance.o p_profile.o p_result.o p_text.o p_pmns.o p_creds.o pdu.o pdubuf.o pmns.o pool.o profile.o store.o units.o util.o ipc.o sortinst.o logmeta.o logportmap.o logutil.o tz.o interp.o checksum.o rtime.o tv.o mspec.o fetchlocal.o optfetch.o stuffvalue.o endian.o config.o access.o pmauth.o AF.o p_lcontrol.o p_lrequest.o p_lstatus.o logconnect.o logcontrol.o -ldl /usr/lib/gcc-lib/ia64-suse-linux/2.96-ia64-000717/../../../../ia64-suse-linux/bin/ld: connect.o: @gprel relocation against dynamic symbol __pmConnectHostMethod collect2: ld returned 1 exit status make[3]: *** [libpcp.so.2] Error 1 make[2]: *** [default] Error 2 make[1]: *** [default] Error 2 make: *** [default] Error 2 Bad exit status from /var/tmp/rpm-tmp.47372 (%build) From owner-pcp@oss.sgi.com Thu Feb 15 20:57:45 2001 Received: by oss.sgi.com id ; Thu, 15 Feb 2001 20:57:26 -0800 Received: from sgi.SGI.COM ([192.48.153.1]:4414 "EHLO sgi.com") by oss.sgi.com with ESMTP id ; Thu, 15 Feb 2001 20:57:04 -0800 Received: from larry.melbourne.sgi.com ([134.14.52.130]) by sgi.com (980327.SGI.8.8.8-aspam/980304.SGI-aspam: SGI does not authorize the use of its proprietary systems or networks for unsolicited or bulk email from the Internet.) via SMTP id UAA06382 for ; Thu, 15 Feb 2001 20:56:35 -0800 (PST) mail_from (markgw@sgi.com) Received: from sandpit.melbourne.sgi.com (sandpit.melbourne.sgi.com [134.14.55.132]) by larry.melbourne.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id PAA15912; Fri, 16 Feb 2001 15:54:55 +1100 Date: Fri, 16 Feb 2001 15:54:54 +1100 (EST) From: Mark Goodwin X-Sender: markgw@sandpit.melbourne.sgi.com To: nashif@suse.de cc: pcp@oss.sgi.com Subject: Re: pcp build fails on ia64 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Fri, 16 Feb 2001 nashif@suse.de wrote: > > hi, > > Any idea whats the problem? > > gcc is > gcc version 2.96-ia64-000717 snap 001117 > ... > /usr/lib/gcc-lib/ia64-suse-linux/2.96-ia64-000717/../../../../ia64-suse-linux/bin/ld: connect.o: @gprel relocation against dynamic symbol __pmConnectHostMethod > collect2: ld returned 1 exit status > make[3]: *** [libpcp.so.2] Error 1 > make[2]: *** [default] Error 2 > make[1]: *** [default] Error 2 > make: *** [default] Error 2 > Bad exit status from /var/tmp/rpm-tmp.47372 (%build) > Haven't seen this before. __pmConnectHostMethod is global data in libpcp. Are you cross compiling, what's your glibc version and cat /etc/issue? For the record, I can compile native on our bigsur with [root@surly /root]# gcc -v Reading specs from /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/specs gcc version 2.96-ia64-000717 snap 001117 [root@surly /root]# cat /etc/issue Red Hat Linux release 7.0.90 (Fisher) Kernel 2.4.0-0.99.11smp on a 2-processor ia64 -- Mark Goodwin SGI Engineering From owner-pcp@oss.sgi.com Thu Feb 15 21:17:15 2001 Received: by oss.sgi.com id ; Thu, 15 Feb 2001 21:16:56 -0800 Received: from ns.suse.de ([213.95.15.193]:3335 "HELO Cantor.suse.de") by oss.sgi.com with SMTP id ; Thu, 15 Feb 2001 21:16:35 -0800 Received: from Hermes.suse.de (Hermes.suse.de [213.95.15.136]) by Cantor.suse.de (Postfix) with ESMTP id 87AAE1E06D; Fri, 16 Feb 2001 06:16:33 +0100 (MET) Date: Fri, 16 Feb 2001 06:16:33 +0100 (MET) From: nashif@suse.de To: Mark Goodwin Cc: pcp@oss.sgi.com Subject: Re: pcp build fails on ia64 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Fri, 16 Feb 2001, Mark Goodwin wrote: > On Fri, 16 Feb 2001 nashif@suse.de wrote: > > > > > hi, > > > > Any idea whats the problem? > > > > gcc is > > gcc version 2.96-ia64-000717 snap 001117 > > ... > > /usr/lib/gcc-lib/ia64-suse-linux/2.96-ia64-000717/../../../../ia64-suse-linux/bin/ld: connect.o: @gprel relocation against dynamic symbol __pmConnectHostMethod > > collect2: ld returned 1 exit status > > make[3]: *** [libpcp.so.2] Error 1 > > make[2]: *** [default] Error 2 > > make[1]: *** [default] Error 2 > > make: *** [default] Error 2 > > Bad exit status from /var/tmp/rpm-tmp.47372 (%build) > > > > Haven't seen this before. __pmConnectHostMethod is global data in libpcp. > Are you cross compiling, what's your glibc version and cat /etc/issue? No, no cross compiling. issue wont help cause I am in a chroot environment. using glibc 2.2.1 and Linux D110 2.4.1-SMP #1 SMP Mon Feb 12 23:36:05 GMT 2001 ia64 unknown and I have a 4-processor machine :-) And of course its the current SuSE in development. By the way, it also fails on glibc 2.2 systems Regards, Anas > > For the record, I can compile native on our bigsur with > [root@surly /root]# gcc -v > Reading specs from /usr/lib/gcc-lib/ia64-redhat-linux/2.96-ia64-000717/specs > gcc version 2.96-ia64-000717 snap 001117 > [root@surly /root]# cat /etc/issue > > Red Hat Linux release 7.0.90 (Fisher) > Kernel 2.4.0-0.99.11smp on a 2-processor ia64 > > > -- Mark Goodwin > SGI Engineering > > > > -- Anas Nashif SuSE GmbH, Nuremberg, Germany From owner-pcp@oss.sgi.com Thu Feb 15 22:36:48 2001 Received: by oss.sgi.com id ; Thu, 15 Feb 2001 22:36:38 -0800 Received: from pneumatic-tube.sgi.com ([204.94.214.22]:42013 "EHLO pneumatic-tube.sgi.com") by oss.sgi.com with ESMTP id ; Thu, 15 Feb 2001 22:36:17 -0800 Received: from sydney.sydney.sgi.com (sydney.sydney.sgi.com [134.14.48.2]) by pneumatic-tube.sgi.com (980327.SGI.8.8.8-aspam/980310.SGI-aspam) via SMTP id WAA04111 for ; Thu, 15 Feb 2001 22:45:23 -0800 (PST) mail_from (kaos@melbourne.sgi.com) Received: from kao2.melbourne.sgi.com by sydney.sydney.sgi.com via ESMTP (950413.SGI.8.6.12/930416.SGI) id RAA21918; Fri, 16 Feb 2001 17:34:23 +1100 X-Mailer: exmh version 2.1.1 10/15/1999 From: Keith Owens To: nashif@suse.de cc: pcp@oss.sgi.com Subject: Re: pcp build fails on ia64 In-reply-to: Your message of "Fri, 16 Feb 2001 05:43:19 BST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 16 Feb 2001 17:34:23 +1100 Message-ID: <5147.982305263@kao2.melbourne.sgi.com> Sender: owner-pcp@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pcp-outgoing On Fri, 16 Feb 2001 05:43:19 +0100 (MET), nashif@suse.de wrote: >gcc is >gcc version 2.96-ia64-000717 snap 001117 > >gcc -Wall -L../../../src/libpcp/src -L../../../src/libpcp_pmda/src -shared -Wl,-soname,libpcp.so.2 -o libpcp.so.2 \ > connect.o context.o desc.o err.o fetch.o freeresult.o help.o instance.o p_desc.o p_error.o p_fetch.o p_instance.o p_profile.o p_result.o p_text.o p_pmns.o p_creds.o pdu.o pdubuf.o pmns.o pool.o profile.o store.o units.o util.o ipc.o sortinst.o logmeta.o logportmap.o logutil.o tz.o interp.o checksum.o rtime.o tv.o mspec.o fetchlocal.o optfetch.o stuffvalue.o endian.o config.o access.o pmauth.o AF.o p_lcontrol.o p_lrequest.o p_lstatus.o logconnect.o logcontrol.o -ldl >/usr/lib/gcc-lib/ia64-suse-linux/2.96-ia64-000717/../../../../ia64-suse-linux/bin/ld: connect.o: @gprel relocation against dynamic symbol __pmConnectHostMethod This looks like a compiler bug. The code compiles fine on gcc 2.9-ia64-000216-final, it fails to link when compiled with gcc 2.96-ia64-000717 snap 001117. We are checking the latest gcc at the moment to see if they have fixed this bug.