Edited at

大手Webサービスがクライアント側で発生したJavaScriptのエラーをどう収集しているのか まとめ

More than 5 years have passed since last update.

pixiv
はてなブログ
Facebook
Flickr

サーバに送っているか


圧縮されててよくわからない

いつ送ってるか
window.onerror時
Ajaxリクエストやメソッド実行の失敗時

window.onerror時

どこで送ってるか
http://www.pixiv.net/mypage.php

http://hatenablog.com/js?<バージョン番号>

どこに送ってるか
http://www.pixiv.net/rpc/js_error.php
http://blog.hatena.ne.jp/api/bug

https://www.flickr.com/beacon_rb_jserror.gne

なにを送っているか
* エラーメッセージ

* URL
* 行番号
* ユーザーID
* プレミアムかどうか
stacktrace.jsを使ってとれたスタックトレースエラーメッセージURL

* エラーメッセージ
* 行番号
* URL

どんな方法で送っているか
new Image().srcにエラー内容込みのURLを載せてる
$.ajaxでstacktrace.jsを取得し実行し、Image().srcにURLをセット

Image().src

備考
IE9やSafari、Googleのスクリプトに関するエラーは頻発するらしく、送る頻度を下げている
Hatena.Diary.BUGメソッドとHatena.Diary.REPORT_BUGメソッドを使い分けてる

めっちゃシンプルな実装だし"dumbest possible thing that will work (動作する最も単純なやり方)"

なのかな?