add disk times
This commit is contained in:
		
							parent
							
								
									040a2e1520
								
							
						
					
					
						commit
						fefc5497e2
					
				@ -70,6 +70,9 @@ typedef enum {
 | 
			
		||||
} perf_proc_offsets_t;
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
    PERF_IX_DISK_TIME,
 | 
			
		||||
    PERF_IX_DISK_READ_TIME,
 | 
			
		||||
    PERF_IX_DISK_WRITE_TIME,
 | 
			
		||||
    PERF_IX_DISK_READ,
 | 
			
		||||
    PERF_IX_DISK_WRITE,
 | 
			
		||||
    PERF_IX_DISK_READ_BYTES,
 | 
			
		||||
@ -78,6 +81,9 @@ typedef enum {
 | 
			
		||||
    PERF_IX_DISK_MAX
 | 
			
		||||
} perf_disk_offsets_t;
 | 
			
		||||
 | 
			
		||||
#define PERF_TITLE_DISK_TIME 200 /* % Disk Time */
 | 
			
		||||
#define PERF_TITLE_DISK_READ_TIME 202 /* % Disk Read Time */
 | 
			
		||||
#define PERF_TITLE_DISK_WRITE_TIME 204 /* % Disk Write Time */
 | 
			
		||||
#define PERF_TITLE_DISK_READ  208
 | 
			
		||||
#define PERF_TITLE_DISK_WRITE 210
 | 
			
		||||
#define PERF_TITLE_DISK_READ_BYTES  220
 | 
			
		||||
@ -1727,6 +1733,18 @@ static PERF_INSTANCE_DEFINITION *get_disk_instance(sigar_t *sigar,
 | 
			
		||||
        DWORD offset = counter->CounterOffset;
 | 
			
		||||
 | 
			
		||||
        switch (counter->CounterNameTitleIndex) {
 | 
			
		||||
          case PERF_TITLE_DISK_TIME:
 | 
			
		||||
            perf_offsets[PERF_IX_DISK_TIME] = offset;
 | 
			
		||||
            found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
          case PERF_TITLE_DISK_READ_TIME:
 | 
			
		||||
            perf_offsets[PERF_IX_DISK_READ_TIME] = offset;
 | 
			
		||||
            found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
          case PERF_TITLE_DISK_WRITE_TIME:
 | 
			
		||||
            perf_offsets[PERF_IX_DISK_WRITE_TIME] = offset;
 | 
			
		||||
            found = 1;
 | 
			
		||||
            break;
 | 
			
		||||
          case PERF_TITLE_DISK_READ:
 | 
			
		||||
            perf_offsets[PERF_IX_DISK_READ] = offset;
 | 
			
		||||
            found = 1;
 | 
			
		||||
@ -1807,6 +1825,9 @@ static int get_disk_metrics(sigar_t *sigar,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (strnEQ(drive, dirname, 2)) {
 | 
			
		||||
            fsusage->disk_time   = PERF_VAL(PERF_IX_DISK_TIME);
 | 
			
		||||
            fsusage->disk_rtime  = PERF_VAL(PERF_IX_DISK_READ_TIME);
 | 
			
		||||
            fsusage->disk_wtime  = PERF_VAL(PERF_IX_DISK_WRITE_TIME);
 | 
			
		||||
            fsusage->disk_reads  = PERF_VAL(PERF_IX_DISK_READ);
 | 
			
		||||
            fsusage->disk_writes = PERF_VAL(PERF_IX_DISK_WRITE);
 | 
			
		||||
            fsusage->disk_read_bytes  = PERF_VAL(PERF_IX_DISK_READ_BYTES);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user