Commit Graph

1148 Commits

Author SHA1 Message Date
Doug MacEachern 2ee1013aad lets say NOTIMPL if /proc is not mounted. freebsd 5.x does not mount /proc
by default.
2005-02-16 17:56:31 +00:00
Doug MacEachern 5e065145e5 avoid /proc on freebsd for proc_time 2005-02-16 02:54:17 +00:00
Doug MacEachern c37991c69c /proc check for proc_exe 2005-02-15 19:13:59 +00:00
Doug MacEachern 44fabf2103 use sysctl for memory metrics on freebsd 2005-02-15 18:47:48 +00:00
Doug MacEachern eddfa04179 first try sysctl to get swap info on freebsd 2005-02-15 02:43:52 +00:00
Doug MacEachern d02f09c178 sysctl code for darwin works on freebsd 5.3 (not 4.x), use it to avoid
/dev/kmem perms.
2005-02-15 02:09:48 +00:00
Doug MacEachern 59eb92f4ce prevent perror() call if kvm_open fails 2005-02-15 01:57:19 +00:00
Doug MacEachern 1a0c381c58 try sysctl first to get cpu info 2005-02-15 01:56:22 +00:00
Doug MacEachern 6d6ebf238c more /proc checks 2005-02-13 05:55:27 +00:00
Doug MacEachern 2d375e1f3f some checks for /proc 2005-02-13 05:46:10 +00:00
Doug MacEachern 3521d8bc72 fix cpu mhz 2005-02-13 05:32:30 +00:00
Doug MacEachern a50c77a330 compile again on freebsd 4.x 2005-02-13 05:13:30 +00:00
Doug MacEachern 6f86a07623 filter out system processes and threads from proc_list 2005-02-13 05:05:21 +00:00
Doug MacEachern b5bb7c5c4f more freebsd 5.3 changes 2005-02-13 04:22:46 +00:00
Doug MacEachern af9741da30 port to freebsd 5.3 2005-02-13 04:13:49 +00:00
Doug MacEachern 6ad0b561e7 freebsd proc_mem 2005-02-13 03:24:33 +00:00
Doug MacEachern 5bc64bd40a rid warning 2005-02-12 02:49:00 +00:00
Doug MacEachern 08e6b0cb8b check /dev/kmem perms 2005-02-12 01:50:56 +00:00
Doug MacEachern 066ef754c4 some freebsd cpu infos 2005-02-12 00:40:52 +00:00
Doug MacEachern 7852029a84 freebsd cpu mhz 2005-02-12 00:18:00 +00:00
Doug MacEachern ffd6610ea9 darwin cpu mhz 2005-02-12 00:11:43 +00:00
Doug MacEachern d1a6e3e143 always destroy the rpc client in nfsping 2005-02-11 23:47:10 +00:00
Doug MacEachern c9287bfccc move procfs_args_get within ifdef WIN32 2005-02-11 21:27:38 +00:00
Doug MacEachern 49be12938f piece of proc_exe for freebsd 2005-02-09 08:07:32 +00:00
Doug MacEachern 99ed144a86 freebsd proc_env 2005-02-09 07:53:28 +00:00
Doug MacEachern 26596a0fee freebsd proc_args 2005-02-09 07:29:45 +00:00
Doug MacEachern b2cc0c4c48 move /proc/pid/cmdline parsing to sigar_util.c 2005-02-09 07:29:31 +00:00
Doug MacEachern 734e766771 freebsd proc_time 2005-02-09 07:06:04 +00:00
Doug MacEachern 06abd079e8 freebsd proc_list 2005-02-09 04:31:08 +00:00
Doug MacEachern 7d61e468b2 freebsd memory metrics 2005-02-09 04:19:55 +00:00
Doug MacEachern d879ff5bb8 rename handle to /dev/kmem 2005-02-09 03:56:27 +00:00
Doug MacEachern 0f4850670f freebsd cpu metrics 2005-02-09 03:54:57 +00:00
Doug MacEachern ac37c62faa freebsd swap metrics 2005-02-09 03:36:54 +00:00
Doug MacEachern f2b66f82cb fix freebsd compile 2005-02-09 01:22:37 +00:00
Doug MacEachern aae3c7496c function to ping an nfs server 2005-02-03 22:25:08 +00:00
Doug MacEachern 7f15d07b45 fix win2003 crash 2005-01-28 16:33:12 +00:00
Doug MacEachern 9143abc140 fix windows 2003 perfdata registry/pdh.dll problem 2005-01-27 02:28:31 +00:00
Doug MacEachern bee745af0d aix thread_cpu_get impl 2005-01-07 00:34:58 +00:00
Doug MacEachern ebb4e703c8 link against libpthreads 2005-01-07 00:09:37 +00:00
Doug MacEachern 11ecd9cf07 pthread_getrusage_np wrapper 2005-01-07 00:09:23 +00:00
Doug MacEachern 45bef706a4 from 5.2, required to link pthread_getrusage_np when building on 4.3 2005-01-07 00:08:27 +00:00
Doug MacEachern 063d879294 only map ENOENT to ESRCH for /proc open errors 2004-12-18 01:20:19 +00:00
Doug MacEachern 55e669634c fix bug sigar_get_kstats_multi where not enough memory was allocated 2004-12-17 00:43:32 +00:00
Doug MacEachern 8e420228a1 fix if disk has no volume group 2004-12-11 01:10:53 +00:00
Doug MacEachern 9721ca0121 implement disk i/o metrics 2004-12-07 16:53:34 +00:00
Doug MacEachern 60852cf91e another solaris disk type 2004-12-07 06:14:22 +00:00
Doug MacEachern 836d67f92f deal w/ unpartitioned disk kstats 2004-12-07 06:06:29 +00:00
Doug MacEachern 1a4f8ae004 implement disk i/o metrics 2004-12-07 05:06:03 +00:00
Doug MacEachern 5630d9a48a implement disk metrics 2004-12-06 03:51:15 +00:00
Doug MacEachern 728fd6d75d initialize disk metrics for all platforms 2004-12-05 23:42:23 +00:00
Doug MacEachern dfdff8b635 use SIGAR_FIELD_NOTIMPL constant in place of -1 or 0 for fields which are not implemented for a given platform 2004-12-05 23:36:48 +00:00
Doug MacEachern d7adfbd94a cache the dirname => device lookups 2004-12-05 22:31:26 +00:00
Doug MacEachern b601f3b32d free the table itself 2004-12-05 21:40:56 +00:00
Doug MacEachern 6fd2419ba4 include sigar_util.h before sigar_os.h 2004-12-05 21:09:47 +00:00
Doug MacEachern 6852882203 use function pointer to free value 2004-12-05 20:48:35 +00:00
Doug MacEachern 72b3a4c55b disk metrics for 2.4 kernel 2004-12-05 20:34:51 +00:00
Doug MacEachern bb42c93df4 linux 2.6 iostats 2004-12-05 07:10:18 +00:00
Doug MacEachern 8cf3261b03 rid gcc warning 2004-12-05 07:04:31 +00:00
Doug MacEachern e5582816c6 start disk i/o metrics 2004-12-05 01:18:57 +00:00
Doug MacEachern f932402774 hash table for caching username lookups, etc. 2004-12-04 22:44:55 +00:00
Doug MacEachern d6cb75e1d2 fix possible segfault in sigar_group_name_get 2004-11-30 00:14:06 +00:00
Doug MacEachern bd9a436247 fillin cpu.wait 2004-11-22 01:58:07 +00:00
Doug MacEachern 46ba56bc17 add cpu.wait metric 2004-11-22 01:51:34 +00:00
Doug MacEachern 02c7235d4d adjust mem.actual_{used,free} +/- buffers/cache 2004-11-20 02:23:57 +00:00
Doug MacEachern fee5b18641 removing mem.{buffer,cached} fields.
replace with actual_{free,used} fields so we can portably adjust
-/+ buffers/cache on linux and perhaps on other platforms w/ different
semantics.
2004-11-20 02:08:16 +00:00
Doug MacEachern 65fe21ae2b thread_cpu impl 2004-11-17 05:50:18 +00:00
Doug MacEachern 1299660b6c thread_cpu stub 2004-11-17 05:35:17 +00:00
Doug MacEachern 84b4a376ae thread_cpu impl 2004-11-17 04:56:00 +00:00
Doug MacEachern a28cf84001 use sysconf to get ticks 2004-11-15 00:56:34 +00:00
Doug MacEachern 2f5ccd9019 log message if we cant determine idle cpu time 2004-11-02 23:34:01 +00:00
Doug MacEachern b1acfcf5e9 fix cpu idle metric for windows NT and 2000 2004-11-02 23:17:18 +00:00
Doug MacEachern 314ddb41bf make sigar_swap compatible with 2.6 kernel 2004-10-05 20:46:57 +00:00
Doug MacEachern e6d5124d9d make sigar_mem compatible with 2.6 kernel 2004-10-05 20:44:33 +00:00
Doug MacEachern b5c27255da get mac address for tru64 2004-10-02 03:45:13 +00:00
Doug MacEachern 8716d916c7 weed out network interfaces that have no ip address 2004-10-02 03:39:23 +00:00
Doug MacEachern 554e241136 remove proc_list optimization. while max_proc wont change, it may be set to
an a very large number seems that can make pstat_getproc choke.
change to loop through with a small array.
2004-09-28 21:39:01 +00:00
Ryan Morgan 79f6f36447 Set the file system type to unknown initially. The proper type
will be determined on the call to sigar_fs_type_get(fsp).
2004-09-26 21:07:26 +00:00
Ryan Morgan a467383f27 Fill in temporary implementation of sigar_cpu_list_get to get all the
tests passing on darwin.  Will add support for multiple cpu's later.
2004-09-23 06:10:26 +00:00
Doug MacEachern 03b36fdd4c proc_state impl 2004-09-23 01:36:04 +00:00
Doug MacEachern 4ad0aea473 use PI_EMPTY constant 2004-09-23 01:09:31 +00:00
Doug MacEachern 1c8c66dd0c implement proc_time 2004-09-23 01:07:51 +00:00
Doug MacEachern 00805a58cf implement proc_mem 2004-09-23 00:55:45 +00:00
Doug MacEachern 9494545226 implement proc_list 2004-09-23 00:39:16 +00:00
Ryan Morgan fa9df002d1 Small fixes to get sigar sources compiling on Darwin again. 2004-09-22 21:34:05 +00:00
Doug MacEachern 7a58b58435 better file system type mapping 2004-09-07 02:24:33 +00:00
Doug MacEachern 5fd3175b04 file_system_usage impl 2004-09-07 02:07:10 +00:00
Doug MacEachern 0964c3d2ff file_system_list impl 2004-09-07 02:00:59 +00:00
Doug MacEachern c1ca086089 cpu_info 2004-09-06 18:14:50 +00:00
Doug MacEachern ac0db4ceb6 cpu_list 2004-09-06 17:31:48 +00:00
Doug MacEachern faeef9e568 implement sigar_cpu 2004-09-06 16:39:54 +00:00
Doug MacEachern a0314e1254 implement uptime 2004-09-06 16:20:19 +00:00
Doug MacEachern 29bb85ca7a implement loadavg 2004-09-06 16:14:16 +00:00
Doug MacEachern 6ecab7bba0 fillin swap 2004-09-06 04:25:29 +00:00
Doug MacEachern 3ba4a01afc seems aix and osf are old buddies 2004-09-06 03:53:09 +00:00
Doug MacEachern e2795350fc add includes 2004-09-06 03:27:28 +00:00
Doug MacEachern 69e8003fe2 fillin sigar_mem 2004-09-06 03:27:05 +00:00
Doug MacEachern ac0e4ac5a0 copy of src/os/stub 2004-09-06 03:02:04 +00:00
Doug MacEachern cb45a3956c fix compiler warnings 2004-09-06 02:50:41 +00:00
Doug MacEachern 9a071a99a4 detect solaris version, use it to skip init_libproc if >= solaris 10. 2004-09-04 22:59:40 +00:00
Doug MacEachern 6876eeabd3 fillin proc_exe on solaris 10 using new /proc/<pid>/path/ feature 2004-09-04 22:46:08 +00:00
Doug MacEachern 42f7549b49 remove unused /proc/cred function.
fix proc_status function name.
2004-09-04 19:01:44 +00:00
Doug MacEachern c9990246da PR: 9519
proc_dirname does not exist in solaris 10's libproc.so
2004-09-04 18:56:27 +00:00
Doug MacEachern 2e940caf97 PR: 9519
workaround solaris 10 issue in proc_time
2004-09-04 18:37:17 +00:00
Doug MacEachern ed77b95632 fix possible crash in get_cpu_instance 2004-08-27 23:06:46 +00:00
Doug MacEachern 4736d77c87 add proc_time.total field (sum of user+sys) 2004-08-21 00:25:07 +00:00
Doug MacEachern 606275fc36 renaming proc_time.{utime,stime} to proc_time.{user,sys}
'utime' and 'stime' are common within system structures, but with lots of
other stuff in the structure unrelated to time.  having 'time' in both the
structure/class name and the field at the sigar level is just lame.
2004-08-21 00:13:13 +00:00
Doug MacEachern a79bb600b9 assume Xeon on redhat AS 2.1 is HT enabled 2004-08-11 22:44:38 +00:00
Doug MacEachern 25887e0f4a change get_proc_info to report 'No such process' 2004-08-10 22:24:12 +00:00
Doug MacEachern b85eea0ff9 workaround issue seen on occasion w/ 2003 server in vmware.
for reasons unknown, the process perf object sometimes comes back with
the counter titles but no instances.  this would crash the agent.
2004-08-10 21:51:13 +00:00
Doug MacEachern 948b456433 fix get_perf_object, ReqQuery was shrinking the sigar->perfbuf_size 2004-08-09 21:46:34 +00:00
Doug MacEachern bbc1b99d32 fix proc_args when cmdline crosses first page boundry (seen w/ WebSphere) 2004-08-04 05:18:05 +00:00
Doug MacEachern 63924059e2 rid lousy getarg parser in favor of CommandLineToArgvW 2004-08-03 03:25:17 +00:00
Doug MacEachern 2e8f6226e3 some fixes and make command line parser reusable 2004-08-03 03:18:40 +00:00
Doug MacEachern bb02117ef4 change proc_args to use CommandLineToArgvW parser 2004-08-03 03:06:25 +00:00
Doug MacEachern 042c38ae95 remove old code to get proc_args 2004-08-03 02:58:48 +00:00
Doug MacEachern b8a09c70f0 increase peb cmdline buffer size 2004-08-03 02:45:26 +00:00
Doug MacEachern df5e418f30 canonicalize proc_exe.{name,cwd} 2004-08-01 20:42:18 +00:00
Doug MacEachern d939d1763c use PEB to get the proc_exe.cwd 2004-08-01 20:31:42 +00:00
Doug MacEachern 43768bac66 handle proc_exe.name for self process 2004-07-30 02:37:01 +00:00
Doug MacEachern 5213a822f6 pullout some dlinfo code from proc_modules to be reused 2004-07-30 02:27:58 +00:00
Doug MacEachern 19e7aa64a5 fillin proc_exe.name 2004-07-30 02:15:05 +00:00
Doug MacEachern 4e3cdb949b refactor so pgrab can be used elsewhere 2004-07-30 02:07:02 +00:00
Doug MacEachern 5d4736e043 proc_modules refactor to prevent possible phandle leaks 2004-07-30 02:02:41 +00:00
Doug MacEachern 23f6fd91b3 use libproc.so to fillin the proc_exe cwd and root fields 2004-07-30 01:57:58 +00:00
Doug MacEachern f3705ac25d refactor libproc.so fu to be used elsewhere 2004-07-30 01:46:34 +00:00
Doug MacEachern 3945733a4b filter out the system Idle process from proc_list 2004-07-28 21:50:06 +00:00
Doug MacEachern 2fa069d068 change proc_args to use the PEB 2004-07-28 21:47:14 +00:00
Doug MacEachern dc4168178d removing uptime.idletime (only linux had this) 2004-07-21 21:56:55 +00:00
Doug MacEachern d87f4e50d8 skip swap device if not active 2004-07-20 15:42:05 +00:00
Doug MacEachern 1df568b4ef proper return value check for perfstat functions 2004-07-19 21:33:18 +00:00
Doug MacEachern ffc18694f4 use perfstat_pagingspace for swap metrics if libperfstat is available 2004-07-19 21:28:52 +00:00
Doug MacEachern af3804e1d8 name the unnamed unions instead of commenting out 2004-07-19 20:43:35 +00:00
Doug MacEachern 3ae523990f size param to perfstat functions is size_t not int 2004-07-19 20:30:06 +00:00
Doug MacEachern fd0b920b0d simplify cpu_total wrapper 2004-07-19 19:49:32 +00:00
Doug MacEachern 87b502d76a use perfstat for cpu_list if available 2004-07-19 19:44:01 +00:00
Doug MacEachern c90566454e use libperfstat for cpu if possible 2004-07-19 19:05:23 +00:00
Doug MacEachern c92662082c add loadavg calculation notes 2004-07-19 18:36:17 +00:00
Doug MacEachern 3b4d48a0ce use libperfstat for loadaverage if possible 2004-07-19 18:31:22 +00:00
Doug MacEachern 657ff6d874 need get_self_path decl earlier for perfstat wrapper refactor 2004-07-19 18:21:36 +00:00
Doug MacEachern 7d6f84e81a refactor perfstat wrapper so it can be used in other functions 2004-07-19 18:13:56 +00:00
Doug MacEachern 310cf063eb continue if a swapqry fails 2004-07-18 20:46:12 +00:00
Doug MacEachern 426d2d9e11 add some swap logging 2004-07-18 17:46:26 +00:00
Doug MacEachern 8aa114b220 more fqdn logging.
use ip address if fqdn cannot be determined.
2004-07-16 20:06:02 +00:00
Doug MacEachern dcdc74d06a use IS_FQDN stead of strchr 2004-07-16 19:10:08 +00:00
Doug MacEachern 48857bb990 workaround uptime issue on 5.x 2004-07-16 18:33:19 +00:00
Doug MacEachern de952b5d81 remove unused variable 2004-07-16 01:25:54 +00:00
Doug MacEachern 471d4bb02b call versioned boot_time functions based on uname version rather than always trying v4 first 2004-07-16 01:20:47 +00:00
Doug MacEachern 698be6dd32 s/procinfo/procsinfo/ so we can compile in 64 bit mode 2004-07-15 18:38:56 +00:00
Doug MacEachern 6b692615ef fix possible handle leak in sigar_get_cpu_mhz_perfstat 2004-07-13 02:25:41 +00:00
Doug MacEachern c1df8325d5 wtf, end-of-file got chopped off 2004-07-12 21:27:24 +00:00
Doug MacEachern ef21ab2336 add some debug logging 2004-07-12 21:14:20 +00:00
Doug MacEachern ddc6f4c55c missed api _list convention, cpu_infos -> cpu_info_list 2004-07-10 04:44:45 +00:00
Doug MacEachern ca3ecc05f5 cpu model/vendor fixups 2004-07-09 21:02:34 +00:00
Doug MacEachern c51d4f15d4 cpu model name fixups 2004-07-09 20:44:39 +00:00
Doug MacEachern d26c16affa build libsigar_aixperfstat.so 2004-07-09 00:52:14 +00:00
Doug MacEachern 9a00bf0c64 use libperfstat to get cpu mhz on aix 5.2 2004-07-09 00:51:33 +00:00
Doug MacEachern 71e5d8f118 dynamic proxy to libperfstat.a 2004-07-09 00:50:09 +00:00
Doug MacEachern 9dad97ab20 libperfstat.a from aix 5.2 required for linking on 4.3 2004-07-09 00:49:19 +00:00
Doug MacEachern 38ee1910e6 libperfstat.h from aix 5.2 2004-07-09 00:48:29 +00:00
Doug MacEachern 99728c8e48 add self_path 2004-07-09 00:01:51 +00:00
Doug MacEachern 036f8e7789 function to get the directory where libsigar.so lives 2004-07-08 03:29:59 +00:00
Doug MacEachern a0f68ed2a7 implement proc_modules for self process 2004-07-08 03:01:43 +00:00
Doug MacEachern 22338e6682 more fqdn logging 2004-07-06 03:01:50 +00:00
Doug MacEachern a96ad26012 add some logging to sigar_fqdn_get 2004-07-06 01:00:14 +00:00
Doug MacEachern 992f277423 proc_modules impl for self process 2004-07-05 22:49:21 +00:00
Doug MacEachern 51eb79a392 proc_modules impl 2004-07-05 22:28:31 +00:00
Doug MacEachern 4310cba4c7 for hardware model 2004-07-02 23:02:04 +00:00
Doug MacEachern 3575b1319f add routine to get hardware model using ODM 2004-07-02 22:55:59 +00:00
Doug MacEachern ad495656ee fix tyop 2004-07-02 16:12:52 +00:00
Doug MacEachern 8a9bb2b7c9 add detection for newer cpu models not included in the 4.3 systemcfg.h 2004-07-02 16:09:58 +00:00
Doug MacEachern ebc80f9357 adjust model name 2004-07-02 02:52:51 +00:00
Doug MacEachern 5934d4bfc4 more cpu model name fixups 2004-07-02 02:46:37 +00:00
Doug MacEachern 060bf3b805 more cleanup of the cpu model name 2004-07-02 02:12:29 +00:00
Doug MacEachern 1b8ad7de8f trim leading whitespace regardless of (R) 2004-07-02 01:38:17 +00:00
Doug MacEachern f56206bbca remove cpu vendor name from model name 2004-07-02 01:37:01 +00:00
Doug MacEachern 2168c3b578 adjust cpu model name 2004-07-02 01:27:04 +00:00
Doug MacEachern 77b2883e1e prefer ProcessorNameString to Indentifier for cpu model name 2004-07-02 01:26:45 +00:00
Doug MacEachern 4df7191361 add function to cleanup cpu model name 2004-07-02 01:25:35 +00:00
Doug MacEachern a1ffc9132a fixup cpu vendor 2004-07-01 22:07:12 +00:00
Doug MacEachern b10a1a0c9e fix cpu_list for older linux kernels 2004-07-01 21:57:26 +00:00
Doug MacEachern 1bbf237912 fix compile error w/ older gcc 2004-07-01 00:41:03 +00:00
Doug MacEachern ddc2874791 fix winnt flag 2004-06-30 22:43:48 +00:00
Doug MacEachern 1c32c2acc9 fix off-by-one bug in proc_args 2004-06-30 21:20:19 +00:00
Doug MacEachern 771742caf9 fix dir_stat_get, was missing the first file 2004-06-30 00:37:46 +00:00
Doug MacEachern 018f634896 proc_modules impl 2004-06-29 02:23:58 +00:00
Doug MacEachern f0b267957a NT does not have a Processor _Total perf counter instance 2004-06-23 05:21:13 +00:00
Doug MacEachern 263b68ba53 better cpu vendor guess if x86 2004-06-23 02:32:38 +00:00
Doug MacEachern 300094d65d also remove 'Authentic' if vendor is AMD 2004-06-23 01:10:40 +00:00
Doug MacEachern cb27ce6b1f change cpu_info vendor to 'Intel' instead of 'GenuineIntel' 2004-06-23 01:00:51 +00:00
Doug MacEachern 903fabc3e4 remove malloc casts 2004-06-22 23:44:46 +00:00
Doug MacEachern f51b9f1cbb remove unused get_ncpus function.
add is_ht_enabled function.
merge times of logical processors in cpu_list_get
2004-06-22 20:52:04 +00:00
Doug MacEachern 97472cb48e stub proc_modules_get 2004-06-22 19:40:37 +00:00
Doug MacEachern 903c369671 dont hardcode 2 logical processors if ht_enabled 2004-06-22 19:22:50 +00:00
Doug MacEachern 003d416408 fix get_perf_object error handling.
morg experienced an ERROR_BUSY which crashed the agent, this is properly
handled now.
2004-06-22 17:51:38 +00:00
Doug MacEachern a23ff178db add winnt flag and use it in proc_modules 2004-06-22 17:15:10 +00:00
Doug MacEachern aeeb51e25c proc_modules impl 2004-06-22 06:12:51 +00:00
Doug MacEachern e964155cd6 fix cpu_list bug 2004-06-22 01:29:47 +00:00
Doug MacEachern dffe0da855 Initial revision 2004-06-21 22:37:04 +00:00