WIP
/pcli/run/ipmview shows IPM monitoring.
provides info' as per the example below;
or when rolling;
/pcli/run/dblogview shows database connections/queries.
/pcli/run/logview shows general process app log.
If we look at the ipmview screen (the top 2), we can note the ID's, these seem to come from pcli/include/app_ipc.h as below;
/********************************************************************
!
! I P C D e f i n i t i o n s
!
!
! AUTOMATICALLY GENERATED : DO NOT EDIT
!
*********************************************************************/
#ifndef _app_ipc_h
#define _app_ipc_h
#include "sdd/sdd_types.h"
//====================================================
// Define the IDs for each application process
//====================================================
#define APP_XXXX 1
#define APP_ALARM 5
#define APP_DATALOAD 28
#define APP_DBLOG 14
#define APP_DOA 9
#define APP_DOCUGIRL 32
#define APP_FURN3LOG 13
#define APP_GASCOM 18
#define APP_GASCUT 17
#define APP_GASREC 27
#define APP_HEAP 6
#define APP_INVOICE 29
#define APP_LARC 11
#define APP_LFIL 2
#define APP_LOGSQL 3
#define APP_MAINFRAME 25
#define APP_MESLINK 16
#define APP_MFLINK 21
#define APP_MQCB 24
#define APP_MQCRONOS 15
#define APP_MQFEC 23
#define APP_MQMCC 22
#define APP_OPREQ 4
#define APP_PAINTCOM 20
#define APP_PAINTMARK 19
#define APP_RHMODBUS 26
#define APP_SDL 8
#define APP_SMS 10
#define APP_STOCKMAN 31
#define APP_TESTAPP 12
#define APP_TESTFAIL 30
#define APP_TIMER 7
#define APP_UTIL 1
#define MAX_PROCS 120
#define PROC_STATE_IDLE 0
#define PROC_STATE_BUSY 1
#define PROC_STATE_DB 2
#define SHARE_KEY_IPM_PROCDIR 2000
#define SHARE_KEY_IPM_LOOPBUF 2001
//=========================================
// Process Directory
//
// This keeps a list of all processes
// with their pid, to enable signalling
// between them for messaging
//=========================================
typedef struct _PROCDIR
{
unsigned long id[MAX_PROCS]; // Process id
unsigned long pid[MAX_PROCS]; // Process task id
unsigned long mq_id[MAX_PROCS]; // Message queue id
unsigned long proc_state[MAX_PROCS]; // Process state - idle, busy, DB
unsigned long msg_rx_count[MAX_PROCS]; // Count of messages received
unsigned long msg_tx_count[MAX_PROCS]; // Count of messages transmitted
unsigned long msg_rx_errors[MAX_PROCS]; // Count of receive errors
unsigned long msg_tx_errors[MAX_PROCS]; // Count of transmit errors
char name[MAX_PROCS][32]; // Process name.
DUMMY dummy[MAX_PROCS]; //
} PROCDIR;
//=========================================
// SHORTIPM
//
// This defines a message structure
//=========================================
typedef struct _SHORTIPM
{
unsigned long ipm_type; // 1 = short IPM
unsigned short ipm_size; // =sizeof(SHORTIPM)
int sam; // param 1
int sal; // param 2
int sx; // param 3
int sy; // param 4
int sz; // param 5
double sa; // overlayed on 4190
char text[200]; // for slab id etc.
unsigned long txpid; // Process task id of sender
unsigned long rxpid; // Process task id of receiver
char sender[20]; // Task name of sender
int dataptr; // Address of type data
} SHORTIPM;
#endif
TBC
No comments:
Post a Comment
Note: only a member of this blog may post a comment.