タグ

ブックマーク / spring-mt.hatenablog.com (4)

  • GKE上で動いているRailsアプリでアクセスログとアプリケーションログをCloud Loggingでグルーピングする - CubicLouve

    medium.com こちらに書いてある内容をRailsで実現するためにやったことを書きます。 StackdriverはOperation Suiteと名前が変わっており、それに伴ってStackdriver loggingも Cloud Logging と名前を変えています。 GKEで動かしているアプリケーションのログ GKE上で動かしているアプリケーションであれば、標準出力、標準エラー出力にログを出力すれば、Cloud Loggingに送ることができます。 送るための設定方法は下記を参照ください。 cloud.google.com Cloud Loggingで構造化ログにするためには、ログはJSONオブジェクトとして出力する必要があります。 また、上記の GAE のログに憧れて にあるように、ログのグルーピングの要件を満たすために、下記の対応を行います。 アプリケーションログは標準出力に

    GKE上で動いているRailsアプリでアクセスログとアプリケーションログをCloud Loggingでグルーピングする - CubicLouve
    ryshinoz
    ryshinoz 2023/10/26
  • GKEで動くPodのプロセスに対してstraceを打ち込む - CubicLouve

    GKEのNodeをCoreOSを使っていれば、CoreOS toolboxを使って1 回だけ必要なパッケージやツールを追加でインストールし実行することができます。 cloud.google.com このCoreOS toolboxを使ってstraceをワンタイムでインストールしてpodの状態を確認します。 straceで調べたいPodが動いているNodeを探す consoleからでもなんでもいいので調べます。 kubectl get pods -o wide のようにwideオプションつけると、Nodeも表示されます。 Nodeにsshで入る GCPのconsoleからgcloudのコマンドを表示して入ることが多いです。 Podのプロセスを探す ps auxwwf などでプロセスを出せば、Podで動いているプロセスも見れます。 ここでstraceを打ちたいPIDを控えておきます。 tool

    GKEで動くPodのプロセスに対してstraceを打ち込む - CubicLouve
    ryshinoz
    ryshinoz 2020/05/29
  • railsアプリでstackprofを使ってボトルネックを探す + JSON::Schema(2.2.1)の高速化 - CubicLouve

    railsアプリが遅いって言われたので、久しぶりにrubyでisuconしてみました。 railsアプリでstackprofを使ったプロファイリング まず、自分がいつもやってる方法なのですが、config.ruにstackprofの設定を仕込みます。 stackprofはrackミドルウェアとして差し込めるようになっています。 下記設定はrailsだけでなく、sinatraでももちろん動きます。(これをいつも仕込んでおいてあります。) Gemfileにgem 'stackprof'を書いてconfig.ruに下記のように仕込んでいます。 is_stackprof = ENV['ENABLE_STACKPROF'].to_i.nonzero? stackprof_mode = (ENV['STACKPROF_MODE'] || :cpu).to_sym stackprof_interval

    railsアプリでstackprofを使ってボトルネックを探す + JSON::Schema(2.2.1)の高速化 - CubicLouve
    ryshinoz
    ryshinoz 2016/02/04
  • Rails4のtransactionでハマった <- これは私の間違いでした - CubicLouve

    申し訳ありません この記事完全に自分の間違いでした。 まず、自分のrailsアプリでは、、もろもろの深淵な理由で、モデルを作るときにActiveRecord::Baseを直接継承せずに、全てのモデルに共通で使うモデルを再定義しています。 なぜこんな事をしているかというと、これまた深淵な理由で、connection poolingができないからです。 まあ、そのモデルの基底クラスでゴニョゴニョしているせいで、ActiveRecord::Base使ってDBに繋ぎに行く場合と、モデルからDBに繋ぎに行く場合でコネクションが別々になっていました。 当に申し訳ないです。。。。 つまりこの問題は、私のrailsアプリのみで起こる問題でした。。。。。 普通にrailsアプリを作っていれば、問題なくロールバックできます。(ActiveRecord::Baseを直接継承して試してみたら問題なくロールバック

    Rails4のtransactionでハマった <- これは私の間違いでした - CubicLouve
    ryshinoz
    ryshinoz 2014/04/18
  • 1