NAME
     pmlc - configure active Performance Co-Pilot pmlogger(s) interactively

SYNOPSIS
     pmlc [-e] [-h host] [-i] [-n pmnsfile] [-P] [-p port] [-Z timezone] [-z]
     [pid]

DESCRIPTION
     pmlc may be used to change those metrics and instances which a
     pmlogger(1) writes to a Performance Co-Pilot archive (see PCPIntro(1)),
     the frequency with which the metrics are collected and whether the
     logging is mandatory, advisory, on or off.  It also reports the current
     logging status of metrics and instances.  pmlc may be used to control
     pmlogger instances on remote hosts as well as those on the local host.

     Normally pmlc operates on the distributed Performance Metrics Name Space
     (PMNS), however if the -n option is specified an alternative local PMNS
     is loaded from the file pmnsfile.

     If the -P option is specified, pmlc will attempt to start with a
     connection to the primary pmlogger on the local host.  If the -p option
     is specified, then pmlc will attempt to start with a connection to the
     pmlogger on this TCP/IP port.  Alternatively, if pid is specified, a
     connection to the pmlogger instance with that process id will be
     attempted on startup.  The -h option may only be used if -P, -p port or a
     pid is also specified.  In that case pmlc will initially connect to the
     specified (remote) pmlogger instance on host rather than the local host.
     If the connection to the specified pmlogger instance cannot be
     established, pmlc will start with no connection.  These options typically
     allow the same file of pmlc commands to be directed to multiple pmlogger
     instances by varying the command line arguments.  Note that -P, -p port,
     pid and -h are used only when making an initial connection to a pmlogger
     instance.  They are not used as defaults if subsequent connections are
     made interactively (see the connect command below).

     By default, pmlc reports the time of day according to the local timezone
     on the system where pmlc is run.  The -Z option changes the timezone to
     timezone in the format of the environment variable TZ as described in
     environ(5).  The -z option changes the timezone to the timezone of the
     pmlogger instance from which information is being obtained.  Only one of
     -z or -Z may be specified.

     If standard input is from a tty, pmlc is interactive, with prompts.  The
     -i flag may be used to force interactive behavior, and is typically used
     in conjunction with -e to echo all command input on standard output.

     The following commands may be used:

     show [ loggers ] [ @host ]
         Displays the process identities of all pmlogger instances running on
         the local host (or host, if specified).  The primary pmlogger pid is
         parenthesized because it can be referred to as "primary" as well as
         by its pid.

     connect pid [ @host ]
     connect primary [ @host ]
         Connects pmlc to the specified pmlogger process.  Any existing



                                                                             1





PMLC(1)                                                                PMLC(1)


         connection to a pmlogger instance is closed first.  Each pmlogger
         instance will accept at most one connection at a time, so if the
         connection is successfully established, your pmlc will be the only
         one controlling the pmlogger instance it is connected to.

     new volume
         This command works only while a connection to a pmlogger instance is
         established.  It tells the pmlogger to close the current volume of
         the log and open a new volume.  Closed volumes may be archived, e.g.
         as part of a regular log management procedure to control the size of
         the physical log files.

     status
         This command works only while a connection to a pmlogger instance is
         established.  It prints information about the state of the pmlogger
         instance and its associated log.

     timezone local | logger | "timezone"
         This command sets the time zone used when times are printed.  local
         means use the time zone of the machine that pmlc is running on.
         logger means use the time zone of the machine where the pmlogger
         instance is running.  Alternatively an explicit timezone enclosed in
         quotes may be supplied (refer to TZ in environ(5) for details).  The
         default time zone is local unless one of the -z or -Z options has
         been supplied on the command line.

     flush
         This command works only while a connection to a pmlogger instance is
         established, and requests the pmlogger instance to flush to disk all
         buffers associated with the current archive.  For old-timers, sync is
         a synonym for flush.

     help
         Displays a summary of the available commands.
         h and ? are synonyms for help.

     quit
         Exits from pmlc.

     The remaining commands query and change the logging state of metrics and
     instances.  They will work only if pmlc has a connection to a pmlogger
     instance.  Metrics may be specified as fully qualified names (e.g.
     hinv.ncpu) or subtrees of the PMNS (e.g. hinv) which are expanded to
     include all metrics in the subtree (e.g. hinv.ncpu, hinv.cpuclock, etc.).
     Lists of metrics may be specified by enclosing them in braces with spaces
     or a comma between metrics (e.g. {hinv.ncpu hinv.ndisk}).  Subtrees of
     metrics may be included in such lists.

     Each individual metric specification may be further qualified with a
     space or comma separated list of instances in square brackets (e.g.
     kernel.all.load["1 minute", "5 minute"]).  External instance names or
     numeric internal instance identifiers or both may be used in the same


     list (e.g. sample.colour.[red,1,"blue"]).  If an instance qualification
     is applied to a subtree of the PMNS all of the metrics in the subtree
     must have the same instance domain.  Instance qualifications may not be
     applied to entire lists of metrics but may appear inside such lists.

     If no instances are specified for a metric, all instances are used.  All
     instances means all instances available at the time the pmlogger instance
     in question fetches the metrics for logging.  If an instance domain
     changes over time this is not always the same as the set of instances
     displayed by pmlc, which can only display the currently available
     instances.  To prevent unintentional errors, only the instances that are
     currently available to pmlc may appear in instance specifications.

     query metriclist
         The current logging state of each metric (and instances, where
         applicable) in metriclist is displayed.  This includes the logging
         state (e.g. on, maybe, off) and the logging interval for each metric
         (and instance) requested.  The following abbreviations pertaining to
         metrics (and instances) may appear in the output:  adv, advisory;
         mand, mandatory; nl, not in the log; na, in the log but not currently
         available from its Performance Metrics Domain Agent (PMDA).  Where
         appropriate, an instance name will appear last on a line preceded by
         its numeric internal instance identifier.

     [ log ] mandatory on interval metriclist
         This form of the log command turns on logging for the metrics (and
         any instances) in metriclist.  interval specifies how often the
         specified metrics/instances should be logged.  once indicates that
         the metrics/instances should appear at most once in the log.  More
         often one would use the optional keyword every followed by a positive
         number and one of millisecond (or msec), second (or sec), minute (or
         min), hour or their plurals.
         Note that the keyword default which may be used for the default
         interval in a pmlogger(1) configuration file cannot be used in pmlc.

         Internal limitations require the interval to be less than
         (approximately) 74 hours.  An interval value of zero is a synonym for
         once.

     [ log ] mandatory off metriclist
         This tells the pmlogger instance not to log any of the
         metrics/instances in metriclist.

     [ log ] mandatory maybe metriclist
         This tells the pmlogger instance to honor any subsequent advisory
         logging requests for the metrics/instances in metriclist.  If the
         current logging state of the metrics/instances is mandatory (either
         on or off) the new state will be set to maybe (effectively advisory
         off).  If the current state of the metrics/instances is already
         advisory (either on or off) the state(s) for the metrics/instances
         will remain as they are.


     [ log ] advisory on interval metriclist
     [ log ] advisory off metriclist
         Advisory logging is only applicable if the last logging state
         specified for a metric/instance was "mandatory maybe" (which permits
         subsequent advisory logging control) or if the logging state is
         already advisory.  These two statements turn advisory logging on or
         off (respectively) for the specified metrics/instances.
         The interpretation for interval is as above for the mandatory case.

     There is no continuation character required for commands that span lines.

     The word at may be used interchangeably with @.

     A request to log all instances of a metric will supersede any prior
     request to log either all or specific instances of a metric (if the
     request specifies a permissible transition in the logging state).  A
     request to log specific instances of a metric when all instances of a
     metric are already being logged is refused by pmlogger.

PCP ENVIRONMENT
     Environment variables with the prefix PCP_ are used to parameterize the
     file and directory names used by PCP.  On each installation, the file
     /etc/pcp.conf contains the local values for these variables.  The
     $PCP_CONF variable may be used to specify an alternative configuration
     file, as described in pcp.conf(4).

SEE ALSO
     PCPIntro(1), pmcd(1), pmdumplog(1), pmlogger(1), pcp.conf(4), pcp.env(4)
     and environ(5).

DIAGNOSTICS
     Most error or warning messages are self-explanatory.  A message of the
     form
             Warning: unable to change logging state for...
     followed by a list of metrics (and possibly instances) indicates that
     pmlogger refused the request for the metrics (and instances) that appear.
     Any metrics (and instances) that were specified but do not appear in the
     message have had their logging state updated successfully (no news is
     good news).  Usually this warning results from requesting advisory
     logging when a mandatory control is already in place, or requesting
     logging for specific instances when all instances are already being
     logged.

CAVEAT
     If all instances of a metric are being logged and a request is made to
     log specific instances of the metric with the same state and frequency,
     the request may appear to succeed, even though pmlogger has refused the
     request.  This is not normally a problem, as the required information
     will still be placed into the log by pmlogger.


     However in the case where the metric is to be logged once, the outcome is
     not what might be expected.  When pmlogger receives a request to log a
     metric once, it places the current value(s) of the metric into the log as
     soon as it can, regardless of whether the metric is already in the log.
     This may be used to force values into the log.  When a request to log
     specific instances of a metric arrives and is refused because all
     instances of the metric are already being logged, pmlogger does not place
     values for the instances requested into the log.  It returns the current
     logging state for each instance requested to pmlc.  The requested and
     returned states are identical, so pmlc doesn't raise an error as it
     should.

     To ensure that only certain instances of a metric are being logged, one
     should always turn off logging for all instances of the metric prior to
     turning on logging for the specific instances required.


                                                                        Page 5