PAUL SCHERRER INSTITUT
EPICS at PSI
PSIEPICSSLSSwissFELProscan

EPICS

EPICS at PSI
Software
Training

web epics.web.psi.ch

Updated: 26.05.2011


Printer friendly version
 

[Validate HTML][Validate CSS]

IOCMON: I/O Controller Monitoring Utility

What is IOCMON?

It is an IOC monitoring application that runs @ the IOC (EPICS + vxWorks) and monitors the available resources. It extends the current vxstats functionality and provide the data in a more readable way. For example, instead of showing a string that includes all the boot parameters, we have separated each individual boot parameter and provide it as an independent EPICS channel. Moreover, it additionally report network interface statistics and channel access links.

For example it reports the following:

Memory

- Number of bytes in the IOC that is not allocated
- Number of bytes allocated
- Size of largest free block

CPU

- Estimated percent CPU usage by tasks
- CPU Heart Beat (Alive)
- System File Descriptors
- Number of file descriptors currently in use

Channel Access

- Number of current CA clients
- Number of current CA clients connections
- Number of CA database links
- Number of CA database links not connected
- Number of CA database links disconnected

Network Interface

- Number of times failed to find space
- Number of times waited for a space
- Number of times drained protocol for space (no. of IP fragments that are dropped)
- Number of sent packets
- Number of received packets
- Number of input errors
- Number of output errors
- Number of dropped packets
- Number of collisions (This is an indication of the network medium load seen by the IOC)

Examples of Use (Networking)

For example, we see output errors reported by the IOC.s Network Interface (EPICS 3.13.9, MVME2300, vxWorks 5.3.1) once the Network Switch is configured to Full Duplex. We assume if there is a miss configured device that is spamming packets, IOC.s in that subnet will start reporting collisions, the same should be true when the load goes very high.
This info can help to:
1- Detects problems in the network related to wrong equipment configuration and the like
2- Optimize our network stack configuration parameters to fit our applications needs
3- Anticipate future network operation needs

The GUI

the gui

An example template:

# sample database using all the different types of statistics:
record(ai,"$(CRATE):LOAD") {
    field(DESC, "CPU Load")
    field(SCAN, "5 second")
    field(DTYP, "VX stats")
    field(INP,  "@cpu")
    field(EGU,  "%")
    field(HOPR, "100")
    field(HIHI, "90")
    field(HIGH, "70")
    field(HHSV, "MAJOR")
    field(HSV,  "MINOR")
    field(PREC, "2")
    field(ADEL, "5")
}

record(ai,"$(CRATE):CAL") {
    field(DESC, "CA LINKS")
    field(SCAN, "10 second")
    field(DTYP, "VX stats")
    field(INP,  "@ca_links")
    field(EGU,  "#")
    field(PINI, "YES")
}

record(ai,"$(CRATE):CALNCONN") {
    field(DESC, "CA Links Not Conncted")
    field(SCAN, "10 second")
    field(DTYP, "VX stats")
    field(INP,  "@ca_lnconn")
    field(EGU,  "#")
    field(HOPR, "20000")
    field(HIHI, "20")
    field(HIGH, "1")
    field(HHSV, "MAJOR")
    field(HSV,  "MINOR")
    field(PINI, "YES")
    field(ADEL, "1")
}

record(ai,"$(CRATE):NETPIERR") {
    field(DESC, "NET Packets Inp Err")
    field(SCAN, "10 second")
    field(DTYP, "VX stats")
    field(INP,  "@net_pierror")
    field(EGU,  "#")
    field(PINI, "YES")
    field(ADEL, "100")
}
Download the package: iocmon-1.7.0.tar.gz (102378 bytes).

Acknowledgment:vxStats was developed by J.Kowalkowski, M.Kraimer, S.Jacobson and C.Lionberger. EPICS 3.14 support for vxStats was done by M. Kraimer.

vxStats can be found at EPICS soft support website

Contact: The package is currentlc supported by Dirk Zimoch.

Swiss Light Source, 2006 (updated 2011)


Updated: 26.05.2011   Source: /afs/psi.ch/project/epics/webhosting/software/iocmon/index.php