1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 26 #ifndef _REPORT_H 27 #define _REPORT_H 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 /* Prototypes */ 34 uint64_t hrtime_delta(hrtime_t, hrtime_t); 35 uint32_t u32_delta(uint32_t, uint32_t); 36 uint64_t u64_delta(uint64_t, uint64_t); 37 void io_report(kstat_io_t *, kstat_io_t *, sdbcstat_t *); 38 int io_value_check(kstat_io_t *, kstat_io_t *); 39 void cd_report(sdbcstat_t *); 40 void header(); 41 42 /* BEGIN CSTYLED */ 43 /* END CSTYLED */ 44 45 #define VOL_HDR_FMT "%-16s" 46 #define VOL_HDR_SIZE 17 47 #define SET_HDR_TXT "name" 48 49 #define STAT_HDR_FMT "%3s" 50 #define STAT_HDR_SIZE 3 51 #define STAT_HDR_TXT "s" 52 #define TYPE_HDR_TXT "t" 53 54 #define ROLE_HDR_FMT "%5s" 55 #define ROLE_HDR_SIZE 5 56 #define ROLE_INF_FMT " %4s" 57 #define ROLE_HDR_TXT "role" 58 59 #define PCT_HDR_FMT "%7s" 60 #define PCT_HDR_SIZE 7 61 #define PCT_INF_FMT " %6.2f" 62 #define SN_HDR_TXT "sn" 63 #define PCT_HDR_TXT "pct" 64 65 #define KPS_HDR_FMT "%7s" 66 #define KPS_HDR_SIZE 7 67 #define KPS_INF_FMT " %6.0f" 68 #define KPS_HDR_TXT "kps" 69 #define RKPS_HDR_TXT "rkps" 70 #define WKPS_HDR_TXT "wkps" 71 #define CKPS_HDR_TXT "ckps" 72 #define DKPS_HDR_TXT "dkps" 73 #define CRKPS_HDR_TXT "crkps" 74 #define CWKPS_HDR_TXT "cwkps" 75 #define DRKPS_HDR_TXT "drkps" 76 #define DWKPS_HDR_TXT "dwkps" 77 78 #define TPS_HDR_FMT "%6s" 79 #define TPS_HDR_SIZE 6 80 #define TPS_INF_FMT " %5u" 81 #define TPS_HDR_TXT "tps" 82 #define RTPS_HDR_TXT "rtps" 83 #define WTPS_HDR_TXT "wtps" 84 85 #define SVT_HDR_FMT "%5s" 86 #define SVT_HDR_SIZE 5 87 #define SVT_INF_FMT " %4.0f" 88 #define SVT_HDR_TXT "svt" 89 90 #define HIT_HDR_FMT "%6s" 91 #define HIT_HDR_SIZE 6 92 #define HIT_INF_FMT " %5.1f" 93 #define HIT_PAD_FMT " %5s" 94 #define HIT_HDR_TXT "hit" 95 #define RHIT_HDR_TXT "rhit" 96 #define WHIT_HDR_TXT "whit" 97 98 #define QUEUE_HDR_TXT "q" 99 #define QUEUE_ITEMS_TXT "qi" 100 #define QUEUE_KBYTES_TXT "qk" 101 #define QUEUE_ITEMS_HW_TXT "qhwi" 102 #define QUEUE_KBYTES_HW_TXT "qhwk" 103 104 #define NO_INFO "-" 105 106 #define DATA_C16 "%-16s" 107 #define DATA_C2 " %2s" 108 #define DATA_C4 " %4s" 109 #define DATA_C5 " %5s" 110 #define DATA_C6 " %6s" 111 #define DATA_I32 " %6u" 112 #define DATA_I64 " %6llu" 113 #define DATA_F62 " %6.2f" 114 #define DATA_F60 " %6.0f" 115 #define DATA_F50 " %5.0f" 116 #define DATA_F40 " %4.0f" 117 118 #ifdef __cplusplus 119 } 120 #endif 121 122 #endif /* _REPORT_H */ 123