Stackのアップグレードに役立つヒントをご紹介します。ニュースパートナー投資家向け情報アワードElasticは検索会社です。これまでの歩みをご紹介します。Serviceをはじめましょう。MalmbergShareRubyアプリからAPMサーバーにパフォーマンスメトリックを送信するのは、elastic-apmRubygemをインストールするのと同じくらい簡単です。ほとんどの統合がプラグアンドプレイであり、RailsとRackのサポートが組み込まれています。データにさらに情報を追加する方法はいくつかあり、独自のカスタムインストルメンテーションをセットアップする方法もいくつかあります。APMにはいくつかのコンセプトがあります。アプリが会社というコンセプトを中心に構築されているとすると、current_company.short_nameを各トランザクションおよびエラーに割り当てることができます。pairsであり、Elasticsearchにインデックスされるため、フィルターおよびクエリが可能です。そのため、自由に任意の方法でメトリックを細かく調査できます。endendこれにより、特定のパフォーマンス問題または例外が一部のお客様のみに影響を与えているかどうかがきわめて簡単に分かります。見られるコンセプトの1つに「ユーザー」があります。APMではそれにも対応できます。APMのRubyエージェントは、渡されるすべてのデータにid、email、およびusernameフィールドを含めます。これらのフィールド名を、アプリ内で呼びたい名前に自由にカスタマイズできます。SpanHelpersモジュール継続時間を追跡する特定のメソッドを探している場合は、SpanHelpersモジュールを使用できます。APMのRubyエージェントには、span_methodとspan_class_methodの2つのメソッドがあります。RubyエージェントのSpanHelpersに関するドキュメントをご確認ください。このアプローチは、計測対象がシンプルなメソッドコールの場合に便利です。きめ細かな制御が必要な場合は、汎用APIがあります。手動でトランザクションおよびスパンを作成できるように、このエージェントはパブリックAPIを提供します。エージェント自体がこのAPIを内部で使用して、サポートされているライブラリのほとんどをインストルメントしています。必要なのが、transactionです。Railsアプリ、ミドルウェアを使用したRackアプリ、またはサポートされているジョブランナーの1つでのバックグラウンドジョブのリクエスト内にいる場合は、ほぼ確実に、すでにトランザクション内にいることになります。ない場合は、次のようにトランザクションを作成します。トランザクションが終了するようにしてください。確実にそのようにするために、ここでは「begin」と「ensure」で囲みます。ElasticAPM.end_transactionend別の方法として、同じもののブロックバージョンがあり、これは後で終了させます。必要に応じてトランザクションを変更できます。エージェントが起動されていない場合、`transaction`は空になりますが、それでもそのブロックは評価されることに注意してください。endトランザクション内のspansが、アプリが実行する作業の各部分になります。自動インストルメントライブラリのいずれかを使用する場合は、それをトランザクションで囲むだけです。追加のスパンが必要な場合、APIはトランザクションに一致します。Rubyエージェントに関するドキュメントをご覧ください。APMのRubyエージェントの初期セットアップが最小限で簡単に済むように最善の努力をしました。上記のいずれの部分も、必要がない場合は実行する必要はありません。ほとんどの場合、いずれかを実行しなくても有用な多くの情報を得ることが可能です。APMでもそのためのツールを提供できるため、ご活用いただければと思います。APMおよびそのRubyエージェントは、そのような質問のすべてやそれ以外の質問に対する回答を得るのに役立ちます。アプリをインストルメントしましょう。Serviceにトレースを送信してください。ご質問、アイデア、ご意見、または懸念がある場合は、ディスカッションフォーラムをご利用ください。Foundationの商標です。