- update to 10.0.0

remove obsolete patches
  remove autoreconfiguration
This commit is contained in:
Ivana Hutarova Varekova 2011-04-04 12:15:09 +02:00
parent 9616618e5b
commit 8d3bbb404f
13 changed files with 26 additions and 610 deletions

13
sysstat-10.0.0-cpu.patch Normal file
View File

@ -0,0 +1,13 @@
diff -up sysstat-10.0.0/mpstat.c.pom sysstat-10.0.0/mpstat.c
--- sysstat-10.0.0/mpstat.c.pom 2011-03-11 18:09:57.000000000 +0100
+++ sysstat-10.0.0/mpstat.c 2011-04-04 11:22:20.000000000 +0200
@@ -418,6 +418,9 @@ void write_stats_core(int prev, int curr
/* Recalculate itv for current proc */
pc_itv = get_per_cpu_interval(scc, scp);
+ if ((scc->cpu_user - scc->cpu_guest) < (scp->cpu_user - scp->cpu_guest))
+ pc_itv = pc_itv + (scp->cpu_user - scp->cpu_guest) -
+ (scc->cpu_user - scc->cpu_guest);
if (!pc_itv) {
/*

View File

@ -0,0 +1,13 @@
diff -up sysstat-10.0.0/Makefile.in.pom sysstat-10.0.0/Makefile.in
--- sysstat-10.0.0/Makefile.in.pom 2011-03-06 16:46:23.000000000 +0100
+++ sysstat-10.0.0/Makefile.in 2011-04-04 10:23:02.000000000 +0200
@@ -196,8 +196,8 @@ librdsensors.a: librdsensors.a(rd_sensor
sadc.o: sadc.c sa.h version.h common.h ioconf.h sysconfig.h rd_stats.h rd_sensors.h
-sadc: LFLAGS += $(LFSENSORS)
sadc: sadc.o act_sadc.o sa_wrap.o sa_common.o librdstats.a librdsensors.a libsyscom.a
+ $(CC) -o $@ $(CFLAGS) $^ $(LFLAGS) -lsensors
sar.o: sar.c sa.h version.h common.h ioconf.h pr_stats.h sysconfig.h

View File

@ -1,22 +0,0 @@
diff -up sysstat-9.0.4/mpstat.c.pom sysstat-9.0.4/mpstat.c
--- sysstat-9.0.4/mpstat.c.pom 2010-11-10 11:58:55.000000000 +0100
+++ sysstat-9.0.4/mpstat.c 2010-11-10 11:58:30.000000000 +0100
@@ -271,6 +271,9 @@ void write_stats_core(int prev, int curr
/* Recalculate itv for current proc */
pc_itv = get_per_cpu_interval(scc, scp);
+ if ((scc->cpu_user - scc->cpu_guest) < (scp->cpu_user - scp->cpu_guest))
+ pc_itv = pc_itv + (scp->cpu_user - scp->cpu_guest) -
+ (scc->cpu_user - scc->cpu_guest);
/* if the CPU is offline it is omited from /proc/stat
so the sum of all values is zero */
@@ -291,6 +294,8 @@ void write_stats_core(int prev, int curr
else {
printf(" %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f"
" %6.2f %6.2f %6.2f\n",
+ (scc->cpu_user - scc->cpu_guest) < (scp->cpu_user - scp->cpu_guest) ?
+ 0.0 :
ll_sp_value(scp->cpu_user - scp->cpu_guest,
scc->cpu_user - scc->cpu_guest,
pc_itv),

View File

@ -1,38 +0,0 @@
diff -up sysstat-9.0.4/sysstat.in.ii sysstat-9.0.4/sysstat.in
--- sysstat-9.0.4/sysstat.in.ii 2009-02-15 15:49:24.000000000 +0100
+++ sysstat-9.0.4/sysstat.in 2009-09-15 16:47:02.000000000 +0200
@@ -4,11 +4,13 @@
# @INIT_DIR@/sysstat
# (C) 2000-2009 Sebastien Godard (sysstat <at> orange.fr)
#
+### BEGIN INIT INFO
# Description: Reset the system activity logs
+# Short-Description: reset the system activity logs
#@(#) @PACKAGE_NAME@-@PACKAGE_VERSION@ startup script:
#@(#) Insert a dummy record in current daily data file.
#@(#) This indicates that the counters have restarted from 0.
-#
+### END INIT INFO
RETVAL=0
SYSCONFIG_DIR=@SYSCONFIG_DIR@
@@ -27,15 +29,15 @@ case "$1" in
if [ -f "${exitCodeIndicator}" ]; then
rm -f ${exitCodeIndicator}
else
- RETVAL=1
+ RETVAL=2
fi
echo
;;
- stop|status|restart|reload)
+ stop|status|restart|reload|force-reload|condrestart|try-restart)
;;
*)
- echo "Usage: sysstat {start|stop|status|restart|reload}"
- exit 1
+ echo "Usage: sysstat {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
+ exit 2
esac
exit ${RETVAL}

View File

@ -1,21 +0,0 @@
diff -up sysstat-9.0.4/sysstat.in.lsb sysstat-9.0.4/sysstat.in
--- sysstat-9.0.4/sysstat.in.lsb 2010-02-16 14:10:10.000000000 +0100
+++ sysstat-9.0.4/sysstat.in 2010-02-16 14:11:47.000000000 +0100
@@ -5,12 +5,16 @@
# (C) 2000-2009 Sebastien Godard (sysstat <at> orange.fr)
#
### BEGIN INIT INFO
+# Provides: sysstat
+# Required-Start:
+# Required-Stop:
+# Default-Stop:
# Description: Reset the system activity logs
# Short-Description: reset the system activity logs
+### END INIT INFO
#@(#) @PACKAGE_NAME@-@PACKAGE_VERSION@ startup script:
#@(#) Insert a dummy record in current daily data file.
#@(#) This indicates that the counters have restarted from 0.
-### END INIT INFO
RETVAL=0
SYSCONFIG_DIR=@SYSCONFIG_DIR@

View File

@ -1,27 +0,0 @@
diff -up sysstat-9.0.6/common.c.pom sysstat-9.0.6/common.c
--- sysstat-9.0.6/common.c.pom 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6/common.c 2009-12-11 11:20:41.000000000 +0100
@@ -275,7 +275,6 @@ int get_nfs_mount_nr(void)
{
FILE *fp;
char line[8192];
- char type_name[10];
unsigned int nfs = 0;
if ((fp = fopen(NFSMOUNTSTATS, "r")) == NULL)
@@ -285,12 +284,9 @@ int get_nfs_mount_nr(void)
while (fgets(line, 8192, fp) != NULL) {
if ((strstr(line, "mounted")) && (strstr(line, "on")) &&
- (strstr(line, "with")) && (strstr(line, "fstype"))) {
-
- sscanf(strstr(line, "fstype") + 6, "%10s", type_name);
- if ((!strncmp(type_name, "nfs", 3)) && (strncmp(type_name, "nfsd", 4))) {
- nfs ++;
- }
+ (strstr(line, "with fstype nfs")) &&
+ !(strstr(line, "with fstype nfsd"))) {
+ nfs++;
}
}

View File

@ -1,15 +0,0 @@
diff -up sysstat-9.0.6.1/configure.in.ppp sysstat-9.0.6.1/configure.in
--- sysstat-9.0.6.1/configure.in.ppp 2009-11-21 06:55:46.000000000 +0100
+++ sysstat-9.0.6.1/configure.in 2010-09-21 10:01:55.000000000 +0200
@@ -336,10 +336,9 @@ AC_MSG_CHECKING(whether man_group variab
AC_ARG_ENABLE(man-group,
AC_HELP_STRING([--disable-man-group],
[ignore man_group variable value]),
- AUX_IMG=$enableval,AUX_IMG=no)
+ AUX_IMG=yes,AUX_IMG=no)
if test $AUX_IMG != "yes"; then
IGNORE_MAN_GROUP=n
- AUX_IMG=no
else
IGNORE_MAN_GROUP=y
fi

View File

@ -1,98 +0,0 @@
diff -up sysstat-9.0.6.1/sar.c.pom sysstat-9.0.6.1/sar.c
--- sysstat-9.0.6.1/sar.c.pom 2009-10-17 15:08:21.000000000 +0200
+++ sysstat-9.0.6.1/sar.c 2010-10-04 12:21:13.383442188 +0200
@@ -247,7 +247,7 @@ void reverse_check_act(unsigned int act_
* @curr Index in array for current sample statistics.
***************************************************************************
*/
-void sar_get_record_timestamp_struct(int curr)
+int sar_get_record_timestamp_struct(int curr)
{
struct tm *ltm;
@@ -257,10 +257,17 @@ void sar_get_record_timestamp_struct(int
rectime.tm_hour = record_hdr[curr].hour;
rectime.tm_min = record_hdr[curr].minute;
rectime.tm_sec = record_hdr[curr].second;
+ return 0;
}
else {
ltm = localtime((const time_t *) &record_hdr[curr].ust_time);
+
+ /* localtime procedure could not finish successful */
+ if (ltm == NULL)
+ return 1;
+
rectime = *ltm;
+ return 0;
}
}
@@ -312,13 +319,17 @@ int check_line_hdr(void)
* @cur_time Timestamp string.
***************************************************************************
*/
-void set_record_timestamp_string(int curr, char *cur_time, int len)
+int set_record_timestamp_string(int curr, char *cur_time, int len)
{
+ int ret;
/* Fill timestamp structure */
- sar_get_record_timestamp_struct(curr);
+ ret = sar_get_record_timestamp_struct(curr);
+ if (ret != 0)
+ return ret;
/* Set cur_time date value */
strftime(cur_time, len, "%X", &rectime);
+ return 0;
}
/*
@@ -407,6 +418,7 @@ int write_stats(int curr, int read_from_
int use_tm_end, int reset, unsigned int act_id)
{
int i;
+ int ret;
unsigned long long itv, g_itv;
static int cross_day = 0;
static __nr_t cpu_nr = -1;
@@ -423,9 +435,14 @@ int write_stats(int curr, int read_from_
}
/* Set previous timestamp */
- set_record_timestamp_string(!curr, timestamp[!curr], 16);
+ ret = set_record_timestamp_string(!curr, timestamp[!curr], 16);
+ if (ret != 0)
+ return ret;
+
/* Set current timestamp */
- set_record_timestamp_string(curr, timestamp[curr], 16);
+ ret = set_record_timestamp_string(curr, timestamp[curr], 16);
+ if (ret != 0)
+ return ret;
/* Check if we are beginning a new day */
if (use_tm_start && record_hdr[!curr].ust_time &&
@@ -569,8 +586,11 @@ int sar_print_special(int curr, int use_
{
char cur_time[26];
int dp = 1;
+ int ret;
- set_record_timestamp_string(curr, cur_time, 26);
+ ret = set_record_timestamp_string(curr, cur_time, 26);
+ if (ret != 0)
+ return ret;
/* The record must be in the interval specified by -s/-e options */
if ((use_tm_start && (datecmp(&rectime, &tm_start) < 0)) ||
@@ -865,7 +885,8 @@ void read_stats_from_file(char from_file
*/
read_file_stat_bunch(act, 0, ifd, file_hdr.sa_nr_act,
file_actlst);
- sar_get_record_timestamp_struct(0);
+ if (sar_get_record_timestamp_struct(0))
+ continue;
}
}
while ((rtype == R_RESTART) || (rtype == R_COMMENT) ||

View File

@ -1,33 +0,0 @@
diff -up sysstat-9.0.6.1/configure.in.pom sysstat-9.0.6.1/configure.in
--- sysstat-9.0.6.1/configure.in.pom 2010-09-23 17:36:43.000000000 +0200
+++ sysstat-9.0.6.1/configure.in 2010-09-23 17:40:54.000000000 +0200
@@ -483,12 +483,7 @@ AC_MSG_RESULT($AUX_DOC)
AC_SUBST(INSTALL_DOC)
# Set directory for installing manual pages (see comment in Makefile)
-if test $mandir != "\${datarootdir}/man"; then
- AuxMandir=$mandir
-else
- AuxMandir=$AuxPrefix/man
-fi
-AC_SUBST(AuxMandir)
+AC_SUBST(mandir)
# Create files
echo .
diff -up sysstat-9.0.6.1/Makefile.in.pom sysstat-9.0.6.1/Makefile.in
--- sysstat-9.0.6.1/Makefile.in.pom 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/Makefile.in 2010-09-23 17:38:22.000000000 +0200
@@ -45,10 +45,7 @@ endif
BIN_DIR = @bindir@
ifndef MAN_DIR
-# With recent versions of autoconf, mandir defaults to ${datarootdir}/man
-# (i.e. $prefix/share/man) which is not necessarily in man path!
-# MAN_DIR = @mandir@
-MAN_DIR = @AuxMandir@
+MAN_DIR = @mandir@
endif
MAN1_DIR = $(MAN_DIR)/man1
MAN8_DIR = $(MAN_DIR)/man8
diff -up sysstat-9.0.6.1/.pom sysstat-9.0.6.1/

View File

@ -1,61 +0,0 @@
diff -up sysstat-9.0.6.1/man/sa1.in.isag sysstat-9.0.6.1/man/sa1.in
--- sysstat-9.0.6.1/man/sa1.in.isag 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/man/sa1.in 2010-08-13 14:05:40.000000000 +0200
@@ -61,7 +61,6 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sar (1),
.BR sadc (8),
.BR sa2 (8),
-.BR sadf (1),
-.BR isag (1)
+.BR sadf (1)
.I http://pagesperso-orange.fr/sebastien.godard/
diff -up sysstat-9.0.6.1/man/sa2.in.isag sysstat-9.0.6.1/man/sa2.in
--- sysstat-9.0.6.1/man/sa2.in.isag 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/man/sa2.in 2010-08-13 14:05:40.000000000 +0200
@@ -42,7 +42,6 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sar (1),
.BR sadc (8),
.BR sa1 (8),
-.BR sadf (1),
-.BR isag (1)
+.BR sadf (1)
.I http://pagesperso-orange.fr/sebastien.godard/
diff -up sysstat-9.0.6.1/man/sadc.in.isag sysstat-9.0.6.1/man/sadc.in
--- sysstat-9.0.6.1/man/sadc.in.isag 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/man/sadc.in 2010-08-13 14:05:40.000000000 +0200
@@ -201,7 +201,6 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sar (1),
.BR sa1 (8),
.BR sa2 (8),
-.BR sadf (1),
-.BR isag (1)
+.BR sadf (1)
.I http://pagesperso-orange.fr/sebastien.godard/
diff -up sysstat-9.0.6.1/man/sadf.in.isag sysstat-9.0.6.1/man/sadf.in
--- sysstat-9.0.6.1/man/sadf.in.isag 2009-10-11 16:26:10.000000000 +0200
+++ sysstat-9.0.6.1/man/sadf.in 2010-08-13 14:05:40.000000000 +0200
@@ -179,7 +179,6 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sar (1),
.BR sadc (8),
.BR sa1 (8),
-.BR sa2 (8),
-.BR isag (1)
+.BR sa2 (8)
.I http://pagesperso-orange.fr/sebastien.godard/
diff -up sysstat-9.0.6.1/man/sar.in.isag sysstat-9.0.6.1/man/sar.in
--- sysstat-9.0.6.1/man/sar.in.isag 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/man/sar.in 2010-08-13 14:05:40.000000000 +0200
@@ -1895,8 +1895,7 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sadc (8),
.BR sa1 (8),
.BR sa2 (8),
-.BR sadf (1),
-.BR isag (1),
+.BR sadf (1),
.BR pidstat (1),
.BR mpstat (1),
.BR iostat (1),

View File

@ -1,175 +0,0 @@
diff -up sysstat-9.0.6.1/configure.in.opt sysstat-9.0.6.1/configure.in
--- sysstat-9.0.6.1/configure.in.opt 2010-09-23 18:45:52.000000000 +0200
+++ sysstat-9.0.6.1/configure.in 2010-09-23 18:45:52.000000000 +0200
@@ -505,6 +505,7 @@ AC_CONFIG_FILES([man/sa2.8:man/sa2.in])
AC_CONFIG_FILES([man/sadc.8:man/sadc.in]) # File must be renamed
AC_CONFIG_FILES([man/sadf.1:man/sadf.in]) # File must be renamed
AC_CONFIG_FILES([man/sar.1:man/sar.in]) # File must be renamed
+AC_CONFIG_FILES([man/sysstat.5:man/sysstat.in]) # File must be renamed
AC_CONFIG_FILES([contrib/isag/isag], [chmod +x contrib/isag/isag]) # Permissions must be changed
AC_OUTPUT(Makefile)
diff -up sysstat-9.0.6.1/Makefile.in.opt sysstat-9.0.6.1/Makefile.in
--- sysstat-9.0.6.1/Makefile.in.opt 2010-09-23 18:45:52.000000000 +0200
+++ sysstat-9.0.6.1/Makefile.in 2010-09-23 18:54:52.000000000 +0200
@@ -48,6 +48,7 @@ ifndef MAN_DIR
MAN_DIR = @mandir@
endif
MAN1_DIR = $(MAN_DIR)/man1
+MAN5_DIR = $(MAN_DIR)/man5
MAN8_DIR = $(MAN_DIR)/man8
ifndef DOC_DIR
@@ -214,10 +215,11 @@ nls/sysstat.pot: $(wildcard *.c)
.PHONY: clean distclean install install_base install_all uninstall \
uninstall_base uninstall_all dist bdist
-install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8
+install_man: man/sadc.8 man/sar.1 man/sadf.1 man/sa1.8 man/sa2.8 man/sysstat.5
ifeq ($(INSTALL_DOC),y)
mkdir -p $(DESTDIR)$(MAN1_DIR)
mkdir -p $(DESTDIR)$(MAN8_DIR)
+ mkdir -p $(DESTDIR)$(MAN5_DIR)
rm -f $(DESTDIR)$(MAN8_DIR)/sa1.8*
$(INSTALL_DATA) $(MANGRPARG) man/sa1.8 $(DESTDIR)$(MAN8_DIR)
rm -f $(DESTDIR)$(MAN8_DIR)/sa2.8*
@@ -234,6 +236,8 @@ ifeq ($(INSTALL_DOC),y)
$(INSTALL_DATA) $(MANGRPARG) man/mpstat.1 $(DESTDIR)$(MAN1_DIR)
rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
$(INSTALL_DATA) $(MANGRPARG) man/pidstat.1 $(DESTDIR)$(MAN1_DIR)
+ rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
+ $(INSTALL_DATA) $(MANGRPARG) man/sysstat.5 $(DESTDIR)$(MAN5_DIR)
ifeq ($(INSTALL_ISAG),y)
$(INSTALL_DATA) $(MANGRPARG) contrib/isag/isag.1 $(DESTDIR)$(MAN1_DIR)
endif
@@ -246,6 +250,7 @@ ifeq ($(COMPRESS_MANPG),y)
$(ZIP) $(DESTDIR)$(MAN1_DIR)/iostat.1
$(ZIP) $(DESTDIR)$(MAN1_DIR)/mpstat.1
$(ZIP) $(DESTDIR)$(MAN1_DIR)/pidstat.1
+ $(ZIP) $(DESTDIR)$(MAN5_DIR)/sysstat.5
ifeq ($(INSTALL_ISAG),y)
$(ZIP) $(DESTDIR)$(MAN1_DIR)/isag.1
endif
@@ -387,6 +392,7 @@ ifeq ($(INSTALL_DOC),y)
rm -f $(DESTDIR)$(MAN1_DIR)/iostat.1*
rm -f $(DESTDIR)$(MAN1_DIR)/mpstat.1*
rm -f $(DESTDIR)$(MAN1_DIR)/pidstat.1*
+ rm -f $(DESTDIR)$(MAN5_DIR)/sysstat.5*
ifeq ($(INSTALL_ISAG),y)
rm -f $(DESTDIR)$(MAN1_DIR)/isag.1
endif
diff -up sysstat-9.0.6.1/man/sadc.in.opt sysstat-9.0.6.1/man/sadc.in
--- sysstat-9.0.6.1/man/sadc.in.opt 2010-09-23 18:45:52.000000000 +0200
+++ sysstat-9.0.6.1/man/sadc.in 2010-09-23 18:45:52.000000000 +0200
@@ -201,6 +201,7 @@ Sebastien Godard (sysstat <at> orange.fr
.BR sar (1),
.BR sa1 (8),
.BR sa2 (8),
-.BR sadf (1)
+.BR sadf (1),
+.BR sysstat (5)
.I http://pagesperso-orange.fr/sebastien.godard/
diff -up sysstat-9.0.6.1/man/sysstat.in.opt sysstat-9.0.6.1/man/sysstat.in
--- sysstat-9.0.6.1/man/sysstat.in.opt 2010-09-23 18:45:52.000000000 +0200
+++ sysstat-9.0.6.1/man/sysstat.in 2010-09-23 18:45:52.000000000 +0200
@@ -0,0 +1,35 @@
+.TH SYSSTAT 5 "SEPTEMBER 2010" Linux "Linux User's Manual" -*- nroff -*-
+.SH NAME
+sysstat \- sysstat configuration file
+.SH DESCRIPTION
+The
+.B sysstat
+configuration file contains variables which configure sysstat logging.
+It is possible to set these variables:
+.TP
+.B HISTORY
+The number of days the log files will be kept for on the machine,
+then they will be removed.
+The default value is 7.
+
+.TP
+.B COMPRESSAFTER
+The number of log files which should not be compressed,
+older files will be compressed using either gzip of bzip2.
+The default value is 10.
+
+.TP
+.B SADC_OPTIONS
+Options passed to sadc generating regular logs.
+Logging of various additional data can be switched on. See
+.B sadc
+man page.
+The option is used only when a new log file is created, thus the change does not affect the log file that already exists.
+The default value is "-S DISK".
+
+
+.SH FILES
+.B @SYSCONFIG_DIR@/sysstat
+
+.SH SEE ALSO
+.BR sadc(1)
\ No newline at end of file
diff -up sysstat-9.0.6.1/sa1.in.opt sysstat-9.0.6.1/sa1.in
--- sysstat-9.0.6.1/sa1.in.opt 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/sa1.in 2010-09-23 18:45:52.000000000 +0200
@@ -6,6 +6,7 @@
#@(#) sa1: Collect and store binary data in system activity data file.
#
HISTORY=0
+SADC_OPTIONS="-S DISK"
SYSCONFIG_DIR=@SYSCONFIG_DIR@
[ -r ${SYSCONFIG_DIR}/sysstat ] && . ${SYSCONFIG_DIR}/sysstat
if [ ${HISTORY} -gt 28 ]
@@ -38,8 +39,8 @@ then
# Note: Stats are written at the end of previous file *and* at the
# beginning of the new one (when there is a file rotation) only if
# outfile has been specified as '-' on the command line...
- exec ${ENDIR}/sadc -F -L 1 1 -
+ exec ${ENDIR}/sadc -F -L $SADC_OPTIONS 1 1 -
else
- exec ${ENDIR}/sadc -F -L $* -
+ exec ${ENDIR}/sadc -F -L $SADC_OPTIONS $* -
fi
diff -up sysstat-9.0.6.1/sysstat.crond.in.opt sysstat-9.0.6.1/sysstat.crond.in
--- sysstat-9.0.6.1/sysstat.crond.in.opt 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/sysstat.crond.in 2010-09-23 18:45:52.000000000 +0200
@@ -1,6 +1,6 @@
# Run system activity accounting tool every @CRON_INTERVAL@ minutes
-*/@CRON_INTERVAL@ * * * * @CRON_OWNER@ @SA_LIB_DIR@/sa1 -S DISK 1 1
-# 0 * * * * @CRON_OWNER@ @SA_LIB_DIR@/sa1 -S DISK @CRON_INTERVAL_SEC@ @CRON_COUNT@ &
+*/@CRON_INTERVAL@ * * * * @CRON_OWNER@ @SA_LIB_DIR@/sa1 1 1
+# 0 * * * * @CRON_OWNER@ @SA_LIB_DIR@/sa1 @CRON_INTERVAL_SEC@ @CRON_COUNT@ &
# Generate a daily summary of process accounting at 23:53
53 23 * * * @CRON_OWNER@ @SA_LIB_DIR@/sa2 -A
diff -up sysstat-9.0.6.1/sysstat.in.opt sysstat-9.0.6.1/sysstat.in
--- sysstat-9.0.6.1/sysstat.in.opt 2010-09-23 18:45:52.000000000 +0200
+++ sysstat-9.0.6.1/sysstat.in 2010-09-23 18:45:52.000000000 +0200
@@ -18,14 +18,13 @@
RETVAL=0
SYSCONFIG_DIR=@SYSCONFIG_DIR@
-SADC_OPTIONS="-S DISK"
# See how we were called.
case "$1" in
start)
exitCodeIndicator="$(mktemp /tmp/sysstat-XXXXXX)" || exit 1
echo -n "Calling the system activity data collector (sadc): "
- @SU_C_OWNER@ @QUOTE@ @SA_LIB_DIR@/sa1 --boot ${SADC_OPTIONS} || rm -f ${exitCodeIndicator} @QUOTE@
+ @SU_C_OWNER@ @QUOTE@ @SA_LIB_DIR@/sa1 --boot || rm -f ${exitCodeIndicator} @QUOTE@
# Try to guess if sadc was successfully launched. The difficulty
# here is that the exit code is lost when the above command is
diff -up sysstat-9.0.6.1/sysstat.sysconfig.in.opt sysstat-9.0.6.1/sysstat.sysconfig.in
--- sysstat-9.0.6.1/sysstat.sysconfig.in.opt 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/sysstat.sysconfig.in 2010-09-23 18:45:52.000000000 +0200
@@ -8,3 +8,6 @@ HISTORY=@HISTORY@
# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=@COMPRESSAFTER@
+# Parameters for system activity collector (see sadc man-page) which
+# are used for the generation of log files
+SADC_OPTIONS="-S DISK"

View File

@ -1,78 +0,0 @@
diff -up sysstat-9.0.6.1/pr_stats.c.tl2 sysstat-9.0.6.1/pr_stats.c
--- sysstat-9.0.6.1/pr_stats.c.tl2 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/pr_stats.c 2010-10-07 16:05:51.000000000 +0200
@@ -110,15 +110,50 @@ __print_funct_t print_cpu_stats(struct a
if (!g_itv) {
/* Current CPU is offline */
printf(" 0.00 0.00 0.00"
- " 0.00 0.00 0.00");
+ " 0.00 0.00");
if (DISPLAY_CPU_ALL(a->opt_flags)) {
printf(" 0.00 0.00 0.00");
}
+ if (scc->cpu_user + scc->cpu_nice + scc->cpu_sys +
+ scc->cpu_iowait + scc->cpu_idle + scc->cpu_steal +
+ scc->cpu_hardirq + scc->cpu_softirq == 0) {
+ /* cpu is offline */
+ printf(" 0.00");
+ } else {
+ /* if the CPU is tickless then
+ there is no change in CPU values but the sum of
+ values is not null */
+ printf(" 100.00");
+ }
printf("\n");
continue;
}
}
-
+ float c_idle = 0;
+ /* set the idle value */
+ if (scc->cpu_user + scc->cpu_nice + scc->cpu_sys +
+ scc->cpu_iowait + scc->cpu_idle + scc->cpu_steal +
+ scc->cpu_hardirq + scc->cpu_softirq == 0) {
+ /* cpu is offline */
+ c_idle = 0;
+ } else {
+ if (scc->cpu_user + scc->cpu_nice + scc->cpu_sys +
+ scc->cpu_iowait + scc->cpu_idle + scc->cpu_steal +
+ scc->cpu_hardirq + scc->cpu_softirq ==
+ scp->cpu_user + scp->cpu_nice + scp->cpu_sys +
+ scp->cpu_iowait + scp->cpu_idle + scp->cpu_steal +
+ scp->cpu_hardirq + scp->cpu_softirq) {
+ /* if the CPU is tickless then
+ there is no change in CPU values but the sum of values is not null */
+ c_idle = 100;
+ } else {
+ if (scc->cpu_idle < scp->cpu_idle)
+ c_idle = 0;
+ else
+ c_idle = ll_sp_value(scp->cpu_idle, scc->cpu_idle, g_itv);
+ }
+ }
+
if (DISPLAY_CPU_DEF(a->opt_flags)) {
printf(" %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",
ll_sp_value(scp->cpu_user, scc->cpu_user, g_itv),
@@ -128,9 +163,7 @@ __print_funct_t print_cpu_stats(struct a
g_itv),
ll_sp_value(scp->cpu_iowait, scc->cpu_iowait, g_itv),
ll_sp_value(scp->cpu_steal, scc->cpu_steal, g_itv),
- scc->cpu_idle < scp->cpu_idle ?
- 0.0 :
- ll_sp_value(scp->cpu_idle, scc->cpu_idle, g_itv));
+ c_idle);
}
else if (DISPLAY_CPU_ALL(a->opt_flags)) {
printf(" %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f"
@@ -144,9 +177,7 @@ __print_funct_t print_cpu_stats(struct a
ll_sp_value(scp->cpu_hardirq, scc->cpu_hardirq, g_itv),
ll_sp_value(scp->cpu_softirq, scc->cpu_softirq, g_itv),
ll_sp_value(scp->cpu_guest, scc->cpu_guest, g_itv),
- scc->cpu_idle < scp->cpu_idle ?
- 0.0 :
- ll_sp_value(scp->cpu_idle, scc->cpu_idle, g_itv));
+ c_idle);
}
}
}

View File

@ -1,42 +0,0 @@
diff -up sysstat-9.0.6.1/mpstat.c.tl sysstat-9.0.6.1/mpstat.c
--- sysstat-9.0.6.1/mpstat.c.tl 2009-09-12 20:59:04.000000000 +0200
+++ sysstat-9.0.6.1/mpstat.c 2010-04-19 10:42:01.000000000 +0200
@@ -272,10 +272,21 @@ void write_stats_core(int prev, int curr
/* Recalculate itv for current proc */
pc_itv = get_per_cpu_interval(scc, scp);
- if (!pc_itv) {
- /* Current CPU is offline */
+ /* if the CPU is offline it is omited from /proc/stat
+ so the sum of all values is zero */
+ if ((scc->cpu_user + scc->cpu_nice + scc->cpu_sys +
+ scc->cpu_iowait + scc->cpu_idle + scc->cpu_steal +
+ scc->cpu_hardirq + scc->cpu_softirq) == 0) {
printf(" 0.00 0.00 0.00 0.00 0.00 0.00"
" 0.00 0.00 0.00\n");
+ continue;
+ }
+
+ /* if the CPU is tickless then
+ there is no change in CPU values but the sum of values is not null */
+ if (!pc_itv) {
+ printf(" 0.00 0.00 0.00 0.00 0.00 0.00"
+ " 0.00 0.00 100.00\n");
}
else {
printf(" %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f"
@@ -643,6 +654,14 @@ void rw_mpstat_loop(int dis_hdr, int row
scc = st_cpu[curr] + cpu;
scp = st_cpu[!curr] + cpu;
*scc = *scp;
+ scc->cpu_user = 0;
+ scc->cpu_nice = 0;
+ scc->cpu_sys = 0;
+ scc->cpu_iowait = 0;
+ scc->cpu_idle = 0;
+ scc->cpu_steal = 0;
+ scc->cpu_hardirq = 0;
+ scc->cpu_softirq = 0;
}
/* Get time */