misskey(サーバ側)で分散トレーシングを利用するためのメモ
前提として、newrelicにアカウントを作成して、newrelic keyを取得しておくこと。
docker composeを例にする。
1 公式の手順
を参考に設定まで済ませる。
2 newrelicを追加する。
nodejsがインストールされており、pnpmが利用できることが前提。
cd packages/backend/ pnpm add newrelic
3 src/boot/index.tsを書き換え
packages/backend/src/boot/index.ts
の import が並んでいるあたりに
import "newrelic";
の1行を追加する。
4 docker-compose.override.ymlを作成
misskeyのトップディレクトリに戻り、
docker-compose.yml が存在することを確認して
docker-compose.override.yml
を作成する。中身は
services: web: environment: - NEW_RELIC_ENABLED=false - NEW_RELIC_APP_NAME=misskey - NEW_RELIC_RECORD_SQL=raw - NEW_RELIC_SLOW_SQL_ENABLED=true - ENV NEW_RELIC_NO_CONFIG_FILE=true - NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true - NEW_RELIC_LOG=stdout - NEW_RELIC_LICENSE_KEY=<your newrelic key" - NEW_RELIC_ENFORCE_BACKSTOP=false
こんな感じ。
5 公式の手順に戻る。
ここまでできれば、あとは 公式の手順の ビルドと初期化から再開すればOK。
結果
うまくいってれば、しばらくアクセスしてみると
こんな感じに何かが表示されます。