太陽がまぶしかったから

C'etait a cause du soleil.

はてなブログアクセス解析の当日分グラフが9時になるまで表示されないのは仕様なのかUTC+9バグなのか問題

はてなブログ Perfect GuideBook [改訂第2版]

はてなブログのアクセス解析で今日の数字が表示されない

 はてなブログのアクセス解析機能を眺めていることがあるのだけど、日別のアクセス数グラフにおける当日分のバーが午前9時になるまで反映されないことに気づいた。

f:id:bulldra:20210326084117p:plain

 当日分のアクセス累計数は画面に数字として表示されているし、時間別のグラフを表示すればタイムラグなく当日分のグラフ表示ができているのに日別グラフだけは当日分のグラフが出てこない。

f:id:bulldra:20210326084059p:plain

 それがバグなのか仕様なのかは不確定だけど、ちょっと違和感がある。

協定世界時を元に日付を判定しちゃうあるある

 あり得そうなのは UTC(協定世界時)から判定した月日で日別グラフの最大表示日付を決めてしまっているのではないかということ。

協定世界時は国際度量衡局 (BIPM) が国際地球回転・基準系事業 (IERS) の支援を受けて維持する時刻系で、標準周波数と報時信号発射の基礎であり、国際単位系 (SI) 秒に基づく国際原子時と同歩度だが、整数秒だけ異なる。
(中略)
世界各地の標準時は協定世界時を基準としている。日本標準時 (JST) は協定世界時より9時間進めた時間である

 一般的なクラウドサービスもデフォルトでは UTC を基準に動いており、関連する処理系においてJST(UTC+9)への変換を明示的に行っていかないと 9:00 になるまで日付が切り替わらないという意図せぬ動作になってしまう場合がある。

UTC+9は営業時間との相性が良いから気づきにくい

 なんでそんなことを連想するかと言えば自分も昔にやらかしたことがあるからだ。たまたま早朝に業務システムの画面を見ていたら当日分のグラフが出てこない。当初は集計処理の遅延を疑ったがデータは揃っている。それで原因を探っていくと一部の処理がUTC基準で動いていて当日分のデータが表示できていなかった。

 リリースされてからも相当な期間が経っていたのにユーザーからのクレームを受けていなかった理由をヒアリングしてみると、業務開始時刻をすぎてから使っているから気づいてなかったり、仮に気づいていていた人がいても「そういう仕様だと思っていた」とのこと。

あとから「これは仕様です」と言えるラインの揺らぎ

 確かに業務画面なんて午前9:00までに反映されていれば実務上はなんの問題もなかったのであろう。あとから「バグではなく仕様」だと震え声で強弁することもできる。これがUTC+11とかだったら即座にクレームが出てもっと早く直せていたという点で地政学的な悪戯も感じる。

 はてなブログのアクセス解析の動作についても早朝のグラフ表示の話なので特に大きな問題はないのだけど、もし仕様じゃなくてバグなんだったらいつか直して欲しいと思ったりもする。