diff --git a/README.md b/README.md index 4f3ab6c..9105313 100644 --- a/README.md +++ b/README.md @@ -67,3 +67,14 @@ Listening on port 3005 curl -XGET http://localhost:3005 add-mock-server ✱ ◼ {"message":"This is mock endpoint"}% ``` + +## Use datadog agent and Redis for docker compose + +``` +export DD_API_KEY=xxx +export DD_SITE=ap1.datadoghq.com +``` + +``` +docker compose up +``` diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..12975ed --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +version: '3.8' + +services: + datadog: + image: datadog/agent:latest + container_name: datadog + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - /proc/:/host/proc/:ro + - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro + environment: + - DD_SITE=${DD_SITE} + - DD_API_KEY=${DD_API_KEY} + - DD_DOGSTATSD_NON_LOCAL_TRAFFIC=1 + ports: + - '8125:8125/udp' + + redis: + image: redis:latest + ports: + - '6379:6379' diff --git a/package.json b/package.json index 17ef7a1..1e86718 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,8 @@ "lint:eslint": "npx eslint --ext .ts src", "lint:prettier": "prettier --check src", "format": "prettier --write 'src/**/*.ts' && npx eslint --fix --ext .ts src", - "smoke:sample-product": "XK6_TS=false ./k6 run ./dist/loadTest.js -e CONFIG_PATH=../src/sample-product/configs/smoke.json", - "smoke-debug:sample-product": "XK6_TS=false ./k6 run ./dist/loadTest.js -e CONFIG_PATH=../src/sample-product/configs/smoke.json --http-debug=full" + "smoke:sample-product": "K6_STATSD_ENABLE_TAGS=true XK6_TS=false ./k6 run ./dist/loadTest.js --out output-statsd -e CONFIG_PATH=../src/sample-product/configs/smoke.json", + "smoke-debug:sample-product": "K6_STATSD_ENABLE_TAGS=true XK6_TS=false ./k6 run ./dist/loadTest.js --out output-statsd -e CONFIG_PATH=../src/sample-product/configs/smoke.json --http-debug=full" }, "dependencies": { "find-up": "^7.0.0", diff --git a/src/sample-product/common/common.ts b/src/sample-product/common/common.ts index 3f8dd02..3756930 100644 --- a/src/sample-product/common/common.ts +++ b/src/sample-product/common/common.ts @@ -89,7 +89,7 @@ export function debugOrLog(textToLog: string): void { } } -function formatDate(time: Date): string { +export function formatDate(time: Date): string { const jstOffset: number = 9 * 60 const jstTime: number = time.getTime() + jstOffset * 60 * 1000 diff --git a/src/sample-product/configs/config.ts b/src/sample-product/configs/config.ts index 6d903d4..59f1c8c 100644 --- a/src/sample-product/configs/config.ts +++ b/src/sample-product/configs/config.ts @@ -1,9 +1,14 @@ import * as env from '../common/env' +import { formatDate } from '../common/common' export const OPTIONS_CONFIG = (): Record => { const defaultConfigs = { blockHostnames: ['*.hogehoge.com'], insecureSkipTLSVerify: true, + tags: { + env: 'local', + datetime: formatDate(new Date()), + }, } const configs = JSON.parse(open(env.CONFIG_PATH))