Sha256: f7e15b9dfcb0e4b746455d164ce84743c3280de76322b46543b1e5223edbfc3c

Contents?: true

Size: 1.84 KB

Versions: 24

Compression:

Stored size: 1.84 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'securerandom'

class AgentAttributesTests < Performance::TestCase
  def setup
    require 'new_relic/agent/attribute_filter'
  end

  ALPHA = "alpha".freeze
  BETA  = "beta".freeze

  def test_empty_agent_attributes
    @filter = NewRelic::Agent::AttributeFilter.new(NewRelic::Agent.config)

    measure do
      @filter.apply(ALPHA, NewRelic::Agent::AttributeFilter::DST_ALL)
      @filter.apply(BETA, NewRelic::Agent::AttributeFilter::DST_ALL)
    end
  end

  def test_with_attribute_rules
    with_config(:'attributes.include' => ['alpha'],
                :'attributes.exclude' => ['beta']) do

      @filter = NewRelic::Agent::AttributeFilter.new(NewRelic::Agent.config)

      measure do
        @filter.apply(ALPHA, NewRelic::Agent::AttributeFilter::DST_ALL)
        @filter.apply(BETA, NewRelic::Agent::AttributeFilter::DST_ALL)
      end
    end
  end

  def test_with_wildcards
    with_config(:'attributes.include' => ['alpha*'],
                :'attributes.exclude' => ['beta*']) do

      @filter = NewRelic::Agent::AttributeFilter.new(NewRelic::Agent.config)

      measure do
        @filter.apply(ALPHA, NewRelic::Agent::AttributeFilter::DST_ALL)
        @filter.apply(BETA, NewRelic::Agent::AttributeFilter::DST_ALL)
      end
    end
  end

  def test_with_tons_o_rules
    with_config(:'attributes.include' => 100.times.map { SecureRandom.hex },
                :'attributes.exclude' => 100.times.map { SecureRandom.hex }) do

      @filter = NewRelic::Agent::AttributeFilter.new(NewRelic::Agent.config)

      measure do
        @filter.apply(ALPHA, NewRelic::Agent::AttributeFilter::DST_ALL)
        @filter.apply(BETA, NewRelic::Agent::AttributeFilter::DST_ALL)
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/performance/suites/agent_attributes.rb
newrelic_rpm-4.0.0.332 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.18.1.330 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.18.0.329 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.17.2.327 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.17.1.326 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.17.0.325 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.16.3.323 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.16.2.321 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.16.1.320 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.16.0.318 test/performance/suites/agent_attributes.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/performance/suites/agent_attributes.rb
newrelic_rpm-3.15.2.317 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.15.1.316 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.15.0.314 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.14.3.313 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.14.2.312 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.14.1.311 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.14.0.305 test/performance/suites/agent_attributes.rb
newrelic_rpm-3.13.2.302 test/performance/suites/agent_attributes.rb