analogの転送バイト数

analogで集計したリクエスト数、ページ数、転送バイト数の時系列データで、転送バイト数のピークとリクエスト数、ページ数のピークがかならずしも一致しないので、その理由を考えてみた。
そもそも転送バイト数(analogのパラメータでいうB)は、アクセスログApacheの場合access_log)の転送バイト数の対象期間内の累計であるとして、アクセスログに記録される転送バイト数は、HTTPレスポンスヘッダを含むのか含まないのか。
Apache2.0でログフォーマットの項目に%bを指定している場合、レスポンスヘッダは含まれない。
http://httpd.apache.org/docs/2.0/logs.html
このため、HTTPステータスが304のリクエストは転送バイト数が0で記録される。まずこの304ステータスが、リクエストのピークと転送バイト数のピークが一致しない要因のひとつと考えられる。
HTTPステータスが302や301の場合、転送バイト数は0になっていない。つまり、HTTPヘッダだけでなくボディも転送されている。このボディ分のバイト数がログに記録される。
http://www.studyinghttp.net/status_code#Code302
したがって、HTTPステータスが200と300番台のそれぞれが占める比率によっては、リクエストのピークと転送バイト数のピークがずれることがありえる。

 だけをもつエレメント

analogの出力をxhtmlにして、時系列レポートの表から値を抽出するスクリプトphpで書いてみた。php5のDOM拡張を使ってみたところ、 をもつtdエレメントのnodeValueが期待に反してnullではなく、NO-BREAK SPACE(U+00A0  )のUTF-8(値がC2A0)になっていた。
$dom->preserveWhiteSpaceにfalseを指定してみたが変わらず。
ふーむ、XMLは空白処理がなんか面倒だなあ。