タグ

ブックマーク / blog.freedom-man.com (2)

  • Rubyプロセスの使用メモリ量の計測

    Rubyプロセスの使用メモリ量を計測したときの備忘録 psを使って計測する psコマンドをRubyスクリプトから叩いて計測できます rss = `ps -o rss= -p #{Process.pid}`.to_i * 0.001 vsz = `ps -o vsz= -p #{Process.pid}`.to_i * 0.001 puts "Process: #{Process.pid}: RSS = #{rss} MB, VSZ = #{vsz} MB" ObjectSpaceを使って計測する ObjectSpaceはオブジェクトの情報を取得したり操作するモジュールです。ObjectSpace#memsize_of_allメソッドを使うと、全てのオブジェクトが使用しているメモリ量を取得できます。 require 'objspace' puts "#{ObjectSpace.memsize

  • Rails API開発におけるJSONレスポンス生成方法と内部実装について

    Ruby on Rails Advent Calendar 2017 19日目の記事です。 RailsAPI開発するときのJSONレスポンスの生成方法についてまとめてみました。 JSONレスポンスの生成方法について RailsのHTTPレスポンスをJSONで生成する方法は以下の2つに分類されます renderメソッドにjson引数を指定する(モデル方式) templateハンドラでレンダリングする(ビュー方式) ライブラリでいうとactive_model_serializersは1のモデル方式、jbuilderやjbは2のビュー方式になります。 モデル方式はrenderメソッドにjson引数が指定されているとActionController::Renderers#_render_with_renderer_json が呼び出され、指定したオブジェクトのto_jsonメソッドが呼び出される

  • 1