Sponsored Content
Top Forums UNIX for Advanced & Expert Users AIX - io info get from "libperfstat" not match "iostat" Post 302903678 by jackliang on Thursday 29th of May 2014 01:35:21 AM
Old 05-29-2014
AIX - io info get from "libperfstat" not match "iostat"

Hi, everyone.
I need to write a program to get io info based on libperfstat.
But the "write time" of a disk is just half of the value get from iostat.
I'm confused and can't explain. Help please.

How I calculate "write service time per sec":

In iostat:
Code:
 
        write service time per sec = wps * avgserv
        wps: write requests per sec
        avgserv: avg service time per write request

In my program:
Code:
        (new wserv - old wserv) / intervalTime

iostat cmd:
Code:
 iostat -D hdisk1 10

My C code :
Code:
    int i, ret, tot;
    perfstat_disk_t *statp;
    perfstat_id_t first;
    
    unsigned long long oldValue = 0;
    unsigned long long newValue = 0;
    int interval = 10;
    
    while (true) {
        /* check how many perfstat_disk_t structures are available */
        tot =  perfstat_disk(NULL, NULL, sizeof(perfstat_disk_t), 0);
    
        /* allocate enough memory for all the structures */
        statp = calloc(tot, sizeof(perfstat_disk_t));
    
        /* set name to first interface */
        strcpy(first.name, FIRST_DISK);
    
        /* ask to get all the structures available in one call */
        /* return code is number of structures returned */
        ret = perfstat_disk(&first, statp,
            sizeof(perfstat_disk_t), tot);
    
        /* print statistics for each of the disks */
        for (i = 0; i < ret; i++) {
            if (strcmp(statp[i].name, "hdisk1") == 0) {
                printf("\nStatistics for disk : %s\n", statp[i].name);
                printf("-------------------\n");
                newValue = statp[i].wserv;
                printf("write time : %llu /s\n", (newValue - oldValue)/interval);
                oldValue = newValue;
            }
        }
    
        sleep(interval); // sleep 10s
    }

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

4. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

5. AIX

How to enable "TCP MD5 Signatures" and "https" on AIX?

I have searched many times but nothing found. Somebody help please :(:(:( (1 Reply)
Discussion started by: bobochacha29
1 Replies

6. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

7. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

8. Shell Programming and Scripting

Search file containing ps results for a match "my.cnf" and then for a second match . "ok:" and

I need to find two matches in the output from ps. I am searching with ps -ef |grep mysql for: my.cnf /bin/sh /usr/bin/mysqld_safe --defaults-file=/data/mysql/master/agis_core/etc/my.cnf after this match I want to search back and match the hostname which is x number of lines back, above the... (2 Replies)
Discussion started by: bash_in_my_head
2 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
IOSTAT2PCP(1)						       Performance Co-Pilot						     IOSTAT2PCP(1)

NAME
iostat2pcp - Import iostat data and create a PCP archive SYNOPSIS
iostat2pcp [-v] [-S start] [-t interval] [-Z timezone] infile outfile DESCRIPTION
iostat2pcp reads a text file created with iostat(1) (infile) and translates this into a Performance Co-Pilot (PCP) archive with the basename outfile. If infile is "-" then iostat2pcp reads for standard input, allowing easy preprocessing of the iostat(1) output with sed(1) or similar. The resultant PCP archive may be used with all the PCP client tools to graph subsets of the data using pmchart(1), perform data reduction and reporting, filter with the PCP inference engine pmie(1), etc. A series of physical files will be created with the prefix outfile. These are outfile.0 (the performance data), outfile.meta (the metadata that describes the performance data) and outfile.index (a temporal index to improve efficiency of replay operations for the archive). If any of these files exists already, then iostat2pcp will not overwrite them and will exit with an error message. The first output sample from iostat(1) contains a statistical summary since boot time and is ignored by iostat2pcp, so the first real data set is the second one in the iostat(1) output. The best results are obtained when iostat(1) was run with its own -t flag, so each output sample is prefixed with a timestamp. Even better is -t with $S_TIME_FORMAT=ISO set in environment when iostat(1) is run, in which case the timestamp includes the timezone. Note that if $S_TIME_FORMAT=ISO is not used with the -t option then iostat(1) may produce a timestamp controlled by LC_TIME from the locale that is in a format iostat2pcp cannot parse. The formats for the timestamp that iostat2pcp accepts are illustrated by these examples: 2013-07-06T21:34:39+1000 (for the $S_TIME_FORMAT=ISO). 2013-07-06 21:34:39 (for some of the European formats, e.g. de_AT, de_BE, de_LU and en_DK.utf8). 06/07/13 21:34:39 (for all of the $LC_TIME settings for English locales outside North America, e.g. en_AU, en_GB, en_IE, en_NZ, en_SG and en_ZA, and all the Spanish locales, e.g. es_ES, es_MX and es_AR). In particular, note that some common North American $LC_TIME settings will not work with iostat2pcp (namely, en_US, POSIX and C) because they use the MM/DD format which may be incorrectly converted with the assumed DD/MM format. This is another reason to recommend setting $S_TIME_FORMAT=ISO. If there are no timestamps in the input stream, iostat2pcp will try and deduce the sample interval if basic Disk data (-d option for iostat(1)) is found. If this fails, then the -t option may be used to specify the sample interval in seconds. This option is ignored if timestamps are found in the input stream. The -S option may be used to specify as start time for the first real sample in infile, where start must have the format HH:MM:SS. This option is ignored if timestamps are found in the input stream. The -Z option may be used to specify a timezone. It must have the format +HHMM (for hours and minutes East of UTC) or -HHMM (for hours and minutes West of UTC). Note in particular that neither the zoneinfo (aka Olson) format, e.g. Europe/Paris, nor the Posix TZ format, e.g. EST+5 is allowed for the -Z option. This option is ignored if ISO timestamps are found in the input stream. If the timezone is not specified and cannot be deduced, it defaults to "UTC". Some additional diagnostic output is generated with the -v option. iostat2pcp is a Perl script that uses the PCP::LogImport Perl wrapper around the PCP libpcp_import library, and as such could be used as an example to develop new tools to import other types of performance data and create PCP archives. CAVEAT
iostat2pcp requires infile to have been created by the version of iostat(1) from <http://freshmeat.net/projects/sysstat>. iostat2pcp handles the -c (CPU), -d (Disk), -x (eXtended Disk) and -p (Partition) report formats (including their -k, -m, -z and ALL variants), but does not accommodate the -n (Network Filesystem) report format from iostat(1); this is a demand-driven limitation rather than a technical limitation. SEE ALSO
Date::Format(3pm), Date::Parse(3pm), iostat(1), LOGIMPORT(3), PCP::LogImport(3pm), pmchart(1), pmie(1), pmlogger(1) and sed(1). 3.8.10 Performance Co-Pilot IOSTAT2PCP(1)
All times are GMT -4. The time now is 10:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy