# ログ追加のAPI実験・公開用データ

2026-10-29。Python 3.11.2標準ライブラリの専用APIを、同一ホストのループバックで測定。7種類のログ処理×2種類の読み取り先×3回。各回は毎秒20件を8秒間、計160件。予備測定は含まない。

- `summary.csv`: 14条件の集計。p50/p95/p99は各条件3回の480件をまとめ、昇順の `ceil(n*p)` 番目を選ぶ。`run_p99_min_ms` / `max_ms` は各回p99の最小・最大で、信頼区間ではない。
- `runs.csv`: 42回の結果。入れ子の内部環境情報は含めない。
- `requests.csv`: 6,720件の相対時刻・応答時間・API内計測。絶対時刻や接続情報、ログ本文は含めない。
- `timeline.csv`: 生成累計と読み取り累計の相対時刻。生成はlogger呼び出し直前、読み取りは約50ms刻みのサンプル。サンプル間の `unread_bytes` は実際の未読量を上振れしうる推定値であり、キュー容量そのものではない。

`latency_ms` は送信予定から本文受信完了まで。`schedule_lag_ms` は送信予定からクライアントが送信処理を開始するまで。接続作成とAPIの待ちを含む。`generate_us` はJSON生成相当区間、`logging_us` はlogger呼び出しと計数・符号化を含む区間で、ログ1回の純粋なコストではない。

`completed_rps` は完了件数÷max(8秒, 最後のHTTP応答の相対時刻)。`completed_and_drained_rps` はさらに全ログの読取完了まで含めた区間で割る。固定した送信量での処理の終わり方であり、最大処理能力ではない。

`api_cpu_cores` はAPIのCPU秒÷応答観測区間の秒。`api_cpu_quota_percent` は0.25コア上限に対する割合。API計測処理も含む。`api_cpu_s_including_drain` は後続の統計取得処理まで含む内部参考列で、純粋なログ処理CPUとして比較しない。1コアはホスト1論理CPU分。

`drain_after_last_response_s` は最後のHTTP応答から全ログの読取完了まで。永続化や外部サービスの受領を保証する時刻ではない。キュー上限256件の到達試験や、無期限の連続負荷は実施していない。

短文は改行込み128バイト。大きなJSONは改行込み16,384バイトで、長いASCII文字列を主体とする固定の合成データ。`json_only` は同じJSONの生成だけを行い、出力はゼロ。すべての出力をバイト数・改行数・SHA-256で検証し、欠落・キュー破棄・HTTPエラーはゼロ。

出力先は専用FIFO。`fast` は人工的な読み取り制限なし、`slow` は4096バイト読取りごとに待ち、上限256KiB/秒。実ファイルの永続化やネットワーク転送の性能を測ったものではない。
