Next.js は、開発と実行時の両方で最適化された速度とパフォーマンスを提供する強力な JavaScript フレームワークです。 Next.js 13 のリリースにより、App Router が Next.js アプリケーションでルーティングを処理する推奨方法になりました。この新しいルーターは、サーバー コンポーネントやストリーミングなどの React の最新機能を活用して、Web アプリケーションを構築するためのより現代的で効率的なアプローチを提供します。
このブログ投稿では、新しい App Router を使用してサーバー側のアプリケーション パフォーマンス監視とフロントエンドのブラウザ監視を設定し、Next.js アプリケーションでフルスタックの可観測性を実現する方法を学びます。開始するには、New Relic アカウントとライセンス キーが必要です。どちらも無料で入手できます。
Next.js プロジェクトで次のコマンドを実行して、New Relic Node.js APM エージェントと Next.js 用の New Relic ミドルウェアをインストールします。
npm install newrelic @newrelic/next
コマンドが正常に完了すると、package.json ファイルに含まれる依存関係が表示されます。
"dependencies": { "@newrelic/next": "^0.10.0", "newrelic": "^11.23.0", "next": "14.2.5", "react": "^18", "react-dom": "^18" },
@newrelic/next パッケージは、Next.js アプリケーションの New Relic モニタリングのための公式インスツルメンテーションを提供します。これは、ページとサーバーの両方のリクエストに対するサーバー側のレンダリング、ミドルウェア、トランザクションの命名に焦点を当てており、サーバー側のアクティビティの包括的な監視可能性を確保します。
このパッケージは個別にインストールされますが、New Relic Node.js エージェントとシームレスに統合され、Next.js アプリケーションのパフォーマンス監視とエラー追跡を強化するためのエージェントのすべての機能を提供します。
クライアント側のアクションについては説明していませんが、クライアント側のテレメトリ用に New Relic ブラウザ エージェントを挿入できます (詳細については、このブログ投稿で後ほど説明します)。
構成次の内容を含む next.config.js ファイルをプロジェクト ルートに作成または更新します:
'use strict' const nrExternals = require('@newrelic/next/load-externals') module.exports = { experimental: { serverComponentsExternalPackages: ['newrelic'] }, webpack: (config) => { nrExternals(config) return config } }次に、dev を変更し、package.json ファイルの script セクションを修正して npm スクリプトを開始します。 Node の -r オプションを使用してアプリケーションを実行できるようにします。これにより、@newrelic/next ミドルウェアがプリロードされます。
'use strict' const nrExternals = require('@newrelic/next/load-externals') module.exports = { experimental: { serverComponentsExternalPackages: ['newrelic'] }, webpack: (config) => { nrExternals(config) return config } }アプリケーションを実行する前に、newrelic.js AMP エージェント設定ファイルをプロジェクトのルート ディレクトリに追加します。詳細については、Next.js アプリの構成ファイルの例を参照してください。
さらに、アプリケーションの .env ファイルの例に示すように、.env ファイルで NEW_RELIC_APP_NAME と NEW_RELIC_LICENSE_KEY を使用します。
New Relic でのパフォーマンス データの表示
フロントエンドの可観測性
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3