Commit Graph

927 Commits

Author SHA1 Message Date
Doug MacEachern 2423a9d47c [SIGAR-101] dont try using /usr/ucb/ps unless installed 2008-05-03 15:04:18 +00:00
Doug MacEachern 57bc553dbf [SIGAR-97] implement proc_exe 2008-04-30 03:26:47 +00:00
Doug MacEachern 23090b54b6 fix netbsd skipping inet6 2008-04-27 01:59:44 +00:00
Doug MacEachern 606a050e3a remove nlist check 2008-04-27 01:49:34 +00:00
Doug MacEachern 45c491e859 fixup disk.queue 2008-04-27 00:54:22 +00:00
Doug MacEachern d6a245fa0f [SIGAR-93] fix disk.queue 2008-04-26 23:29:22 +00:00
Doug MacEachern d895adc73e rename cpu_info -> info 2008-04-11 17:54:08 +00:00
Doug MacEachern 51b607866f add cpu_info.cores_per_socket 2008-04-11 17:46:36 +00:00
Doug MacEachern e4c00a7b92 fix cpu_info list size accounting 2008-04-11 17:25:11 +00:00
Doug MacEachern b1d8e39106 fixup cpu vendor+model 2008-04-11 03:48:38 +00:00
Doug MacEachern a7a7c13727 remove unread var 2008-04-11 03:35:37 +00:00
Doug MacEachern a3364ec38d handle the case where VM guest may have 1 virtual ncpu on multicore hosts 2008-04-11 03:28:33 +00:00
Doug MacEachern dffb588d0b cpu_core_count works w/ other bsds 2008-04-11 03:00:28 +00:00
Doug MacEachern 7bfcc25b6f netbsd cp_time always 64-bit 2008-04-11 02:45:55 +00:00
Doug MacEachern ee5d7a6e9f fix sys_info.arch on x64 2008-04-10 21:03:07 +00:00
Doug MacEachern d5358ad0c7 fix cpu core logics 2008-04-10 20:51:23 +00:00
Doug MacEachern 5470d01a73 switch to using sigar_cpuid 2008-04-10 20:40:29 +00:00
Doug MacEachern 5e4f8821cb fix compile 2008-04-10 17:38:18 +00:00
Doug MacEachern 60e239f461 use standard iptypes.h in modern msvc 2008-04-09 23:29:46 +00:00
Doug MacEachern 0bf9cef2bd add/use MSC6 version macro 2008-04-09 20:58:35 +00:00
Doug MacEachern 552f0ede26 fix cpu_info cores+sockets 2008-04-09 07:18:38 +00:00
Doug MacEachern cb002c8541 windows cpu_info cores+sockets 2008-04-09 07:08:03 +00:00
Doug MacEachern 2b9c8971e0 move cpuid from os/linux to sigar_util for use on other platforms 2008-04-09 06:29:08 +00:00
Doug MacEachern 277cf2e68e aix+hpux cpu_info sockets+cores 2008-04-09 05:21:46 +00:00
Doug MacEachern 0983884395 cpu_info cores+sockets 2008-04-09 05:14:10 +00:00
Doug MacEachern 56b8e9e6a3 solaris cpu socket+core counts 2008-04-09 05:08:52 +00:00
Doug MacEachern 187df2f462 add total_cores and total_sockets to sigar_cpu_info_t 2008-04-09 04:38:02 +00:00
Doug MacEachern 949147d4ba no longer need link.h 2008-04-09 03:35:47 +00:00
Doug MacEachern eee071783c refactor/simplify cpu core detection 2008-04-09 03:16:15 +00:00
Doug MacEachern 3cf07fbb30 move sigar_dlinfo_modules to util for use with FreeBSD 2008-04-04 18:39:42 +00:00
Doug MacEachern d826684c33 [SIGAR-92] Add memory free and used in percentage units 2008-04-03 04:45:28 +00:00
Doug MacEachern 5f0f5db9ed assume buffer contains copied path if path == NULL 2008-03-27 00:53:06 +00:00
Doug MacEachern af661d2b7d add util to extract exe from QUERY_SERVICE_CONFIG.lpBinaryPathName 2008-03-27 00:08:29 +00:00
Doug MacEachern 7a3b9a8fe6 add sigar_services_query function 2008-03-26 17:06:32 +00:00
Doug MacEachern 42459486f7 use callback in service query 2008-03-25 21:46:41 +00:00
Doug MacEachern b37c690749 windows sigar_time_now_millis impl 2008-03-16 19:26:29 +00:00
Doug MacEachern 13f57bf914 rid warnings on netbsd 2008-03-16 02:43:08 +00:00
Doug MacEachern 70bfdee076 use sigar_iodev_get 2008-03-16 02:21:46 +00:00
Doug MacEachern abbb5f0208 [SIGAR-36] implement MacOSX file_system.disk metrics 2008-03-16 01:55:51 +00:00
Doug MacEachern 3d33130db8 use sysctl proc_list on NetBSD 2008-03-10 03:01:40 +00:00
Doug MacEachern e406af0b70 NetBSD proc_args 2008-03-10 03:00:18 +00:00
Doug MacEachern 02280ec3c1 fix NetBSD proc_mem 2008-03-10 02:22:22 +00:00
Doug MacEachern e48a2b0ee0 NetBSD proc fixes 2008-03-09 16:55:26 +00:00
Doug MacEachern d9e510494b start NetBSD port 2008-03-09 16:41:59 +00:00
Doug MacEachern ee41ce16d2 fixup prototypes/linkage 2008-03-07 18:01:00 +00:00
Doug MacEachern bddc08778b add EnumServicesStatus wrapper 2008-03-07 02:26:41 +00:00
Doug MacEachern ede22e8b5c Fix nfsstats, somehow masked in previous builds by -g 2008-02-23 09:03:52 +00:00
Doug MacEachern e08e3a8bcc [SIGAR-89] libproc.dylib does not exist on ppc 2008-02-23 08:18:12 +00:00
Doug MacEachern 4344a1457a proc_state SONPROC == R 2008-02-19 06:16:43 +00:00
Doug MacEachern a941cdc3ba OpenBSD net_connection impl 2008-02-19 02:13:44 +00:00
Doug MacEachern eccfefcb6b OpenBSD sigar_proc_args impl 2008-02-18 18:11:50 +00:00
Doug MacEachern 3bd2bd2c6d OpenBSD porting of sigar_proc_ functions 2008-02-18 01:42:52 +00:00
Doug MacEachern 4ef57c1ae0 OpenBSD sigar_cpu_get impl 2008-02-18 00:17:27 +00:00
Doug MacEachern 06059b41fe OpenBSD sigar_swap_get impl 2008-02-18 00:03:22 +00:00
Doug MacEachern 34c19b60b9 tweak for OpenBSD nfs stats 2008-02-17 23:50:36 +00:00
Doug MacEachern aa4269f1a1 fix darwin compile 2008-02-17 23:12:47 +00:00
Doug MacEachern 58b2883205 OpenBSD 4.0 sigar_tcp_get impl 2008-02-17 23:10:56 +00:00
Doug MacEachern 66e6243591 no MNT_UNION on OpenBSD 2008-02-17 22:31:26 +00:00
Doug MacEachern 717c1df381 OpenBSD vmstat impl 2008-02-17 22:25:41 +00:00
Doug MacEachern 29137cc5ae [SIGAR-87] fix kstat_lookup in net_interface_stat 2008-02-13 04:29:57 +00:00
Doug MacEachern be04158e4f [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 05:48:05 +00:00
Doug MacEachern dbd9fe3334 [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 05:11:27 +00:00
Doug MacEachern 62436ae4a2 [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 05:07:35 +00:00
Doug MacEachern a17846e6e5 [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 04:25:25 +00:00
Doug MacEachern 22c7c42ae0 [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 04:20:42 +00:00
Doug MacEachern 33f69554ad [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 04:11:45 +00:00
Doug MacEachern f51eac00b2 [SIGAR-86] Add options field to sigar_file_system_t 2008-02-11 04:07:31 +00:00
Doug MacEachern 68ae3137c1 [SIGAR-85] Fix possible integer overflow in sigar_file_system_usage 2008-02-01 05:08:38 +00:00
Doug MacEachern 2e63fd91b8 [SIGAR-85] Fix possible integer overflow in sigar_file_system_usage 2008-02-01 05:06:27 +00:00
Doug MacEachern 248f93c76e [SIGAR-85] Fix possible integer overflow in sigar_file_system_usage 2008-02-01 05:06:22 +00:00
Doug MacEachern 7e422addb4 [SIGAR-85] Fix possible integer overflow in sigar_file_system_usage 2008-02-01 00:56:05 +00:00
Doug MacEachern 073b439b2a [SIGAR-85] Fix possible integer overflow in sigar_file_system_usage 2008-01-31 20:43:01 +00:00
Doug MacEachern efb74c1703 sanity check strchr results 2008-01-29 00:08:29 +00:00
Doug MacEachern 936a8a79c5 [SIGAR-84] Prevent crash when perf counters are disabled 2008-01-22 22:37:07 +00:00
Doug MacEachern 9ff8308a35 Change sys_info to distinguish between Vista and 2008 server 2007-12-19 01:03:51 +00:00
Doug MacEachern 89eb98a3f1 Fix unitialized proc_state.state when task_for_pid fails 2007-12-13 06:21:44 +00:00
Doug MacEachern babdfafa52 [SIGAR-37] Use libproc when possible for proc_time 2007-12-13 06:18:53 +00:00
Doug MacEachern 3a299c0ae9 [SIGAR-37] Use libproc when possible for proc_mem 2007-12-13 06:03:08 +00:00
Doug MacEachern 139d5adfc1 add Info.plist 2007-12-13 05:47:38 +00:00
Doug MacEachern ddc153b679 sigar_proc_port_get for solaris 10+ only 2007-12-03 18:22:34 +00:00
Doug MacEachern 4a61c20405 [SIGAR-76] Implement sigar_proc_port_get for Solaris 2007-12-03 03:02:34 +00:00
Doug MacEachern 4b712b5da0 move proc_fdinfo_get for re-use 2007-12-02 00:52:38 +00:00
Doug MacEachern b12956364f [SIGAR-75] Implement sigar_proc_port_get for MacOSX 2007-12-01 23:34:02 +00:00
Doug MacEachern 8e121852bd Add net_connnection.uid 2007-12-01 20:26:36 +00:00
Doug MacEachern f448bae54e Fix a few more where we need to specify number of TCHARs rather than sizeof buffer 2007-11-15 21:48:24 +00:00
Doug MacEachern b224421cc4 [SIGAR-53] [SIGAR-73] Recognize gfs and ocfs2 as local filesystems 2007-11-09 22:54:07 +00:00
Doug MacEachern cec8bcc400 [SIGAR-72] close /proc/stat fp 2007-11-09 22:37:17 +00:00
Doug MacEachern 0883efd92c [SIGAR-72] Fix possible crash parsing /proc/stat:btime 2007-11-09 17:31:31 +00:00
Doug MacEachern 29f25f22b7 fake boot_time if no btime in /proc/stat 2007-11-09 01:27:32 +00:00
Doug MacEachern 8176b390fa fix compile 2007-11-07 06:52:23 +00:00
Doug MacEachern 77a9528f91 SIGAR_DISK_STATS_NOTIMPL -> SIGAR_DISK_STATS_INIT 2007-11-07 06:44:57 +00:00
Doug MacEachern 2e6a1c1a20 [SIGAR-65] solaris disk_usage.service_time impl 2007-11-07 05:41:08 +00:00
Doug MacEachern 7720fc973d fix disk_usage memcpy 2007-11-07 05:32:25 +00:00
Doug MacEachern ac8f9541cd [SIGAR-71] option for cpu_list to report cores rather than sockets 2007-11-06 06:55:55 +00:00
Doug MacEachern 9d437eb281 refactor towards getting disk service_time 2007-11-04 20:54:22 +00:00
Doug MacEachern b633b1350b simplify file_system.disk impl 2007-11-04 19:56:22 +00:00
Doug MacEachern c97cfd68d7 use FSDEV_ID for devices 2007-11-04 18:21:56 +00:00
Doug MacEachern 76beb87f73 move fsdev field to sigar_t 2007-11-04 16:29:19 +00:00
Doug MacEachern fc5add25ba use device service_time for partitions in 2.6 kernels 2007-11-04 02:50:27 +00:00
Doug MacEachern 60b0114c50 start linux disk service_time impl 2007-11-03 23:10:59 +00:00
Doug MacEachern ba98d0cffe aix disk_usage impl 2007-10-20 16:03:15 +00:00
Doug MacEachern 39446b928b [SIGAR-69] Fix osx process state 2007-10-20 14:55:19 +00:00
Doug MacEachern e82820a8c5 start solaris disk_usage impl 2007-10-15 03:50:07 +00:00
Doug MacEachern 4e124513d0 darwin disk_usage impl 2007-10-14 00:18:28 +00:00
Doug MacEachern fe43d98e10 re-org sigar_disk_usage_t struct 2007-10-13 22:53:55 +00:00
Doug MacEachern 0de44bdfbd re-org sigar_disk_usage_t struct 2007-10-13 22:44:20 +00:00
Doug MacEachern 3c5e67a908 re-org sigar_disk_usage_t struct 2007-10-13 22:13:04 +00:00
Doug MacEachern 2f16848e1e re-org sigar_disk_usage_t struct 2007-10-13 22:01:38 +00:00
Doug MacEachern 4d7e7a3bd7 re-org sigar_disk_usage_t struct 2007-10-13 21:56:18 +00:00
Doug MacEachern 07e4db1d14 add sigar_disk_usage_get 2007-10-13 21:27:26 +00:00
Doug MacEachern 7239440ba6 use fixed size disk name 2007-10-11 06:53:25 +00:00
Doug MacEachern acaab9cadb add aix disk time 2007-10-11 06:33:55 +00:00
Doug MacEachern e2fdcb794c use sigar_disk_usage_t 2007-10-10 17:10:23 +00:00
Doug MacEachern a3f20bd030 doc disk counter names 2007-10-10 16:53:11 +00:00
Doug MacEachern 97856b57fd fix disk queue counter 2007-10-10 16:49:24 +00:00
Doug MacEachern fefc5497e2 add disk times 2007-10-10 16:47:39 +00:00
Doug MacEachern 1a974c02f2 make iostats functions usable with device path 2007-10-10 04:40:52 +00:00
Doug MacEachern 3badfe1723 make iostats usable with sigar_disk_usage_t 2007-10-10 03:19:21 +00:00
Doug MacEachern 119da4a0a6 add solaris disk times 2007-10-10 02:47:13 +00:00
Doug MacEachern f37c435ede add disk rtime and wtime 2007-10-10 02:43:40 +00:00
Doug MacEachern 98157a49ce share FSDEV_ID macro 2007-10-09 21:53:34 +00:00
Doug MacEachern 8fb0941eca add file_system_usage.disk_time 2007-10-09 21:48:50 +00:00
Doug MacEachern f55cb9cfba recognize Scientific Linux 2007-10-05 23:13:06 +00:00
Doug MacEachern 8e9c0f8b60 [SIGAR-68] fix previous rev 2007-09-30 16:22:38 +00:00
Doug MacEachern 8bac6a34b1 sigar_tcp_stat_t renamed to sigar_tcp_t 2007-09-29 18:00:49 +00:00
Doug MacEachern 591a11b106 sigar_tcp_stat_t renamed to sigar_tcp_t 2007-09-29 18:00:04 +00:00
Doug MacEachern a38e6c39d0 [SIGAR-68] Fix possible segfault in cpu_list 2007-09-28 20:19:15 +00:00
Doug MacEachern 45fd67e2aa add some iostat related debug msgs 2007-09-27 23:28:13 +00:00
Doug MacEachern 53a95a5de5 refactor get_fsdev for future expansion 2007-09-27 02:32:48 +00:00
Doug MacEachern 0df96d5eca increase process visibility 2007-08-21 20:51:46 +00:00
Doug MacEachern ec3565b725 increase buffer size 2007-08-21 05:43:10 +00:00
Doug MacEachern f314a01aa4 [SIGAR-67] Change windows proc_exe impl to use PEB 2007-08-21 05:22:01 +00:00
Doug MacEachern 3f79564ffd [SIGAR-66] refactor proc_{exe,args} PEB related code 2007-08-18 19:02:38 +00:00
Doug MacEachern 14f8285648 reset kstat offsets on kstat_chain_update 2007-08-11 00:22:59 +00:00
Doug MacEachern eec869f6d7 add tcp.in_errs 2007-08-08 06:11:20 +00:00
Doug MacEachern bde8f07e8b s/nfsstat/nfs/g 2007-08-08 05:40:58 +00:00
Doug MacEachern f8c583fbc8 remove _stat from sigar_tcp names 2007-08-08 05:34:21 +00:00
Doug MacEachern 7e0b4af3ca Remove useless tcpMaxConn 2007-08-08 05:05:16 +00:00
Doug MacEachern de2177933a freebsd nfs stat adjustments 2007-08-05 03:09:11 +00:00
Doug MacEachern 42f26b5461 bsd-ish nfs metrics impl 2007-08-05 02:22:25 +00:00
Doug MacEachern 9d2b1db7fd use sysctl for darwin swap_get 2007-08-04 19:44:56 +00:00
Doug MacEachern c8bbb6a75d use vmstat util for freebsd mem.free 2007-08-04 19:02:27 +00:00
Doug MacEachern e35bc28775 fallback to vm.stats.vm for page_{in,out} 2007-08-04 18:56:41 +00:00
Doug MacEachern 28c04122c7 start freebsd swap.page_{in,out} impl 2007-08-04 18:39:49 +00:00
Doug MacEachern 93f4553c1e darwin swap.page_{in,out} impl 2007-08-04 18:06:16 +00:00
Doug MacEachern ea1427b004 add vmstat util 2007-08-04 18:03:28 +00:00
Doug MacEachern 02ab6d8730 swap.page_{in,out} windows impl 2007-08-03 14:54:22 +00:00
Doug MacEachern 2af18adeb3 add hpux swap rate metrics 2007-08-03 05:04:03 +00:00
Doug MacEachern 0522dd045e swap rate metrics notimpl (tmp) for older solaris 2007-08-02 04:29:34 +00:00
Doug MacEachern e93de3b1dc start swap.page_{in,out} solaris impl 2007-08-02 04:20:34 +00:00
Doug MacEachern 5692a92ddf rid gcc warning 2007-08-02 03:53:05 +00:00
Doug MacEachern 30faef4929 add nfs_server metrics 2007-08-02 00:33:33 +00:00
Doug MacEachern 76e8f77b3d aix swap.page_{in,out} impl 2007-08-01 03:00:59 +00:00
Doug MacEachern 34c15a533b aix nfs metrics impl 2007-08-01 02:51:37 +00:00
Doug MacEachern f3ac51daa5 start solaris nfs metrics 2007-07-30 04:57:02 +00:00
Doug MacEachern ca85eee8c5 linux nfs stat impl 2007-07-26 07:42:54 +00:00
Doug MacEachern 58b300996b [SIGAR-64] stub nfs functions 2007-07-26 06:30:29 +00:00
Doug MacEachern 3ff8a2666d Validate Uid+Gid fields exist in proc_cred_get 2007-07-20 20:29:44 +00:00
Doug MacEachern 585d510fb4 [SIGAR-62] linux swap.page_{in,out} impl 2007-07-20 18:22:20 +00:00
Doug MacEachern ba1d44fe17 [SIGAR-62] stub swap.page_{in,out} 2007-07-20 18:02:21 +00:00
Doug MacEachern db2eb59a4c aix tcp_stat impl 2007-07-15 17:20:53 +00:00
Doug MacEachern 472c4f4ca2 rename union 2007-07-15 17:19:26 +00:00
Doug MacEachern 5ba9b0ee11 use perfstat for mem stats 2007-07-15 17:05:17 +00:00
Doug MacEachern 139529c1e5 id is always NULL for perfstat_memory_total 2007-07-15 17:04:41 +00:00
Doug MacEachern 31864e053c calculate sizeof within perfstat proxy 2007-07-15 16:36:06 +00:00
Doug MacEachern 148c562ff6 calculate sizeof within perfstat proxy 2007-07-15 16:30:18 +00:00
Doug MacEachern 203a4bbd08 add more perfstat wrappers 2007-07-15 16:12:09 +00:00
Doug MacEachern 4d44402333 fix compile on aix 5.2 2007-07-15 00:19:10 +00:00
Doug MacEachern 5cfc305137 hpux tcp_stat impl 2007-07-14 23:39:11 +00:00
Doug MacEachern baae33d8fa use tcp_stat_curr_estab 2007-07-14 22:52:12 +00:00
Doug MacEachern b19b26392d darwin/bsd tcp_stat impl 2007-07-14 22:17:22 +00:00
Doug MacEachern c61e7a78b6 windows tcp_stat impl 2007-07-14 17:38:14 +00:00
Doug MacEachern b2fecea5b3 solaris tcp_stat impl 2007-07-14 17:05:01 +00:00
Doug MacEachern ef37a1bf3a linux tcp_stat impl 2007-07-14 16:31:37 +00:00
Doug MacEachern fe76b8fe7d stub tcp_stat function 2007-07-14 16:01:58 +00:00
Doug MacEachern 199eb74ac1 [SIGAR-60] Add multi-core AMD Opteron detection 2007-06-28 23:54:06 +00:00
Doug MacEachern de3406cd22 [SIGAR-61] Alternative to /proc/cpuinfo.MHz 2007-06-28 19:07:29 +00:00
Doug MacEachern 4d218a4cc4 [SIGAR-60] Add multi-core AMD Opteron detection 2007-06-28 18:25:50 +00:00
Doug MacEachern 407144e707 improve logical processor folding 2007-06-28 00:01:51 +00:00
Doug MacEachern 3dea5eb761 handle cpus in 'faulted' state 2007-06-28 00:00:17 +00:00
Doug MacEachern 3e064dfeb7 rid warnings from modern MSVC 2007-06-27 01:10:12 +00:00
Doug MacEachern 37d9c1af0c openbsd tweaks 2007-06-04 00:37:08 +00:00
Doug MacEachern b498232e19 fix net_connection.inode 2007-06-02 17:25:28 +00:00
Doug MacEachern 2ac98124c8 no getuser() in 64-bit mode 2007-05-11 18:45:41 +00:00
Doug MacEachern fa69ed85df fix aix 64-bit mode compile 2007-05-11 15:50:31 +00:00
Doug MacEachern 09c4138dbd make sigar_proc_args_get a wrapper 2007-04-22 05:37:39 +00:00
Doug MacEachern ad433cf375 make sigar_proc_list_get a wrapper 2007-04-22 03:54:04 +00:00
Doug MacEachern c4a3f548e2 use getpagesize() instead of sysconf 2007-04-21 15:33:03 +00:00
Doug MacEachern 67a86f31d7 use getpagesize() instead of PAGE_SHIFT 2007-04-21 15:30:14 +00:00
Doug MacEachern 886f04adea rid compile warnings from modern gcc 2007-04-15 15:58:09 +00:00
Doug MacEachern 405e95e6bb move sigar_proc_stat_get to sigar.c 2007-04-14 21:25:20 +00:00
Doug MacEachern 1e922146a6 [SIGAR-47] Fix sigar_mem_get on 64-bit FreeBSD 2007-04-06 23:38:23 +00:00
Doug MacEachern 361624c484 filter out MNT_RDONLY mount from file_system_list 2007-04-06 17:41:05 +00:00
Doug MacEachern 8f393ee9cc properly handle ipv6 addresses in net_connection_get 2007-04-06 15:44:12 +00:00
Doug MacEachern e3edf38057 [SIGAR-46] Fix cpu_info.{mhz,cache_size} fields in UML vms 2007-04-05 18:51:22 +00:00
Doug MacEachern 5ec635a1b4 change sigar_net_interface_config_get to return sigar_net_interface_config_primary_get if name == NULL 2007-04-05 15:41:43 +00:00
Doug MacEachern be5ee7b600 [SIGAR-4] Add hook for using mirrored /proc/net/tcp file 2007-04-05 02:26:00 +00:00
Doug MacEachern b1a19f4e72 Implement proc_state_t.threads on OS X 2007-03-24 23:07:42 +00:00
Doug MacEachern 171f2e021e no need to FreeLibrary handle returned by GetModuleHandle 2007-03-08 01:59:08 +00:00
Doug MacEachern 1affc51534 Plug various handle+mem leaks on win32
Submitted by: Jan Kneschke <jan.kneschke@mysql.com>
2007-03-07 23:24:41 +00:00