ECS-DD-TRACE
ECS ์์๋ง ์ฌ์ฉํ ์ ์๋ Node.js Datadog Monitoring Library ์
๋๋ค.
์ง์ํ๋ ๊ธฐ๋ฅ์ APM ์ธก์ ๊ณผ Metric ์ธก์ ์
๋๋ค.
Install
Dependency ์ ์ถ๊ฐํด์ฃผ์ธ์.
$ npm install @titicaca/ecs-dd-trace
APM
APM ๊ธฐ๋ฅ์ node.js ๊ฐ ์์ํ ๋ start script ์ ๋ฃ์ด์ฃผ๋ฉด ์๋์ผ๋ก APM ์ ์์งํฉ๋๋ค.
ENABLE_DD_APM ํ๊ฒฝ ๋ณ์์ true ๋ฅผ ๋ฃ์ด์ค๋๋ค.
package.json ์ scripts ๋ฅผ ์์ ํด ์ค๋๋ค. --require @titicaca/ecs-dd-trace
{
"scripts": {
"start": "NODE_ENV=production node --require @titicaca/ecs-dd-trace dist"
}
}
PREVENT_PARAMETERIZED_ROUTE_PATH
PREVENT_PARAMETERIZED_ROUTE_PATH ํ๊ฒฝ ๋ณ์์ true ๋ฅผ ๋ฃ์ด์ค ๊ฒฝ์ฐ ๋์ํฉ๋๋ค.
GET /users/{user_id} ์ ๊ฐ์ด dynamic path routing API ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Datadog APM ์์๋ ํต์ผ๋ API๋ก ์ฒ๋ฆฌํ์ง๋ง ์ด๊ฒ์ ๋ถ๋ฆฌํ์ฌ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ์๊ตฌ์ฌํญ์ ํด๊ฒฐํ ๋ ์ฌ์ฉํฉ๋๋ค.
Metric
Metric ์ ์ํ๋ ์งํ๋ฅผ ์นด์ดํธ ํ ์ ์๋ ๊ธฐ๋ฅ์
๋๋ค.
ENABLE_DD_METRIC ํ๊ฒฝ ๋ณ์์ true ๋ฅผ ๋ฃ์ด์ค๋๋ค.
์ฌ์ฉ๋ฒ
const metricClient = await MetricClient.init()
await increaseMetricCount('campaign_api.test')
ํ๊ฒฝ ๋ณ์
ECS ์์ ๋์ํ๋ ๋ชจ๋ ์ปจํ
์ด๋์๋ ECS_CONTAINER_METADATA_URI_V4 ํ๊ฒฝ ๋ณ์๊ฐ ์์ต๋๋ค.