#include <kernel.h>#include <t_syslog.h>#include "syssvc/logtask.h"#include <histogram.h>データ構造 | |
| struct | histogram_control_block |
マクロ定義 | |
| #define | TMIN_HISTID 1 |
| #define | TMAX_HISTID (TMIN_HISTID + TNUM_HIST - 1) |
型定義 | |
| typedef struct histogram_control_block | HISTCB |
関数 | |
| void | init_hist (ID histid, uint_t maxval, uint_t histarea[]) |
| void | begin_measure (ID histid) |
| void | end_measure (ID histid) |
| void | print_hist (ID histid) |
変数 | |
| HISTCB | histcb_table [TNUM_HIST] |
| #define TMAX_HISTID (TMIN_HISTID + TNUM_HIST - 1) |
| #define TMIN_HISTID 1 |
| typedef struct histogram_control_block HISTCB |
| void begin_measure | ( | ID | histid | ) |
histogram.c の 101 行で定義されています。
参照先 assert, histogram_control_block::begin_time, get_utm(), TMAX_HISTID, と TMIN_HISTID.
00102 { 00103 HISTCB *p_histcb; 00104 00105 assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); 00106 p_histcb = &(histcb_table[histid - TMIN_HISTID]); 00107 00108 get_utm(&(p_histcb->begin_time)); 00109 }
| void end_measure | ( | ID | histid | ) |
histogram.c の 115 行で定義されています。
参照先 assert, histogram_control_block::begin_time, get_utm(), histogram_control_block::histarea, histogram_control_block::over, TMAX_HISTID, と TMIN_HISTID.
00116 { 00117 HISTCB *p_histcb; 00118 SYSUTM end_time; 00119 uint_t val; 00120 00121 get_utm(&end_time); 00122 00123 assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); 00124 p_histcb = &(histcb_table[histid - TMIN_HISTID]); 00125 00126 val = (uint_t)(end_time - p_histcb->begin_time); 00127 if (val <= p_histcb->maxval) { 00128 p_histcb->histarea[val]++; 00129 } 00130 else { 00131 p_histcb->over++; 00132 } 00133 }
histogram.c の 81 行で定義されています。
参照先 assert, histogram_control_block::histarea, histogram_control_block::maxval, histogram_control_block::over, TMAX_HISTID, と TMIN_HISTID.
00082 { 00083 HISTCB *p_histcb; 00084 uint_t i; 00085 00086 assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); 00087 p_histcb = &(histcb_table[histid - TMIN_HISTID]); 00088 00089 for (i = 0; i < maxval; i++) { 00090 histarea[i] = 0U; 00091 } 00092 p_histcb->maxval = maxval; 00093 p_histcb->histarea = histarea; 00094 p_histcb->over = 0U; 00095 }
| void print_hist | ( | ID | histid | ) |
histogram.c の 139 行で定義されています。
参照先 assert, histogram_control_block::histarea, LOG_NOTICE, logtask_flush(), histogram_control_block::maxval, histogram_control_block::over, syslog_2, TMAX_HISTID, と TMIN_HISTID.
00140 { 00141 HISTCB *p_histcb; 00142 uint_t i; 00143 00144 assert(TMIN_HISTID <= histid && histid <= TMAX_HISTID); 00145 p_histcb = &(histcb_table[histid - TMIN_HISTID]); 00146 00147 for (i = 0; i < p_histcb->maxval; i++) { 00148 if (p_histcb->histarea[i] > 0) { 00149 syslog_2(LOG_NOTICE, "%d : %d", i, p_histcb->histarea[i]); 00150 (void) logtask_flush(4U); 00151 } 00152 } 00153 if (p_histcb->over > 0) { 00154 syslog_2(LOG_NOTICE, "> %d : %d", p_histcb->maxval, p_histcb->over); 00155 } 00156 (void) logtask_flush(0U); 00157 }
| HISTCB histcb_table[TNUM_HIST] |
histogram.c の 69 行で定義されています。
Copyright © 2008 by Kijineko Inc.