diff --git a/.github/actions/build-test/action.yml b/.github/actions/build-test/action.yml index 641391bdac8..7919345c729 100644 --- a/.github/actions/build-test/action.yml +++ b/.github/actions/build-test/action.yml @@ -30,6 +30,12 @@ runs: env: COVERAGE_DIR: coverage/versions/${{ inputs.alias }}/${{ inputs.container-id }} + - name: Display debug info + if: ${{ !cancelled() }} + shell: bash + run: | + df -h + - name: Debug with SSH connection if: ${{ failure() && runner.debug == '1' }} uses: mxschmitt/action-tmate@7b6a61a73bbb9793cb80ad69b8dd8ac19261834c # v3.19.0 diff --git a/.gitignore b/.gitignore index b3be35587aa..126e84655d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ +.DS_Store *.gem *.rbc *.swp +*~ *.vim /.config /coverage/ diff --git a/flake.lock b/flake.lock index c40f8135caf..ad74b77f72f 100644 --- a/flake.lock +++ b/flake.lock @@ -34,16 +34,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1742305402, - "narHash": "sha256-56UcjoVVkB7rAbiY9Y79Th4pOlx0e1hv6Cfny8rlP8U=", + "lastModified": 1760704990, + "narHash": "sha256-UJIhnoDIMuuzpO/VuTQwVbfFv2rogHqSE30xdUtK2Cg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6c8e4e4546146ddf05e9433ca560fa6260d00a14", + "rev": "b146f60d59cdc9c1559f604b480675a89b00ef6b", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 33fa8f9ad2b..284dc843be0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/release-25.05"; # cross-platform convenience flake-utils.url = "github:numtide/flake-utils"; @@ -36,6 +36,8 @@ # enable implicitly resolving gems to bundled version export RUBYGEMS_GEMDEPS="$(pwd)/Gemfile" + + export SKIP_SIMPLECOV=1 ''; deps = [ diff --git a/lib/datadog/core/telemetry/logger.rb b/lib/datadog/core/telemetry/logger.rb index b38d81a3ead..b89aedfadca 100644 --- a/lib/datadog/core/telemetry/logger.rb +++ b/lib/datadog/core/telemetry/logger.rb @@ -14,8 +14,8 @@ module Telemetry # read: lib/datadog/core/telemetry/logging.rb module Logger class << self - def report(exception, level: :error, description: nil, pii_safe: false) - instance&.report(exception, level: level, description: description, pii_safe: pii_safe) + def report(exception, level: :error, description: nil) + instance&.report(exception, level: level, description: description) end def error(description) diff --git a/lib/datadog/core/telemetry/logging.rb b/lib/datadog/core/telemetry/logging.rb index e35cf92dad0..036bb78d8f4 100644 --- a/lib/datadog/core/telemetry/logging.rb +++ b/lib/datadog/core/telemetry/logging.rb @@ -45,17 +45,11 @@ def self.from(exception) end end - def report(exception, level: :error, description: nil, pii_safe: false) + def report(exception, level: :error, description: nil) # Anonymous exceptions to be logged as message = +"#{exception.class.name || exception.class.inspect}" # standard:disable Style/RedundantInterpolation - exception_message = pii_safe ? exception.message : nil - - if description || exception_message - message << ':' - message << " #{description}" if description - message << " (#{exception.message})" if exception_message - end + message << ": #{description}" if description event = Event::Log.new( message: message, diff --git a/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb b/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb index 130b036a8b3..aa88ec2de9c 100644 --- a/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb +++ b/lib/datadog/profiling/collectors/cpu_and_wall_time_worker.rb @@ -82,7 +82,7 @@ def start(on_failure_proc: nil) "Cause: #{e.class.name} #{e.message} Location: #{Array(e.backtrace).first}" ) on_failure_proc&.call - Datadog::Core::Telemetry::Logger.report(e, description: "CpuAndWallTimeWorker thread error", pii_safe: true) + Datadog::Core::Telemetry::Logger.report(e, description: "CpuAndWallTimeWorker thread error") end @worker_thread.name = self.class.name # Repeated from above to make sure thread gets named asap @worker_thread.thread_variable_set(:fork_safe, true) diff --git a/lib/datadog/profiling/collectors/idle_sampling_helper.rb b/lib/datadog/profiling/collectors/idle_sampling_helper.rb index 8be5748fcef..6d33ca03e4c 100644 --- a/lib/datadog/profiling/collectors/idle_sampling_helper.rb +++ b/lib/datadog/profiling/collectors/idle_sampling_helper.rb @@ -41,7 +41,7 @@ def start "IdleSamplingHelper thread error. " \ "Cause: #{e.class.name} #{e.message} Location: #{Array(e.backtrace).first}" ) - Datadog::Core::Telemetry::Logger.report(e, description: "IdleSamplingHelper thread error", pii_safe: true) + Datadog::Core::Telemetry::Logger.report(e, description: "IdleSamplingHelper thread error") end @worker_thread.name = self.class.name # Repeated from above to make sure thread gets named asap @worker_thread.thread_variable_set(:fork_safe, true) diff --git a/sig/datadog/core/telemetry/logger.rbs b/sig/datadog/core/telemetry/logger.rbs index 214488d0d29..b32bf487c1c 100644 --- a/sig/datadog/core/telemetry/logger.rbs +++ b/sig/datadog/core/telemetry/logger.rbs @@ -2,7 +2,7 @@ module Datadog module Core module Telemetry module Logger - def self.report: (Exception exception, ?level: Symbol, ?description: String?, ?pii_safe: bool) -> void + def self.report: (Exception exception, ?level: Symbol, ?description: String?) -> void def self.error: (String description) -> void diff --git a/sig/datadog/core/telemetry/logging.rbs b/sig/datadog/core/telemetry/logging.rbs index d5cf10547e7..f64aa023f3c 100644 --- a/sig/datadog/core/telemetry/logging.rbs +++ b/sig/datadog/core/telemetry/logging.rbs @@ -12,7 +12,7 @@ module Datadog def self.from: (Exception exception) -> String? end - def report: (Exception exception, ?level: Symbol, ?description: String?, ?pii_safe: bool) -> void + def report: (Exception exception, ?level: Symbol, ?description: String?) -> void def error: (String description) -> void end diff --git a/spec/datadog/core/telemetry/logger_spec.rb b/spec/datadog/core/telemetry/logger_spec.rb index 92941fcd391..d40b5fdaf58 100644 --- a/spec/datadog/core/telemetry/logger_spec.rb +++ b/spec/datadog/core/telemetry/logger_spec.rb @@ -15,7 +15,7 @@ it do expect(Datadog.logger).not_to receive(:warn) - expect(telemetry).to receive(:report).with(exception, level: :error, description: 'Oops...', pii_safe: false) + expect(telemetry).to receive(:report).with(exception, level: :error, description: 'Oops...') described_class.report(exception, level: :error, description: 'Oops...') end @@ -23,20 +23,11 @@ context 'when only given an exception' do it do expect(Datadog.logger).not_to receive(:warn) - expect(telemetry).to receive(:report).with(exception, level: :error, description: nil, pii_safe: false) + expect(telemetry).to receive(:report).with(exception, level: :error, description: nil) described_class.report(exception) end end - - context 'when pii_safe is true' do - it do - expect(Datadog.logger).not_to receive(:warn) - expect(telemetry).to receive(:report).with(exception, level: :error, description: nil, pii_safe: true) - - described_class.report(exception, pii_safe: true) - end - end end context 'when there is no telemetry component configured' do diff --git a/spec/datadog/core/telemetry/logging_spec.rb b/spec/datadog/core/telemetry/logging_spec.rb index 36d50b96651..363bc1b380f 100644 --- a/spec/datadog/core/telemetry/logging_spec.rb +++ b/spec/datadog/core/telemetry/logging_spec.rb @@ -26,6 +26,7 @@ def log!(_event) logs: [{message: 'RuntimeError', level: 'ERROR', count: 1, stack_trace: a_string_including("\n/spec/")}] ) + expect(event.payload[:logs].map { |log| log[:message] }).not_to include('p@ssw0rd') end begin @@ -46,6 +47,7 @@ def log!(_event) logs: [{message: 'RuntimeError: Must not contain PII', level: 'ERROR', count: 1, stack_trace: a_string_including("\n/spec/")}] ) + expect(event.payload[:logs].map { |log| log[:message] }).not_to include('p@ssw0rd') end begin @@ -68,6 +70,7 @@ def log!(_event) logs: [{message: /#