すんません
まだ仕事が納まらない。
心を無くす
落ち着いて一日を振り返ったり、ジョギングに行ったりする余裕が無い。
良くないな。
アドベントカレンダー、最終日が書ききれていないよ。
初老丸アドベントカレンダー 24 日目の記事です。
ということで、自分の記事はずーっと小ネタですいません。
今まで標準の json モジュールしか知りませんでしたが、とあるお仕事で Python スクリプトのボトルネックを調査していたところ、標準の json モジュールが結果として遅いんだ...という結論に至りました。
さて、他の json モジュールを選ばなければいけません...ということで、幾つかの JSON モジュールの処理速度比較というのをやってみました。
尚、環境によって結果は変動することが想定されますので、あくまでも参考程度に読んで頂けると幸いです。
bash-3.2$ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1108
メモでした。
初老丸アドベントカレンダー 18 日目の記事です。
ということで、自分の記事はずーっと小ネタですいません。
http://docs.datadoghq.com/ja/guides/dogstatsd/
_elapsed_time=$(sleep $(((RANDOM % 100) + 1))) echo "oreno.metrics.elapsed_time.gauges:${_elapsed_time}|g" | nc -w 1 -u localhost 8125
_elapsed_time=$(sleep $(((RANDOM % 100) + 1))) echo "oreno.metrics.elapsed_time.counters:${_elapsed_time}|c" | nc -w 1 -u localhost 8125
# サンプルレートは 0 ~ 1 の小数点で指定する _elapsed_time=$(sleep $(((RANDOM % 100) + 1))) _sample_rate=0.5 echo "oreno.metrics.elapsed_time.histograms:${_elapsed_time}|h|@${_sample_rate}" | nc -w 1 -u localhost 8125
上記のようなメトリクスの種類がありますが、今回は触れません。
Datadog Agent が動いているホスト上で以下のようなスクリプトを動かしますよ。
while : do _elapsed_time=$(((RANDOM % 100) + 1)) echo ${_elapsed_time} echo "oreno.metrics.elapsed_time.gauges:${_elapsed_time}|g" | nc -w 1 -u localhost 8125 _elapsed_time=$(((RANDOM % 100) + 1)) echo ${_elapsed_time} echo "oreno.metrics.elapsed_time.counters:${_elapsed_time}|c" | nc -w 1 -u localhost 8125 _elapsed_time=$(((RANDOM % 100) + 1)) _sample_rate=0.5 echo ${_elapsed_time} echo "oreno.metrics.elapsed_time.histograms:${_elapsed_time}|h|@${_sample_rate}" | nc -w 1 -u localhost 8125 sleep 1 done
以下のようにメトリクスが作成されていますよ。
ヒストグラムについては、平均値、最小値、最大値、中央値及び 95 % のメトリクスがプロットされています。
メモでした。