Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 1 | typedef struct netsnmp_cpu_info_s netsnmp_cpu_info; |
Dave Shield | 467d0d1 | 2006-08-24 12:49:00 +0000 | [diff] [blame] | 2 | extern int cpu_num; |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 3 | |
Dave Shield | d70a05d | 2005-06-30 08:35:49 +0000 | [diff] [blame] | 4 | /* For rolling averages */ |
| 5 | struct netsnmp_cpu_history { |
Jan Safranek | 3e5fedd | 2011-11-03 09:45:27 +0100 | [diff] [blame] | 6 | unsigned long long user_hist; |
| 7 | unsigned long long sys_hist; |
| 8 | unsigned long long idle_hist; |
| 9 | unsigned long long nice_hist; |
| 10 | unsigned long long total_hist; |
Dave Shield | a019f44 | 2006-08-18 15:58:31 +0000 | [diff] [blame] | 11 | |
Jan Safranek | 3e5fedd | 2011-11-03 09:45:27 +0100 | [diff] [blame] | 12 | unsigned long long ctx_hist; |
| 13 | unsigned long long intr_hist; |
| 14 | unsigned long long swpi_hist; |
| 15 | unsigned long long swpo_hist; |
| 16 | unsigned long long pagei_hist; |
| 17 | unsigned long long pageo_hist; |
Dave Shield | d70a05d | 2005-06-30 08:35:49 +0000 | [diff] [blame] | 18 | }; |
| 19 | |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 20 | struct netsnmp_cpu_info_s { |
| 21 | int idx; |
| 22 | /* For hrDeviceTable */ |
| 23 | char name[ SNMP_MAXBUF ]; |
| 24 | char descr[ SNMP_MAXBUF ]; |
Dave Shield | 5a102a1 | 2006-08-27 16:43:39 +0000 | [diff] [blame] | 25 | int status; |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 26 | |
| 27 | /* For UCD cpu stats */ |
Jan Safranek | 3e5fedd | 2011-11-03 09:45:27 +0100 | [diff] [blame] | 28 | unsigned long long user_ticks; |
| 29 | unsigned long long nice_ticks; |
| 30 | unsigned long long sys_ticks; |
| 31 | unsigned long long idle_ticks; |
| 32 | unsigned long long wait_ticks; |
| 33 | unsigned long long kern_ticks; |
| 34 | unsigned long long intrpt_ticks; |
| 35 | unsigned long long sirq_ticks; |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 36 | |
Jan Safranek | 3e5fedd | 2011-11-03 09:45:27 +0100 | [diff] [blame] | 37 | unsigned long long total_ticks; |
| 38 | unsigned long long sys2_ticks; /* For non-atomic system counts */ |
Dave Shield | a019f44 | 2006-08-18 15:58:31 +0000 | [diff] [blame] | 39 | |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 40 | /* For paging-related UCD stats */ |
| 41 | /* XXX - Do these belong elsewhere ?? */ |
Dave Shield | 467d0d1 | 2006-08-24 12:49:00 +0000 | [diff] [blame] | 42 | /* XXX - Do Not Use - Subject to Change */ |
Jan Safranek | 3e5fedd | 2011-11-03 09:45:27 +0100 | [diff] [blame] | 43 | unsigned long long pageIn; |
| 44 | unsigned long long pageOut; |
| 45 | unsigned long long swapIn; |
| 46 | unsigned long long swapOut; |
| 47 | unsigned long long nInterrupts; |
| 48 | unsigned long long nCtxSwitches; |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 49 | |
Dave Shield | d70a05d | 2005-06-30 08:35:49 +0000 | [diff] [blame] | 50 | struct netsnmp_cpu_history *history; |
| 51 | |
Dave Shield | 05b54d2 | 2005-06-27 08:57:52 +0000 | [diff] [blame] | 52 | netsnmp_cpu_info *next; |
| 53 | }; |
| 54 | |
| 55 | |
| 56 | /* |
| 57 | * Possibly not all needed ?? |
| 58 | */ |
| 59 | netsnmp_cpu_info *netsnmp_cpu_get_first( void ); |
| 60 | netsnmp_cpu_info *netsnmp_cpu_get_next( netsnmp_cpu_info* ); |
| 61 | netsnmp_cpu_info *netsnmp_cpu_get_byIdx( int, int ); |
| 62 | netsnmp_cpu_info *netsnmp_cpu_get_byName( char*, int ); |
| 63 | |
| 64 | netsnmp_cache *netsnmp_cpu_get_cache( void ); |
| 65 | int netsnmp_cpu_load( void ); |