Open3

AWS ECS Fargate + Remix に Datadog 導入したい

oieioioieioi

まずこれ
アプリケーションインスツルメンテーション -> 自動インスツルメンテーション で 「Single Step Instrumentation 」はBETAなので「Datadog Libraries」のほうでやる

2つのセットアップが必要。

  • Datadog Agent
    • APMが収集したものを Datadog の分析基盤に送信するやつ
    • docker コンテナが用意されてるので書いてあるとおりに立てておけばいい
  • Datadog Tracer
    • アプリケーション の様々な数値を収集するやつ。
    • node.js の場合 dd-trace をセットアップする必要がある。
oieioioieioi

AWS ECS(というかdockerインテグレーション)の場合、 version は ECRにイメージを登録したときのdockerタグが自動で設定されるので、環境変数DD_VERSION のセットなどは必要ない。

統合サービスタグ付け

oieioioieioi

remix (express) はエンドポイントの分析ができず、HTTPメソッドのみだけの分類になるので適当に名前をつけてやる必要がある。
wildcard paths are not handled properly in express (nodejs) - GitHub Datadog/dd-trace-js

適当にやるとこんな感じ。req.path の最初のスラッシュまでだけをリソース名とみなす。

import tracer from 'dd-trace';

tracer.init()
tracer.use('express', {
  hooks: {
    request: (span, req, res) => {
      span.setTag('http.route', req.path.split('/').slice(0, 2).join('/'))
    }
  }
})

ちゃんとやるなら remix のルーティング構造を取得して tag付けして、が必要・・・