K6 and DataDog Tags don't seem to work

Hi,

I have followed: Datadog

I have setup the shell command to generate the docker image (which works and is running)

DOCKER_CONTENT_TRUST=1 \
docker run --rm -d \
    --name performance-datadog \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    -v /proc/:/host/proc/:ro \
    -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
    -e DD_SITE="datadoghq.eu" \
    -e DD_API_KEY=MY KEY \
    -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=1 \
    -e K6_STATSD_ENABLE_TAGS=true \
    -p 8125:8125/udp \
    datadog/agent:latest

notice i have TAGS= ture

I have then generated a k6 Script and set the following inside a script

export const options = {
  vus: 1, // 1 user looping for 10 seconds
  duration: "10s", //  s , m , h, *m*s, h*m*s
  thresholds: {
    "transaction analysis response received": ["p(99)<10000"], // 99% of requests must complete below 10s
  },
  tags: {
    name: "demo_tag_release_v_0.0.1",
  },
};

I have then run and see the k6 dashboard updated with metrics, and in VSCode i see results. However, the drop down to filter is always *

I have also tried:

k6 run --out statsd --tag test_run_id=test_release_0.0.1  api-const-test.js

and

K6_STATSD_ENABLE_TAGS=true k6 run --out statsd api-const-test.js 

Any help on what i am doing wrong here please?

Hi @JayBird,

K6_STATSD_ENABLE_TAGS is only needed for k6, not the datadog-agent.

Have you tried the combination of the two:

  1. enabling the tags for the statsd output
  2. and setting the tag?
K6_STATSD_ENABLE_TAGS=true k6 run --tag test_run_id=test_release_0.0.1 --out statsd api-const-test.js 

Also does the datadog-agent have any logs that look interesting.

Can you check that all tags are missing not, just this one?

hey @mstoykov

Thank you for the reply :slight_smile:

All tags are missing, i have tired many combinations and nothing has shown up.

I cannot find any error logs inside Datadog that suggest any errors, as the data is pushed to DataDog with no issue.

I have now deleted the container, and removed the environment variable:

-e K6_STATSD_ENABLE_TAGS=true \

I have then run a new test using your suggestion and the output

K6_STATSD_ENABLE_TAGS=true k6 run --tag test_run_id=test_release_0.0.1 --out statsd api-const-test.js 

Same issue. No tags shown, nothing in the drop down

Ah i have found the issue now. Very unfriendly UX.

I was assuming that a tag would show on a drop down once a test had run. Not that the user would need to know the exact tag and search for it (facepalm).

Issue is now resolved.

I know just need to figure out how to compare two runs against each other…

Ah i have found the issue now. Very unfriendly UX.

You would’ve prefered that field to drop down values for each possible tag/value in your whole datadog org?

I know just need to figure out how to compare two runs against each other…

as far as I am aware this is mostly a “limitation” with datadog (and other platforms of this kind) as they expect that you want to look at continues metrics for a given time period instead of for some specific metrics in two distinct time periods.

Our CEO did make some experiments with timescaledb specifically to elevate this and you can see the current final thing as this extension. Unfortuntely nobody has had time to work on the actual comparing of two tests but it should be possible

You would’ve preferred that field to drop down values for each possible tag/value in your whole datadog org?

  • Maybe not. Maybe some detailed documentation in the area on the website. It really is not easy to figure out how to use this area.

Thanks for the information :slight_smile:

@JayBird add a tag to your test runs and this will show

export const options = {
  tags: {
    test_run_id: tag(),
  },