NConsole v1.0x
--------------
The following notes are specific to the NConsole product (NCONSOLE.NLM,
formerly the N-Spector NLM, NSPECTOR.NLM, and the NCONSOLE.EXE client
utility) developed by Avanti Technology, Inc.


STATEMENT OF TITLE AND WARRANTY
-------------------------------
NConsole (the Software) was developed by and is the property of Avanti
Technology, Inc., of 13492 Research Boulevard, Suite 120-271, Austin,
Texas 78750 USA (Avanti).  All rights are reserved worldwide under both
Federal and International Copyright Laws.  No distribution or use of the
Software in any form relinquishes Avanti's claim to ownership and title
of the Software and concept.

Avanti warrants that the Software, when used as intended, is free from
known defects at the time it was distributed.  Should a defect become
evident, a detailed report of the conflict or anomaly should be provided
to Avanti.  Upon confirmation of the report, Avanti will endeavor to
correct the problem and make the correction available to registered users.
If a registered user encounters a defect within the initial ninety (90)
days following original receipt of the software which Avanti is unable to
rectify, the software may, at Avanti's sole discretion, be replaced or
arrangements made for a refund of the license fee.

Avanti shall not be required to insure the compatibility of the Software
with future revisions to the workstation or network operating system, nor
the hardware on which it may be installed.  Nevertheless, Avanti reserves
the right to enhance, update, or change the Software in ways which may
alter its specification, operation, performance, and/or support levels.
However, such a modification does not obligate Avanti to continue doing
so.  Registered users of the Software may be eligible for such revisions
provided they adhere to the terms of the Software License Agreement
accompanying the Software.


NOTICE OF DISCLAIMER
--------------------
AVANTI TECHNOLOGY, INC. SPECIFICALLY DISCLAIMS ALL OTHER WARRANTIES
IMPLIED OR EXPRESSED, INCLUDING BUT NOT LIMITED TO, IMPLIED WARRANTIES
OF MERCHANTABILITY AND ANY IMPLIED OR EXPRESSED WARRANTY FOR PARTICULAR
USE.  IN NO EVENT SHALL AVANTI TECHNOLOGY, INC. BE LIABLE FOR ANY LOSS
WHICH IS GREATER THAN THE LICENSE FEE PAID BY THE REGISTERED USER.
AVANTI TECHNOLOGY, INC. SHALL NOT BE LIABLE UNDER ANY CIRCUMSTANCES FOR
DIRECT, INDIRECT, OR SPECIAL DAMAGES RESULTING FROM THE USE OF THE
SOFTWARE (some of these exclusions may not apply in some states).


Overview (also accessible via the on-line help system):
-------------------------------------------------------
The NConsole NLM collects, averages, accumulates, and tracks key server
performance statistics.  Though providing much of the same statistics
as found in Novell's MONITOR and STAT NLMs, the NConsole NLM presents
this data in a far more informative fashion.  Moreover, it combines
information from several different MONITOR screens into a single, easier
to read screen.  The NConsole NLM can be configured to log the statistics
over specific periods in ASCII and comma delimited file formats, as well
as to track and log the occurrence of new peak levels.  It also provides
a scrolling, bargraph review of the CPU Utilization over the most recent
74 seconds and an option to lock the Console keyboard.

The NConsole client (.EXE) program polls the NLM and displays the
monitored statistics, without the overhead and hassle of using Novell's
RCONSOLE or physically going to the Server to review the less informative
statistics found in the MONITOR NLM.

By default, the NConsole NLM will automatically log the current statistics
to the NCONSOLE.LOG file in ASCII format at the start of each hour.  If
the DATA option is specified on the command line, it will also log these
same statistics as comma delimited data in the NCONSOLE.DAT file.  Once
logged, the statistics are reset for accumulation and averaging over the
next cycle.  This logging is disabled via the NOLOG command line option.

The statistics can be manually logged via the F4 key (client or server).
Pressing the F5 key (client or server) clears the log file(s), logs the
most recent statistics, and then resets all the statistics (Current,
Average, Peak, and Cummulative).  The F6 key clears the log file(s).

If the PEAKS[=##] command line option is specified, the NConsole NLM
will track new peak levels and log the current statistics, identifying
the new peak levels, in ASCII format to the NCONSOLE.MAX file.  If a load
balancing period (=## in the PEAKS option) is not specified, the NConsole
NLM will wait approximately 1/4 of the defined/default cycle period for
the server become balanced before it begins tracking new peak levels.

    (Note: All of the mentioned log files are created in the same
           vol:path as that from which the NConsole NLM was executed.)

The screen saver designed into the NLM provides more indepth information
than that offered by Novell's MONITOR NLM.  The screen saver uses the CPU
Utilization bargraph, presented on the main screen, updated every second
and scrolled up/down the screen.  The screen saver is automatically
activated after a defined period of Server Console keyboard inactivity
(ten minutes by default and user defined through a command line option).
The screen saver can also be manually activated through the F10 key and
deactivated by pressing most any key on the Server Console keyboard.

Pressing the '?' key on either the client or server provides on-line help.


Installation:
-------------
Copy the NCONSOLE.NLM and NCONSOLE.HLP files to the volume/directory
on the server from which you normally execute NLMs (typically, the
SYS:SYSTEM directory).  To load the NConsole NLM, type the following
at the server Console prompt:

    LOAD [vol:path\]NCONSOLE

        ([vol:path\] need only be specified if NCONSOLE.NLM does not
         reside in the SYS:SYSTEM directory or a valid SEARCH path)

    (Note: All of the log files are created in the same [vol:path\]
           as that from which the NConsole NLM was executed.)

    (Support Note: If the NConsole NLM will not load due errors of
                   'Unresolved public symbols', the version of CLIB in
                   use needs to be updated to a more recent release,
                   i.e., CLIB v3.11 rev D or later.  The latest CLIB
                   can usually be found on CompuServe (CIS:NOVFILES)
                   and local networking BBS or acquired through a local
                   NetWare support office, integrator, or reseller.)

The NConsole NLM offers numerous command line options and several
special keys which can be used to manage the statistical tracking
and collection process.  Review the README file for more information
or press F1/? while running either the server or client utilities
for on-line help.

The NConsole NLM can be unloaded by typing UNLOAD NCONSOLE at the
server Console prompt or by pressing the Escape key when the NConsole
NLM main screen is active.

The client files (NCONSOLE.EXE & NCONSOLE.HLP) can be copied to any
drive and directory.  However, the client will only communicate with
server(s) running the NConsole NLM.

The NConsole client (.EXE) offers some command line options and
several special keys which can be used to manage the statistical
tracking and collection process.  Review the README file for more
information or press F1/? while running either the client or server
utilities for on-line help.


Usage (also accessible via the on-line help system):
----------------------------------------------------
The following keys are supported on both the client and server:

    Escape - terminate operations/exit the program
    F1 | ? - activate on-line help system
             (Note: '?' can also be used within the client on-line help
                    system to access additional levels of information.)
    F4     - log the current stats (Current, Average, Peak, & Cummulative)
    F5     - clear the log file(s), write the current stats to the new log
             file, & reset all stats (Average, Peak, and Cummulative)
    F6     - clear/reset the log file(s)

The following keys are supported on the client (.EXE):

    Insert - change Servers (pressing Insert within the Attached Servers
             list will bring up a list of the other Available Servers)

The following keys are supported on the server (.NLM):

    F10    - activate screen saver mode
    Sh-F10 - activate screen saver mode and lock the Console keyboard


The following command line options are supported on the client (.EXE):

    S=[server]    - [server] to poll and synchronize with
                    (default = LOGIN/Primary server if not on network drive)

The following command line options are supported on the server (.NLM):

    CYCLE=#####   - time between periodic logging of the statistics in
                    ASCII format in the [vol]:[path\]NCONSOLE.LOG file
                    (in minutes, default = 60 minutes)

    DATA          - also record the periodic statistics in a comma delimited
                    format in the [vol]:[path\]NCONSOLE.DAT log file

    LOCK          - lock the Server Console keyboard/screen once loaded
                    (the optional password, P=[pwd] below, or the
                    SUPERVISOR [NW3 & NW4] / ADMIN [NW4] password is
                    required to release the lock)

    MONO          - use monochrome display attributes
                    (even if server has color adapter/monitor)

    NOLOG         - disable periodic statistical logging of statistics
                    (overrides CYCLE= and DATA but not PEAK[=##] options)

    PEAK[=##]     - record new peak levels as they occur in the .MAX
                    log file (optionally specifying a load balance/
                    tuning delay in minutes, default = 1/4 of CYCLE=)

    P=[pwd]       - an optional password, in addition to the
                    SUPERVISOR [NW3 & NW4] / ADMIN [NW4] password,
                    which can be used to unlock the keyboard

    SAVER=##      - minimum Server Console keyboard inactivity before
                    the screen saver activates (in minutes, default =
                    10 minutes, -1 disables the screen saver logic.)

    START=hh:mm   - time to start periodic logging of the statistics
                    (requires use of military time format - i.e., 00:00
                    represents midnight while 23:00 represents 11:00pm)
                    (Note: Specifying a START=hh:mm time also requires
                           a corresponding STOP=hh:mm time.  The STOP=
                           time cannot be the same as the START= time.)

    STOP=hh:mm    - time to end periodic logging of the statistics
                    (requires use of military time format - i.e., 00:00
                    represents midnight while 23:00 represents 11:00pm)
                    (Note: Specifying a STOP=hh:mm time also requires
                           a corresponding START=hh:mm time.  The START=
                           time cannot be the same as the STOP= time.)


Statistics Overview (also accessible via the on-line help system):
------------------------------------------------------------------
Statistical information is collected every second, even if the screen
saver is active or the NLM's main screen is not displayed.  The Current
levels are activity over the last second.  The Average levels show the
median level since the last monitoring period began.  The Peak levels
track the highest activity reached at any point since the NLM was loaded
or the statistics were last reset.  The Cummulative levels record the
cummulative activity since the last monitoring period began.  (Note: The
average, peak, & cummulative levels are not reset by default.  This can
be done manually or through the CYCLE=/START=/STOP= command line options.)

                      CPU Utilization BarGraph:
                      -------------------------
The bottom of the screen represents a CPU Utilization bargraph.  This
graph is 5 lines deep and uses three types of indicators.  Each full
height block represents 20% utilization increments.  Half height blocks
indicate an additional 10 to 19% and an underscore reflects another 1%
to 9% of utilization.  The bargraph scrolls from right to left showing
the last 74 seconds of server activity from oldest to most current.

                             Utilization:
                             ------------
The NLM calculates Server CPU Utilization in a similar manner as that
used by Novell's MONITOR and STAT NLMs.  The algorithm is based upon a
calculation of idle process time (i.e., the number of times the server
is polling versus actually performing tasks for active processes).

This statistic is not a true indicator of CPU activity but rather
NetWare idle activity.  The higher the 'CPU Utilization' level,
the more time NetWare is consuming in actual processing versus
polling for tasks to perform.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Connections:
                             ------------
The NLM tracks the number of active server Connections.  A connection
does not necessarily reflect an active user since NetWare does not
immediately clear a connection upon logout.  Instead, it marks the
connection as not in use (or 'NOT-LOGGED-IN') while keeping it active
in case the same or another user should login at the same workstation
within a short period of time.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Recv Buffers:
                             -------------
The NLM determines the number of Packet Receive Buffers which have been
allocated by NetWare.  Normally this value will not increase frequently
since the servicing of workstation requests is one of the highest priority
processes.  However, excessive loads or disk bottlenecks can cause the
number of requests which are queued to rise.

If the number of queued requests reaches the Maximum Packet Receive
Buffers (a Setable parameter), the server may ABEND.  While increasing
the Recv Buffers may bring temporary relief to a problem, ideally the
cause of the backlog of requests should be identified as the long term
solution to this problem.

The first column represents the Current allocated level.  The second
column shows the Average level for this monitoring period.  The last
column tracks the Peak level since the NLM was loaded or the statistics
were last reset.

                             Server Procs:
                             -------------
The NLM tracks the number of active Service Processes, threads that are
available to respond to workstation requests.  As a workstation request
is received, the packet is handed off to a Service Process thread.  Once
the Service Process finishes processing the packet and generates the
appropriate reply, it is released to handle another workstation request.

If a burst of requests are received or the type of requests result in
all active Service Processes being used, NetWare may allocate additional
Service Processes (to the Maximum Service Processes Setable parameter).
If no Service Process is free and the maximum have been allocated,
requests remain queued in Receive Buffers until they can be serviced.
If a request arrives and there are no more Receive Buffers to accept the
packet, the server may ABEND.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Active Procs:
                             -------------
The NLM tracks the number of Active Processes (non-Service Processes)
initiated by loaded NLMs, LAN and DSK drivers.  NetWare creates numerous
processes or threads which it uses to manage activity, flush cache data,
update directories, etc.  In addition, other NLMs, etc. will initiate
processes or threads to perform their tasks.  Each active thread must be
managed and requires some amount of processing time.

This statistic represents those processes or threads which are active on
the run queue.  Since threads can be put to sleep and awakened as needed,
it is not unusual for this number to fluctuate randoming.  However, any
large fluctuations should be suspect.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Cache Buffer:
                             -------------
The NLM tracks the percentage of available Cache Buffers.  The Cache
Buffer memory pool is what NetWare uses for file caching and loading
NLMs.  An insufficient supply of Cache Buffers can cause file access
degradation, NLM load failures, communications problems, and server
lock-ups.  Novell recommends a Cache Buffer ratio of 50% or better be
maintained for optimum integrity.  However, most consultants, trainers,
and NetWire Sysops recommend 65% or more.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level (in this case, the minimum
available Cache Buffers or peak Cache Buffer usage) since the NLM
was loaded or the statistics were last reset.

                             Open Files:
                             -----------
The NLM tracks the number of Open Files concurrently in use on the
server.  While the maximum number of files which can be opened
concurrently under NetWare is beyond a practical limit, each open file
consumes memory and requires resource to manage.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Dirty Blocks:
                             -------------
The NLM tracks the number of Dirty Blocks reported by NetWare.  Dirty
Blocks are cache buffers which have been modified by a file write
operation.  If the entire cache buffer has been modified or the defined
delay has passed since the last change to the cache buffer (based upon
the Dirty Disk Cache Delay Time Setable parameter), NetWare queues up
the Dirty Block to the disk I/O subsystem for flushing to disk.

NetWare queues disk requests in an effort to organize the data by its
location on the disk.  This technique, called Elevator Seeking, allows
multiple disk operations to be performed in a single disk sweep versus
the forward/backward method of servicing disk requests as received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                              I/Os Pending:
                              -------------
The NLM tracks the number of Disk I/Os Pending reported by NetWare.
Disk I/Os Pending are physical disk requests which have been queued up.
NetWare queues disk requests to organize them by their disk location.
This technique, called Elevator Seeking, allows multiple disk seeks to
be performed in a single disk sweep versus the forward/backward method
of servicing disk requests as received.

If this statistic climbs abruptly or accumulates a double digit average,
it may indicate a disk I/O bottleneck.  The Maximum Concurrent Disk Cache
Writes Setable parameter may need to be increased to help improve the
efficiency of the Elevator Seeking logic.  If that fails to reduce the
level, review the controller/drive combination in the server.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                             Dir Buffers:
                             ------------
The NLM tracks the Directory Cache Buffers allocated by NetWare.
Directory Cache Buffers store information about frequently requested
files.  Directory Cache Buffers are not typically affected by normal
application requests but skewed by large directory search requests.
Once allocated, Directory Cache Buffers are not returned.  Since their
memory is taken from the Cache Buffer pool, allowing this value to grow
unchecked can affect overall File Server efficiency.

If the Directory Cache Buffers jumps markedly, it may be due to backup
or recursive directory listings.  In such cases, it might be wise to
limit the number of Directory Cache Buffers that can be allocated.  This
can be done with the Maximum Directory Cache Buffers Setable parameter.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The last column tracks the Peak level since the NLM was loaded or
the statistics were last reset.

                               Receive:
                               --------
The NLM tracks the number of packets received by the Server as reported
by the Link Support Layer (LSL) drivers.  This includes workstation
requests, Routing Information Packets (RIP), Service Advertising
Packets (SAP), and any other packets which were sent to the Server as
requests, informationally, or to be forwarded.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents
the Cummulative level of activity for this monitoring period.

                               Transmit:
                               --------
The NLM tracks the number of packets transmitted by the Server
as reported by the Link Support Layer (LSL) drivers.  This
count includes service replies, Routing Information Packets
(RIP), Service Advertising Packets (SAP), and any other
packets which the Server responded to or forwarded.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                               Routed:
                               -------
The NLM tracks the number of packets routed by the Server
as reported by the Link Support Layer (LSL) drivers.  This
count includes requests intended for other servers, replies
from other servers for workstations on this server network,
and any other packets which the Server forwarded.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                              No ECBs:
                              --------
The NLM tracks the number of Event Control Block (ECB)
Failures as reported by the Link Support Layer (LSL) drivers.
ECBs are used to manage the transmission and receipt of
network packets.  ECB failures indicate request (transmit
or receive) which could not be serviced.  ECB Failures
should not occur except in situations of extreme network
load or physical layer problems.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                         Unclaimed Packets:
                         ------------------
The NLM tracks the number of Unclaimed Packets as reported
by the Link Support Layer (LSL).  Unclaimed Packets represent
packets which were received by the server but never processed
by a driver or NLM.  This can indicate receipt of packets
which are not expected or contain unexpected contents.
Unclaimed Packets should not occur except in situations of
extreme network load or physical layer problems.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                             Open/Create:
                             ------------
The NLM tracks the number of workstation requests to Open or Create a
file as reported by NetWare.  In most cases, Open requests can be
satisfied by information already stored in the Directory Cache Buffers.
However, Creates represent physical disk I/O since the file does not
exist or will be recreated if the file does exist.

NetWare will queue disk I/O requests in an effort to organize the
operations by their location on the disk.  This technique, called
Elevator Seeking, allows multiple disk operations to be performed
in a single sweep of the disk versus the forward/backward method
of servicing disk requests in the order received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                              Delete:
                              -------
The NLM tracks the number of workstation requests to Delete
a file as reported by NetWare.  NetWare normally will not
immediately delete the file but relocate it to a higher level
subdirectory for a period of time.  Since this requires physical
disk I/O, NetWare will queue these requests in an effort to organize
the operations by their location on the disk.  This technique,
called Elevator Seeking, allows multiple disk operations to be
performed in a single sweep of the disk versus the forward/backward
method of servicing disk requests in the order received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                              Read:
                              -----
The NLM tracks the number of workstation requests to Read
a file as reported by NetWare.  Most such requests can be
satisfied by the data already in NetWare's file Cache Buffers.
However, if NetWare cannot satisfy the request from cache, it
it will queue these requests in an effort to organize the
operations by their location on the disk.  This technique,
called Elevator Seeking, allows multiple disk operations to be
performed in a single sweep of the disk versus the forward/backward
method of servicing disk requests in the order received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                             Write:
                             ------
The NLM tracks the number of workstation Write requests as reported by
NetWare.  Write requests are first written to the file Cache Buffers,
modifying previously read buffers if an update or allocating new buffers
as required.  If an entire cache buffer has been modified or the defined
delay has passed since the last change to the file Cache Buffer (based
upon the Dirty Disk Cache Delay Time Setable parameter), NetWare queues
up Dirty Blocks to the disk I/O subsystem for flushing to disk.

NetWare queues disk requests in an effort to organize the operations by
their disk location.  This technique, called Elevator Seeking, allows
multiple disk operations to be performed in a single disk sweep versus
the forward/backward method of servicing disk requests as received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.

                             Dir Search:
                             -----------
The NLM tracks the number of workstation requests to search a
directory as reported by NetWare.  Most such requests can be
satisfied by the data already in NetWare's directory Cache
Buffers.  However, if NetWare cannot satisfy the request from
cache, it it will queue these requests in an effort to organize
the operations by their location on the disk.  This technique,
called Elevator Seeking, allows multiple disk operations to be
performed in a single sweep of the disk versus the forward/backward
method of servicing disk requests in the order received.

The first column represents the Current level of activity.  The
second column shows the Average level for this monitoring period.
The third column tracks the Peak level since the NLM was loaded or
the statistics were last reset.  The last column represents the
Cummulative level of activity for this monitoring period.


Log File Formats:
-----------------
The NConsole NLM can create up to 3 separate log files.  The default
log file [vol:path\]NCONSOLE.LOG contains ASCII entries representing
either scheduled or manually initiated logging of the statistics.  The
DATA command line option causes this same information to also be logged
as comma delimited data in the file [vol:path\]NCONSOLE.DAT.  If the
PEAKS[=##] command line option is used, new peak levels of activity
is logged as ASCII entries in the file [vol:path\NCONSOLE.MAX.

    (Note: All of the log files are created in the same [vol:path\]
           as that from which the NConsole NLM was executed.)

Format examples of the different log files follows:


                         NCONSOLE.LOG file
                         -----------------
The following is a sample entry in the default log file.  All the fields
are fixed length and format.  While the data will change (date/time and
individual statistics), the format will remain the same for each entry.

Sun Jun  5 12:00am
Current statistics:

SERVER         Curr   Avg  Peak     LAN I/O        Curr   Avg  Peak       Cumm
Utilization:      0     0    30     Receive:          2     0   165        869
Connections:      0     0     1     Transmit:         0     0   165        712
Recv Buffers:    13    13    13     Routed:           0     0     2         68
Server Procs:     1     1     1     No ECBs:          0     0     0          0
Active Procs:    20    20    23     Unclaimed:        0     0     0          0

FILE SYSTEM    Curr   Avg  Peak     FILE REQUESTS  Curr   Avg  Peak       Cumm
Cache Buffer:    57    56    56     Open/Create:      0     0     2          3
Open Files:       7     7     8     Delete:           0     0     0          0
Dirty Blocks:     0     0     1     Read:             0     0   146        390
I/Os Pending:     0     0     0     Write:            0     0     3          9
Dir Buffers:    100   100   100     Dir Search:       0     0     1          1


                         NCONSOLE.MAX file
                         -----------------
The following is a sample entry in the new peaks log file.  The date/time
and statistical fields are fixed length.  However, there may be more or
less lines depending upon the number of new peak levels encountered.  In
this example, three new peak levels were encountered (Utilization, Open
Files, and Dir Search).  Each time one or more new peak levels are
encountered, a single new entry will be logged providing the current
statistics and identifying the new peak level(s).

Sun Jun  5 12:00am
Peak reached/exceeded for these statistic(s):
Utilization:
Open Files:
Dir Search:

SERVER         Curr   Avg  Peak     LAN I/O        Curr   Avg  Peak       Cumm
Utilization:     12     0    12     Receive:         92     0   114        647
Connections:      1     1     1     Transmit:        91     0   107        581
Recv Buffers:    13    13    13     Routed:           0     0     1          5
Server Procs:     2     2     2     No ECBs:          0     0     0          0
Active Procs:    20    20    23     Unclaimed:        0     0     0          0

FILE SYSTEM    Curr   Avg  Peak     FILE REQUESTS  Curr   Avg  Peak       Cumm
Cache Buffer:    57    56    56     Open/Create:      1     0     4          5
Open Files:       9     8     9     Delete:           0     0     0          0
Dirty Blocks:     0     0     5     Read:             1     0    72        164
I/Os Pending:     3     0     4     Write:            0     0    63        213
Dir Buffers:    100   100   100     Dir Search:      87     0    87         93


                         NCONSOLE.DAT file
                         -----------------
The information recorded in this file is the actual date/time and
statistical data, in comma delimited format (i.e., each field is
enclosed within double quotes and separated from other fields by a
comma - "[date/time]","[Curr Utilization]","[Avg Utilization]", ...).
Each record represents a logged entry (a line of comma delimited fields
terminated by a carriage return and line feed End Of Record marker)
corresponding to an ASCII entry in the .LOG file.  The format of the
individual fields comprising a record follows:

    Description             Field Type         Field Size
    -----------------       ----------         ----------
    Date/Time               ASCII string       fixed - 18 alphanumeric chars
    Curr Utilization        ASCII value        variable - 1 to 5 digits
    Avg Utilization         ASCII value        variable - 1 to 5 digits
    Peak Utilization        ASCII value        variable - 1 to 5 digits
    Curr Connections        ASCII value        variable - 1 to 5 digits
    Avg Connections         ASCII value        variable - 1 to 5 digits
    Peak Connections        ASCII value        variable - 1 to 5 digits
    Curr Recv Buffers       ASCII value        variable - 1 to 5 digits
    Avg Recv Buffers        ASCII value        variable - 1 to 5 digits
    Peak Recv Buffers       ASCII value        variable - 1 to 5 digits
    Curr Server Procs       ASCII value        variable - 1 to 5 digits
    Avg Server Procs        ASCII value        variable - 1 to 5 digits
    Peak Server Procs       ASCII value        variable - 1 to 5 digits
    Curr Active Procs       ASCII value        variable - 1 to 5 digits
    Avg Active Procs        ASCII value        variable - 1 to 5 digits
    Peak Active Procs       ASCII value        variable - 1 to 5 digits
    Curr Cache Buffer       ASCII value        variable - 1 to 5 digits
    Avg Cache Buffer        ASCII value        variable - 1 to 5 digits
    Peak Cache Buffer       ASCII value        variable - 1 to 5 digits
    Curr Open Files         ASCII value        variable - 1 to 5 digits
    Avg Open Files          ASCII value        variable - 1 to 5 digits
    Peak Open Files         ASCII value        variable - 1 to 5 digits
    Curr Dirty Blocks       ASCII value        variable - 1 to 5 digits
    Avg Dirty Blocks        ASCII value        variable - 1 to 5 digits
    Peak Dirty Blocks       ASCII value        variable - 1 to 5 digits
    Curr I/Os Pending       ASCII value        variable - 1 to 5 digits
    Avg I/Os Pending        ASCII value        variable - 1 to 5 digits
    Peak I/Os Pending       ASCII value        variable - 1 to 5 digits
    Curr Dir Buffers        ASCII value        variable - 1 to 5 digits
    Avg Dir Buffers         ASCII value        variable - 1 to 5 digits
    Peak Dir Buffers        ASCII value        variable - 1 to 5 digits
    Curr Receive            ASCII value        variable - 1 to 5 digits
    Avg Receive             ASCII value        variable - 1 to 5 digits
    Peak Receive            ASCII value        variable - 1 to 5 digits
    Cumm Receive            ASCII value        variable - 1 to 10 digits
    Curr Transmit           ASCII value        variable - 1 to 5 digits
    Avg Transmit            ASCII value        variable - 1 to 5 digits
    Peak Transmit           ASCII value        variable - 1 to 5 digits
    Cumm Transmit           ASCII value        variable - 1 to 10 digits
    Curr Routed             ASCII value        variable - 1 to 5 digits
    Avg Routed              ASCII value        variable - 1 to 5 digits
    Peak Routed             ASCII value        variable - 1 to 5 digits
    Cumm Routed             ASCII value        variable - 1 to 10 digits
    Curr No ECBs            ASCII value        variable - 1 to 5 digits
    Avg No ECBs             ASCII value        variable - 1 to 5 digits
    Peak No ECBs            ASCII value        variable - 1 to 5 digits
    Cumm No ECBs            ASCII value        variable - 1 to 10 digits
    Curr Unclaimed          ASCII value        variable - 1 to 5 digits
    Avg Unclaimed           ASCII value        variable - 1 to 5 digits
    Peak Unclaimed          ASCII value        variable - 1 to 5 digits
    Cumm Unclaimed          ASCII value        variable - 1 to 10 digits
    Curr Open/Create        ASCII value        variable - 1 to 5 digits
    Avg Open/Create         ASCII value        variable - 1 to 5 digits
    Peak Open/Create        ASCII value        variable - 1 to 5 digits
    Cumm Open/Create        ASCII value        variable - 1 to 10 digits
    Curr Delete             ASCII value        variable - 1 to 5 digits
    Avg Delete              ASCII value        variable - 1 to 5 digits
    Peak Delete             ASCII value        variable - 1 to 5 digits
    Cumm Delete             ASCII value        variable - 1 to 10 digits
    Curr Read               ASCII value        variable - 1 to 5 digits
    Avg Read                ASCII value        variable - 1 to 5 digits
    Peak Read               ASCII value        variable - 1 to 5 digits
    Cumm Read               ASCII value        variable - 1 to 10 digits
    Curr Write              ASCII value        variable - 1 to 5 digits
    Avg Write               ASCII value        variable - 1 to 5 digits
    Peak Write              ASCII value        variable - 1 to 5 digits
    Cumm Write              ASCII value        variable - 1 to 10 digits
    Curr Dir Search         ASCII value        variable - 1 to 5 digits
    Avg Dir Search          ASCII value        variable - 1 to 5 digits
    Peak Dir Search         ASCII value        variable - 1 to 5 digits
    Cumm Dir Search         ASCII value        variable - 1 to 10 digits
    [End Of Record]         0x0D, 0x0A         fixed - 2 bytes


Licensing:
----------
NConsole is offered as a licensed software product with continuous right
to use so long as the user registers the software and remains in adherence
with the terms and conditions of the Software License Agreement.  NConsole
is available the following licensing method:

              Licensed per File Server at $125.00/Server

Under this licensing method, registered users are provided with free
updates for the first ninety (90) days and free technical support for
the first year following the initial software order.  Upgrades after
that period are available for a fee which may vary based upon the
licensing method.

Prices quoted are pre-paid in US Dollars, excluding any applicable sales
taxes or export duties.  The license fee includes ground delivery within
the continental United States (call for quotes on express or non-continental
U.S. delivery).  The availability of credit terms and invoicing is at the
sole discretion of Avanti Technology, Inc.


System Requirements:
--------------------
This release of the NLM requires NetWare v3.11, v3.12, or
v4.0x.  CLIB v3.11 rev D or later is required for the NLM
to run under NetWare v3.1x.  The CLIB v4.01 rev B or later
is required for the NLM to run under NetWare v4.0x.

    Note:  If the NLM will not load due to Unresolved Public
           Symbol errors from the loader, it is because an
           incompatible (old) version of CLIB is in use.  The
           specific symbols which may be mentioned are:
           ImportSymbol, IsColorMonitor, NWDeRegisterNCPExtension,
           and NWRegisterNCPExtension.  The only solution is to
           update to a later CLIB (v3.11 rev D or later as
           mentioned above).  The latest CLIB can usually be
           downloaded from CompuServe, local BBS'es, or through
           your local NetWare support organization/reseller.

    Note:  The CLIB shipped with initial copies of NetWare v4.0
           (CLIB v4.0x - no revision specification) has a bug
           in an internal function which will cause the server
           to ABEND (ABnormally END), even if called by CLIB.
           This NLM is susceptible to the bug and, thus,
           should not be loaded on any NetWare v4.0x server
           running CLIB v4.0x (no revision specification).
           This CLIB bug does not exist in CLIB v4.01 rev B
           or later, including the CLIB in NetWare v4.01.


Technical Support (also accessible via the on-line help system):
----------------------------------------------------------------
In order to provide the best and most expedient technical
support possible, it is requested that the following information
be known prior to initiating technical support contact:

        File Server:   NetWare version and CLIB revision

In addition, the more indepth the problem can be described & isolated
(including any error message), the greater the chances are for quick
resolution.  The following means may be used for technical support:

        Mail:          Avanti Technology, Inc.
                       13492 Research Boulevard
                       Suite 120-271
                       Austin, Texas  78750  USA

        Telephone:     (+1)512/335-1168
                       08:30 to 17:30 (US Central time zone)

        Facsimile:     (+1)512/335-7838

        CompuServe:    76517,3117


Release Notes for v1.05:
------------------------
      - Corrected a logic problem which could cause the check password
        function in the Console lock routine to fail if an excessive
        number of backspaces were entered (more than the total number
        of keys pressed to that point for the password)
      - Modified the CPU utilization bar graph logic to scroll from
        right to left (oldest utilization first) versus the previous
        method of left to right (most recent utilization first)
      - Worked around an anomaly in NetWare v4.0x atexit() logic
        which could cause an ABEND in some cases if the server was
        downed while NConsole was active

Release Notes for v1.04:
------------------------
      - Added support for DATA command line option to record the
        periodic statistics in a comma delimited format in the
        [vol:path\]NCONSOLE.DAT log file.
      - Added support for START=hh:mm command line option to allow
        the designation of a specific starting time for statistical
        logging.  Use of a START= time requires that a STOP= time also
        be specified to create a valid time frame.  START= times must be
        in military format (i.e., 00:00 = midnight and 23:00 = 11:00pm)
        with a colon separator between the hours and minutes.
        (Note: START=hh:mm and STOP=hh:mm times cannot be the same
               [i.e., START=08:00 STOP=08:00 is not allowed])
      - Added support for STOP=hh:mm command line option to allow
        the designation of a specific ending time for statistical
        logging.  Use of a STOP= time requires that a START= time also
        be specified to create a valid time frame.  STOP= times must be
        in military format (i.e., 00:00 = midnight and 23:00 = 11:00pm)
        with a colon separator between the hours and minutes.
        (Note: START=hh:mm and STOP=hh:mm times cannot be the same
               [i.e., START=08:00 STOP=08:00 is not allowed])
      - Changed the periodic statistical logging command line option
        from RESET=## (specifying the reset hour or an hourly reset)
        to CYCLE=##### (specifying the length of time, in minutes, per
        statistical collection period - default = 60 minutes).
      - Enhanced the on-line help functionality and information for
        both the client EXE and the server NLM utilities.
      - Separated the Peak statistics logging from the normal cycle
        logging.  Normal cycle statistics are logged in the .LOG file
        ([vol:path\]NCONSOLE.LOG).  New Peak levels are logged in
        the .MAX file ([vol:path\]NCONSOLE.MAX).
        (Note: New Peak levels are no longer tracked by default but
               now must be specifically enabled through the PEAK[=##]
               command line option.)

Release Notes for v1.03:
------------------------
      - Added support for NOPEAKS command line option which disables
        the automatic logging of alerts whenever a peak has been
        reached/exceeded after the stabilization period
        (Note: All peaks continue to be tracked and logged normally.
               Only the special alert logging is disabled.)
      - Added logic to detect a console DOWN request in order to
        disable Peak tracking/logging while system is being downed
      - Modified the password entry routine servicing the console
        keyboard lock function to provide operational messages

Release Notes for v1.02:
------------------------
      - Coded around a Microsoft C library/ANSI.SYS conflict in the
        client (.EXE) which could cause portions of the screen to
        not support any screen colors/attributes

Release Notes for v1.01:
------------------------
      - First commercial release
      - Added automatic logging of stats whenever Peak levels of activity
        are encountered to the NLM (Note: Logging does not occur until
        after a defined period of load balancing occurs to avoid excessive
        logging which would occur during the initial period after the
        NLM is loaded and begins tracking the statistics.)
      - Added support for F4 key (client and server) to write the most
        recent stats to the log file
      - Added support for F5 key (client and server) to clear the log file,
        write the most recent stats to the log file, and reset the stats
      - Added support for F6 key (client and server) to clear the log file
      - Added support for TIMEOUT=## (## = minutes) command line option
        (server) for user specification of the screen saver timeout factor
      - Changed Beta support of Del key (client and server) to F5 key
      - Changed Beta support of DELAY=##### (##### = seconds) command line
        option (server) to TIMEOUT=## (## = minutes)
      - Cosmetic enhancements and optimization of the main screen display
      - Corrected a logic problem which only supported alphabetic characters
        in the SUPERVISOR/ADMIN password when unlocking the Console Keyboard

