From 31645e3abcd6f37589639de3a4899079578b61e8 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sun, 2 Nov 2025 16:26:58 -0500 Subject: [PATCH 1/6] Log process id with remote worker start/stop log entries for troubleshooting --- lib/datadog/core/remote/worker.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/datadog/core/remote/worker.rb b/lib/datadog/core/remote/worker.rb index d25cab4cec6..671d1f18169 100644 --- a/lib/datadog/core/remote/worker.rb +++ b/lib/datadog/core/remote/worker.rb @@ -23,7 +23,7 @@ def initialize(interval:, logger:, &block) attr_reader :logger def start - logger.debug { 'remote worker starting' } + logger.debug { "remote worker starting (pid: #{$$})" } acquire_lock @@ -50,7 +50,7 @@ def start end def stop - logger.debug { 'remote worker stopping' } + logger.debug { "remote worker stopping (pid: #{$$})" } acquire_lock From e638792d786591de92006e42b891e7ff9bc6b23f Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sun, 2 Nov 2025 16:29:58 -0500 Subject: [PATCH 2/6] permit length of hashes to be taken --- lib/datadog/di/el/evaluator.rb | 2 +- spec/datadog/di/el/integration_cases/length.yml | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/datadog/di/el/evaluator.rb b/lib/datadog/di/el/evaluator.rb index 0ab07b8f5b6..e8f5b41f1fc 100644 --- a/lib/datadog/di/el/evaluator.rb +++ b/lib/datadog/di/el/evaluator.rb @@ -17,7 +17,7 @@ def iref(var) def len(var, var_name) case var - when Array, String + when Array, String, Hash var.length else raise DI::Error::ExpressionEvaluationError, "Unsupported type for length: #{var.class}: #{var_name}" diff --git a/spec/datadog/di/el/integration_cases/length.yml b/spec/datadog/di/el/integration_cases/length.yml index 8e184bf7d19..309bf5fc7c9 100644 --- a/spec/datadog/di/el/integration_cases/length.yml +++ b/spec/datadog/di/el/integration_cases/length.yml @@ -23,9 +23,22 @@ compiled: len(ref('var'), 'var') eval: - - locals: + - name: string + locals: var: 'test' result: 4 + + - name: array + locals: + var: [1, 2, 3] + result: 3 + + - name: hash + locals: + var: + foo: bar + foo1: bar1 + result: 2 - name: length of complex expression ast: From 65d9ff6b6a306c8a9be641bcd5932021f066c521 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sun, 2 Nov 2025 17:01:06 -0500 Subject: [PATCH 3/6] add @value tests --- .../di/el/integration_cases/all_any.yml | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/spec/datadog/di/el/integration_cases/all_any.yml b/spec/datadog/di/el/integration_cases/all_any.yml index 043c983ee0f..06608962164 100644 --- a/spec/datadog/di/el/integration_cases/all_any.yml +++ b/spec/datadog/di/el/integration_cases/all_any.yml @@ -72,3 +72,32 @@ - locals: collection: [] result: false + +- name: "any with @value" + ast: + any: + - ref: collection + - isEmpty: + ref: '@value' + + #compiled: + + eval: + - locals: + collection: + foo: "" + result: true + + - locals: + collection: + foo: 42 + result: false + + - locals: + collection: [1] + # TODO reconsider - there are no keys in an array + result: false + + - locals: + collection: [] + result: false From bbad78ef916b0586f6083f28662a7ba4eb6af153 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Mon, 3 Nov 2025 08:02:45 -0500 Subject: [PATCH 4/6] fix --- spec/datadog/di/el/integration_cases/all_any.yml | 2 +- spec/datadog/di/el/integration_cases/length.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/datadog/di/el/integration_cases/all_any.yml b/spec/datadog/di/el/integration_cases/all_any.yml index 06608962164..af48a01c631 100644 --- a/spec/datadog/di/el/integration_cases/all_any.yml +++ b/spec/datadog/di/el/integration_cases/all_any.yml @@ -80,7 +80,7 @@ - isEmpty: ref: '@value' - #compiled: + # compiled: eval: - locals: diff --git a/spec/datadog/di/el/integration_cases/length.yml b/spec/datadog/di/el/integration_cases/length.yml index 309bf5fc7c9..b03071d13c2 100644 --- a/spec/datadog/di/el/integration_cases/length.yml +++ b/spec/datadog/di/el/integration_cases/length.yml @@ -27,12 +27,12 @@ locals: var: 'test' result: 4 - + - name: array locals: var: [1, 2, 3] result: 3 - + - name: hash locals: var: From 1deb1a8c1e9bc64dc69d616cbcaa8b61228ef97e Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev <156273877+p-datadog@users.noreply.github.com> Date: Mon, 3 Nov 2025 09:43:41 -0500 Subject: [PATCH 5/6] Update lib/datadog/core/remote/worker.rb --- lib/datadog/core/remote/worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/datadog/core/remote/worker.rb b/lib/datadog/core/remote/worker.rb index 671d1f18169..4155204391a 100644 --- a/lib/datadog/core/remote/worker.rb +++ b/lib/datadog/core/remote/worker.rb @@ -23,7 +23,7 @@ def initialize(interval:, logger:, &block) attr_reader :logger def start - logger.debug { "remote worker starting (pid: #{$$})" } + logger.debug { "remote worker starting (pid: #{Process.pid})" } acquire_lock From 79793235ca6b03a34cc7dfa5537d40b048d343b2 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev <156273877+p-datadog@users.noreply.github.com> Date: Mon, 3 Nov 2025 09:44:02 -0500 Subject: [PATCH 6/6] Update lib/datadog/core/remote/worker.rb --- lib/datadog/core/remote/worker.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/datadog/core/remote/worker.rb b/lib/datadog/core/remote/worker.rb index 4155204391a..b5506b501a9 100644 --- a/lib/datadog/core/remote/worker.rb +++ b/lib/datadog/core/remote/worker.rb @@ -50,7 +50,7 @@ def start end def stop - logger.debug { "remote worker stopping (pid: #{$$})" } + logger.debug { "remote worker stopping (pid: #{Process.pid})" } acquire_lock