>  > (クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54
【代引不可】【T017】プリウスPHV [H29/2-][ZVW52]定員4人 カジュアル Bellezza ベレッツァ シートカバー ATE製リアブレーキローター ベンツ S211 Eクラス E320 211282 種類有用 Esjot エスヨット スチール製スプロケット 丁数:46 500 Canyon 98-00 600 Canyon 96-99module.jp Apache & Perl Module Information.

Blog

(クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54

By Hiroyuki OYAMA Wed Feb 9 01:57:04 2005

Apache 2.0はリクエスト処理の所要時間を秒単位(%T)とマイクロ秒単位(%D)で記録できますが、Apache 1.3の場合は秒単位(%T)でしか記録できません AELLA アエラ アルミ可変ハンドルバー ハンドルカラー:レッド (特色) 付属スペーサーカラー:パープル (特色) 付属スペーサーサイズ:12mm R1200GS。ってなわけでApache 1.3でマイクロ秒精度で記録する方法。

(クーポン配布中)X.A.M A3207-54 シートカバー 428-54T 165/65R14 スプロケット A3207-54

Apache 2.0系の場合、内部的にマイクロ秒単位で時間を管理しているのでLogFormatディレクティブで%Tで秒単位、%Dでマイクロ秒単位で処理の所要時間を記録できます。その点Apache 1.3の場合は内部的に秒単位で時間を管理しているため秒単位でしか記録できません。ではどうすれば記録できるようになるのか? そこはやはりモジュールをチョロっと書くのです。

Apache1.3でマイクロ秒のログを出力するには

自分でゼロからmod_log_config相当のモジュールを書くことでも対応できますが、さすがにそれは面倒です。というわけで今回はリクエスト処理の所要時間を計測し、その結果をApacheの環境変数にセットしログに記録する方法で対応してみます 。

(クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54 【激安送料無料!】

エアロパーツ Mu-gen V3 Style Front Lip (Urethane) Fits 09-11 Civic 4dr Sedan ムーゲンV3スタイルフロントリップ(ウレタン)フィット09-11シビック4drセダン;【USA在庫あり】 メンフィスシェード Memphis Shades シールド純正交換用 9インチ高 14年以降 FLH 青 2310-0538 HD店;[ホイール1本(単品)] SSR / EXECUTOR EX04 (FLC) 20インチ×10.5J PCD:114.3 穴数:5 インセット:26

(クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54;14インチ サマータイヤ セット【N WGN(JH系 ターボ車)】MANARAY ユーロストリーム BV25 ブラックポリッシュ/ダブルブラッククリア 4.5Jx14エナセーブ RV504 155/65R14;プロジェクトμ タイプHC+ フロント左右セット ブレーキパッド アルト/アルトワークス CP21S F883 プロジェクトミュー プロミュー プロμ TYPE HC+ ブレーキパット【店頭受取対応商品】;ファミリアS-ワゴン ショック アブソーバー【カヤバ】ファミリア Sワゴン BJFW Lowfer Sports 一台分;シトロエン C5 ワゴン (X3RFJ/X3XFU/X4RFN/X4RFNW/X4XFX/X4XFXW) 断熱 カーフィルム カット済み UVカット リアセット スモーク

【FD2 シビック TypeR クスコ】シビック タイプR FD2 超軽量クロモリ・フライ ホイール, SHIFT SPORTS NT100 クリッパー U71T/U72T 慶虎 サスペンションKit-A (フロント車高調式) 4WD (F/車高調・R/板バネ) 1台分, 215/55R17 94V Goodyear グッドイヤー GT-Eco Stage ジーティー エコステージ SCHNEIDER DR-01 シュナイダー DR-01 サマータイヤホイール4本セット, (クーポン配布中)Nプロジェクト VENTURA BASE-SET BSY015S 【送料無料】(北海道・沖縄除く), AGRAS アグラス ガード・スライダー レーシングスライダー 3点SET ジュラコンカラー:ホワイト(ロゴ有) セット内容:フレーム(左右)+スターターA(左) ZX-10R 受注生産品 ZRAY ゼットレイ RFY4 フォグライト専用LEDバルブキット PSX26W 2800K NLRFY4



まずやることは、リクエスト処理サイクルの最初の方のap_run_post_read_requestフェーズで、基準となるマイクロ秒精度の時刻を記録します 【リムコーポレーション】ロワリングブロックキット【38mm】【NV350キャラバン】 【エスペリア】TOYOTA WiLL CYPHA NCP70 スーパーダウンサス NCP70 2NZ-FE H14/10~ 2WD 1.3L フロント。最近のPOSIX準拠な環境ならgettimeofday()が使えるので、これを使ってマイクロ秒単位の時刻が取得できます。取得した時刻はrequest_rec構造体のnotesフィールドにでもセットしておきましょう。だいたいこんな感じのハンドラ関数になります。
 static int begin_msec_count(request_rec *r)
{
 struct timeval *stime;
 int rc;
 if (!ap_is_initial_req(r))
 return DECLINED;
 stime = ap_pcalloc(r->pool, sizeof(struct timeval));
 rc = gettimeofday(stime, NULL);
 if (rc == -1) {
 return DECLINED;
 }
 ap_table_setn(r->notes, "REQUEST_MICRO_SECONDS", (const char *)stime);
 return OK;
}
今度はリクエストの処理が終わったap_log_transactionフェーズで、もう一度gettimeofday()で時刻を取得し、事前に記録しておいた処理開始時点の時刻と比較して所要時間を計算します 最安挑戦 DIXCEL DIXCEL プレーンディスクローター PD PD3119241S。
 static int end_msec_count(request_rec *r)
{
 struct timeval *stime, etime;
 int rc;
 const char *msec;
 double start, end;
 stime = (struct timeval *)ap_table_get(r->notes, "REQUEST_MICRO_SECONDS");
 if (stime == NULL) {
 return DECLINED;
 }
 rc = gettimeofday(&etime, NULL);
 if (rc == -1) {
 return DECLINED;
 }
 start = stime->tv_sec + stime->tv_usec * 1e-6;
 end = etime.tv_sec + etime.tv_usec * 1e-6;
 msec = ap_psprintf(r->pool, "%.6f", end - start);
 while (r->next)
 r = r->next;
 ap_table_setn(r->subprocess_env, "D", msec);
 return OK;
}
で、最後のap_table_setn(r->subprocess_env, "D", msec)がミソなのですが、計算したマイクロ秒精度の処理所要時間を環境変数"D"にセットします。これによってLogFormatディレクティブで
 LogFormat "%{D}e"
といった記述でマイクロ秒精度の所要時間をログに出力することができるようになります 2輪 AP ブレーキパッド 入数:1キャリパー分(2枚) リア カワサキ KZ750 スポーツ750 750cc 1982年~1983年 SP武川 タケガワ 02-03-0081 乾式クラッチ (油圧/スリッパー/マスター付)+TAF5速(SS) モンキー (FI)(AB27-1900001~)。

と、こんな感じで標準のmod_log_configモジュールが環境変数などをログに出力できる機能を利用して、任意の情報の出力を実現するモジュールが記述できるわけです。独自にログ出力モジュールを開発するのも手ですが、既存のモジュールにオンブにダッコさせてもらった方が楽ですよね。
完成版のコードは
mod_log_msec.c
に置いておきますので宜しければネタにしてくださいませ。
あ、「リクエスト処理フェーズって何ぞや」ってな方は、 【★送料無料】 Y51 フーガ ブレーキキット【ファイナルコネクション】フーガ Y51 STEALTH CALIPER KIT フロント 4POT ローター径330×32 標準カラー:パープル ドリルド+スリットローターパンダの表紙のかわいい本がありますのでそちらを是非ご覧ください。

(クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54


Comments

Post a comment

Name:


URL:


Comments:


ApacheをHackする!
モジュールプログラミング強烈初体験!!
定価: 2,919円(税込)
ISBN: 4-7741-1799-4

hiroyuki_oyama IM status

Apache Users

Apache Modules

CPAN

A3207-54 A3207-54 スプロケット 428-54T 428-54T A3207-54 (クーポン配布中)X.A.M


Copyright ©(クーポン配布中)X.A.M A3207-54 428-54T スプロケット A3207-54 All Rights Reserved. 2004 Hiroyuki OYAMA. Japan. All rights reserved.
{yahoojp} {module.jp}
{yahoojp}jpprem01-zenjp40-wl-zd-2507