newrelic_rpm 9.2.0 → 9.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/.build_ignore +26 -0
  3. data/CHANGELOG.md +197 -2
  4. data/README.md +8 -4
  5. data/lib/new_relic/agent/attribute_pre_filtering.rb +109 -0
  6. data/lib/new_relic/agent/configuration/default_source.rb +218 -63
  7. data/lib/new_relic/agent/configuration/environment_source.rb +1 -1
  8. data/lib/new_relic/agent/configuration/manager.rb +14 -0
  9. data/lib/new_relic/agent/configuration/yaml_source.rb +13 -0
  10. data/lib/new_relic/agent/distributed_tracing.rb +1 -1
  11. data/lib/new_relic/agent/error_collector.rb +1 -1
  12. data/lib/new_relic/agent/instrumentation/action_controller_other_subscriber.rb +1 -1
  13. data/lib/new_relic/agent/instrumentation/active_record.rb +1 -1
  14. data/lib/new_relic/agent/instrumentation/active_record_notifications.rb +2 -1
  15. data/lib/new_relic/agent/instrumentation/active_support_logger/instrumentation.rb +4 -0
  16. data/lib/new_relic/agent/instrumentation/bunny/instrumentation.rb +9 -0
  17. data/lib/new_relic/agent/instrumentation/concurrent_ruby/chain.rb +1 -1
  18. data/lib/new_relic/agent/instrumentation/concurrent_ruby/instrumentation.rb +3 -4
  19. data/lib/new_relic/agent/instrumentation/concurrent_ruby/prepend.rb +1 -1
  20. data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +1 -2
  21. data/lib/new_relic/agent/instrumentation/curb/instrumentation.rb +4 -0
  22. data/lib/new_relic/agent/instrumentation/delayed_job/instrumentation.rb +3 -0
  23. data/lib/new_relic/agent/instrumentation/elasticsearch/instrumentation.rb +4 -1
  24. data/lib/new_relic/agent/instrumentation/excon/middleware.rb +3 -0
  25. data/lib/new_relic/agent/instrumentation/fiber/chain.rb +10 -3
  26. data/lib/new_relic/agent/instrumentation/fiber/instrumentation.rb +1 -2
  27. data/lib/new_relic/agent/instrumentation/fiber/prepend.rb +10 -3
  28. data/lib/new_relic/agent/instrumentation/grape/instrumentation.rb +4 -0
  29. data/lib/new_relic/agent/instrumentation/grpc/client/instrumentation.rb +4 -0
  30. data/lib/new_relic/agent/instrumentation/grpc/server/instrumentation.rb +4 -0
  31. data/lib/new_relic/agent/instrumentation/grpc_client.rb +1 -1
  32. data/lib/new_relic/agent/instrumentation/grpc_server.rb +1 -1
  33. data/lib/new_relic/agent/instrumentation/httpclient/instrumentation.rb +4 -0
  34. data/lib/new_relic/agent/instrumentation/httprb/instrumentation.rb +4 -0
  35. data/lib/new_relic/agent/instrumentation/logger/instrumentation.rb +3 -0
  36. data/lib/new_relic/agent/instrumentation/memcache/instrumentation.rb +12 -3
  37. data/lib/new_relic/agent/instrumentation/memcache.rb +2 -2
  38. data/lib/new_relic/agent/instrumentation/net_http/instrumentation.rb +4 -0
  39. data/lib/new_relic/agent/instrumentation/notifications_subscriber.rb +4 -0
  40. data/lib/new_relic/agent/instrumentation/padrino/instrumentation.rb +4 -0
  41. data/lib/new_relic/agent/instrumentation/queue_time.rb +1 -1
  42. data/lib/new_relic/agent/instrumentation/rack/instrumentation.rb +6 -0
  43. data/lib/new_relic/agent/instrumentation/rails3/action_controller.rb +4 -0
  44. data/lib/new_relic/agent/instrumentation/rails_notifications/action_cable.rb +1 -1
  45. data/lib/new_relic/agent/instrumentation/rake/instrumentation.rb +4 -0
  46. data/lib/new_relic/agent/instrumentation/redis/instrumentation.rb +4 -0
  47. data/lib/new_relic/agent/instrumentation/resque/instrumentation.rb +4 -0
  48. data/lib/new_relic/agent/instrumentation/roda/chain.rb +43 -0
  49. data/lib/new_relic/agent/instrumentation/roda/instrumentation.rb +56 -0
  50. data/lib/new_relic/agent/instrumentation/roda/prepend.rb +24 -0
  51. data/lib/new_relic/agent/instrumentation/roda/roda_transaction_namer.rb +30 -0
  52. data/lib/new_relic/agent/instrumentation/roda.rb +34 -0
  53. data/lib/new_relic/agent/instrumentation/sequel.rb +1 -1
  54. data/lib/new_relic/agent/instrumentation/sidekiq/client.rb +4 -0
  55. data/lib/new_relic/agent/instrumentation/sidekiq/server.rb +26 -3
  56. data/lib/new_relic/agent/instrumentation/sidekiq.rb +2 -2
  57. data/lib/new_relic/agent/instrumentation/sinatra/instrumentation.rb +4 -0
  58. data/lib/new_relic/agent/instrumentation/stripe.rb +28 -0
  59. data/lib/new_relic/agent/instrumentation/stripe_subscriber.rb +77 -0
  60. data/lib/new_relic/agent/instrumentation/thread/chain.rb +1 -1
  61. data/lib/new_relic/agent/instrumentation/thread/instrumentation.rb +0 -1
  62. data/lib/new_relic/agent/instrumentation/thread/prepend.rb +1 -1
  63. data/lib/new_relic/agent/instrumentation/tilt/instrumentation.rb +4 -0
  64. data/lib/new_relic/agent/instrumentation/typhoeus/instrumentation.rb +5 -1
  65. data/lib/new_relic/agent/log_event_aggregator.rb +49 -2
  66. data/lib/new_relic/agent/log_event_attributes.rb +115 -0
  67. data/lib/new_relic/agent/logging.rb +4 -4
  68. data/lib/new_relic/agent/method_tracer_helpers.rb +26 -5
  69. data/lib/new_relic/agent/new_relic_service.rb +33 -17
  70. data/lib/new_relic/agent/pipe_service.rb +1 -1
  71. data/lib/new_relic/agent/tracer.rb +7 -6
  72. data/lib/new_relic/agent/transaction/abstract_segment.rb +52 -0
  73. data/lib/new_relic/agent/transaction/request_attributes.rb +45 -7
  74. data/lib/new_relic/agent/transaction/tracing.rb +6 -0
  75. data/lib/new_relic/agent/transaction.rb +9 -4
  76. data/lib/new_relic/agent/utilization/vendor.rb +5 -7
  77. data/lib/new_relic/agent.rb +50 -1
  78. data/lib/new_relic/cli/command.rb +1 -0
  79. data/lib/new_relic/control/class_methods.rb +1 -7
  80. data/lib/new_relic/control/frameworks/roda.rb +20 -0
  81. data/lib/new_relic/control/instrumentation.rb +0 -14
  82. data/lib/new_relic/dependency_detection.rb +16 -1
  83. data/lib/new_relic/language_support.rb +5 -0
  84. data/lib/new_relic/latest_changes.rb +1 -1
  85. data/lib/new_relic/noticed_error.rb +5 -2
  86. data/lib/new_relic/rack/agent_hooks.rb +1 -1
  87. data/lib/new_relic/rack/agent_middleware.rb +0 -16
  88. data/lib/new_relic/rack/browser_monitoring.rb +1 -1
  89. data/lib/new_relic/supportability_helper.rb +2 -0
  90. data/lib/new_relic/traced_thread.rb +2 -3
  91. data/lib/new_relic/version.rb +1 -1
  92. data/lib/sequel/extensions/new_relic_instrumentation.rb +1 -1
  93. data/lib/tasks/bump_version.rake +21 -0
  94. data/lib/tasks/config.rake +3 -2
  95. data/lib/tasks/helpers/config.html.erb +93 -0
  96. data/lib/tasks/helpers/format.rb +11 -7
  97. data/lib/tasks/helpers/newrelicyml.rb +144 -0
  98. data/lib/tasks/helpers/version_bump.rb +62 -0
  99. data/lib/tasks/newrelicyml.rake +13 -0
  100. data/newrelic.yml +364 -267
  101. data/newrelic_rpm.gemspec +11 -7
  102. metadata +36 -25
  103. data/.gitignore +0 -43
  104. data/.project +0 -23
  105. data/.rubocop.yml +0 -1845
  106. data/.rubocop_todo.yml +0 -61
  107. data/.simplecov +0 -16
  108. data/.snyk +0 -11
  109. data/.yardopts +0 -27
  110. data/Brewfile +0 -13
  111. data/DOCKER.md +0 -167
  112. data/Dockerfile +0 -10
  113. data/Guardfile +0 -27
  114. data/config/database.yml +0 -5
  115. data/config.dot +0 -278
  116. data/docker-compose.yml +0 -107
  117. data/lefthook.yml +0 -9
  118. data/lib/tasks/helpers/removers.rb +0 -33
  119. data/lib/tasks/multiverse.rake +0 -6
  120. data/lib/tasks/multiverse.rb +0 -84
data/.rubocop_todo.yml DELETED
@@ -1,61 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2023-02-02 15:27:55 UTC using RuboCop version 1.44.0.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 422
10
- # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
11
- Metrics/AbcSize:
12
- Max: 40
13
- Exclude:
14
- - infinite_tracing/test/**/*
15
- - lib/new_relic/cli/commands/deployments.rb
16
- - test/**/*
17
-
18
- # This cop supports safe autocorrection (--autocorrect).
19
- Minitest/AssertInDelta:
20
- Enabled: true
21
-
22
- # Offense count: 7
23
- Minitest/AssertRaisesCompoundBody:
24
- Exclude:
25
- - 'test/new_relic/agent/collector_response_code_test.rb'
26
- - 'test/new_relic/agent/new_relic_service_test.rb'
27
- - 'test/new_relic/cli/commands/deployments_test.rb'
28
-
29
- # Offense count: 4
30
- Minitest/DuplicateTestRun:
31
- Exclude:
32
- - 'test/multiverse/suites/rails/error_tracing_test.rb'
33
- - 'test/multiverse/suites/sinatra/ignoring_test.rb'
34
-
35
- # Offense count: 1
36
- # This cop supports safe autocorrection (--autocorrect).
37
- Minitest/EmptyLineBeforeAssertionMethods:
38
- Exclude:
39
- - 'test/new_relic/agent_test.rb'
40
- - 'test/new_relic/cli/commands/deployments_test.rb'
41
-
42
- # Offense count: 269
43
- Minitest/MultipleAssertions:
44
- Max: 28
45
-
46
- # Offense count: 129
47
- # This cop supports safe autocorrection (--autocorrect).
48
- Minitest/RefutePredicate:
49
- Enabled: false
50
-
51
- # Offense count: 27
52
- # This cop supports safe autocorrection (--autocorrect).
53
- Minitest/TestMethodName:
54
- Enabled: false
55
-
56
- Style/ConcatArrayLiterals:
57
- Enabled: false
58
-
59
- Minitest/RefuteRespondTo:
60
- Exclude:
61
- - 'test/new_relic/cli/commands/deployments_test.rb'
data/.simplecov DELETED
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'securerandom'
4
-
5
- if ENV['CI']
6
- random = SecureRandom.uuid
7
- SimpleCov.command_name(random)
8
- SimpleCov.coverage_dir("coverage_#{random}")
9
- end
10
-
11
- SimpleCov.start do
12
- enable_coverage(:branch)
13
- SimpleCov.root(File.join(File.dirname(__FILE__), '/lib'))
14
- track_files('**/*.rb')
15
- formatter(SimpleCov::Formatter::SimpleFormatter) if ENV['CI']
16
- end
data/.snyk DELETED
@@ -1,11 +0,0 @@
1
- exclude:
2
- global:
3
- # The project Dockerfile is only used to orchestrate container usage for
4
- # local development with containers that are not to be exposed to the
5
- # outside world. We use vanilla "ruby" images and do not layer on any
6
- # additional software dependencies or configurations ourselves that would
7
- # change the original "ruby" images' security profile. We defer all
8
- # security mitigation for the images to the "ruby" image maintainers (who
9
- # themselves are periodically updating their base Ubuntu layers to mitigate
10
- # issues).
11
- - Dockerfile
data/.yardopts DELETED
@@ -1,27 +0,0 @@
1
- --non-transitive-tag api
2
- --api public
3
- lib/new_relic/agent.rb
4
- lib/new_relic/traced_thread.rb
5
- lib/new_relic/agent/method_tracer.rb
6
- lib/new_relic/agent/distributed_tracing.rb
7
- lib/new_relic/agent/distributed_trace_payload.rb
8
- lib/new_relic/agent/external.rb
9
- lib/new_relic/agent/instrumentation/controller_instrumentation.rb
10
- lib/new_relic/agent/instrumentation/rack.rb
11
- lib/new_relic/agent/instrumentation/metric_frame.rb
12
- lib/new_relic/agent/stats_engine/metric_stats.rb
13
- lib/new_relic/agent/datastores.rb
14
- lib/new_relic/agent/messaging.rb
15
- lib/new_relic/agent/sql_sampler.rb
16
- lib/new_relic/agent/tracer.rb
17
- lib/new_relic/agent/transaction.rb
18
- lib/new_relic/agent/transaction_sampler.rb
19
- lib/new_relic/rack/agent_hooks.rb
20
- lib/new_relic/rack/browser_monitoring.rb
21
- lib/new_relic/rack/error_collector.rb
22
- lib/new_relic/rack.rb
23
- lib/new_relic/agent/transaction/external_request_segment.rb
24
- -
25
- LICENSE
26
- CHANGELOG.md
27
- CONTRIBUTING.md
data/Brewfile DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- brew 'elasticsearch'
4
- brew 'imagemagick'
5
- brew 'memcached'
6
- tap 'mongodb/brew'
7
- brew 'mongodb-community'
8
- brew 'mysql'
9
- brew 'openssl'
10
- brew 'pkg-config'
11
- brew 'postgresql'
12
- brew 'rabbitmq'
13
- brew 'redis'
data/DOCKER.md DELETED
@@ -1,167 +0,0 @@
1
- # Using Docker with the New Relic Ruby Agent
2
-
3
- These instructions will guide you through the process of setting up Docker for
4
- use with developing the New Relic Ruby Agent. The use of Docker containers can
5
- provide for a consistent experience free from machine specific issues.
6
-
7
- ## Quick Start
8
-
9
- ```shell
10
- # unit tests (Ruby only)
11
- $ docker build -t newrelic_rpm .
12
- $ docker run --rm newrelic_rpm
13
-
14
- # or
15
-
16
- # functional tests (MySQL, PostgreSQL, Redis, etc.)
17
- $ docker-compose up
18
- $ docker-compose exec app bundle exec rake test:all
19
- ```
20
-
21
-
22
- ## Install Docker
23
-
24
- You will need to have [Docker Desktop](https://www.docker.com/) installed and
25
- running on your machine.
26
-
27
- If you are using on macOS and using [Homebrew](https://brew.sh/), Docker can be
28
- installed as a cask via:
29
-
30
- ```shell
31
- $ brew install --cask docker
32
- ```
33
-
34
- and then launched via the `/Applications/Docker.app` launcher that is installed.
35
-
36
- For alternatives to using macOS with Homebrew, see Docker's
37
- [Get Started Guide](https://www.docker.com/get-started).
38
-
39
-
40
- ## Clone the project
41
-
42
- Use git to clone the [newrelic/newrelic-ruby-agent](https://github.com/newrelic/newrelic-ruby-agent)
43
- project.
44
-
45
- The [Dockerfile](Dockerfile) and [docker-compose.yml](docker-compose.yml)
46
- files are located in the root of the project, where this `DOCKER.md`
47
- document resides.
48
-
49
-
50
- ## Using just the Dockerfile (unit tests and standalone dev only)
51
-
52
- The project `Dockerfile` can be used by itself to run the project unit tests.
53
- Docker Compose and the project `docker-compose.yml` file will be needed to
54
- run functional tests which involve communicating with data systems such as
55
- PostgreSQL and Redis.
56
-
57
- To run the unit tests using `Dockerfile` by itself, first change
58
- directories to the root of the project, then build an image, and
59
- finally run a container from the image:
60
-
61
- ```shell
62
- $ cd /path/to/project/git/clone
63
- $ docker build -t newrelic_rpm .
64
- $ docker run --rm newrelic_rpm
65
- ```
66
-
67
- The `Dockerfile` specifies a default Ruby version to test with. To override this
68
- version, pass the `ruby_version` build arg like so when building the image:
69
-
70
- ```shell
71
- docker build --build-arg ruby_version=2.7 .
72
- ```
73
-
74
- **Legend:**
75
- * `build -t <TAG>` applies a tag to the image during building.
76
- * `.` indicates "here" and tells Docker that the `Dockerfile` file can be found
77
- in the current directory
78
- * `run --rm` tells Docker to remove the container after the tests complete.
79
- * `--build-arg ruby_version=<RUBY VERSION>` specifies that a given Ruby version should be used (use MAJOR.MINOR or optionally MAJOR.MINOR.PATCH)
80
-
81
-
82
- ## Using Docker Compose (for functional tests and developing with services)
83
-
84
- Docker Compose launches multiple containers simultaneously to support the
85
- running of the functional tests that require a variety of data handling
86
- server applications such as PostgreSQL, Redis, memcached, etc. Each one of
87
- these server applications uses its own container and then there's a Ruby
88
- container (referred to as the "app" container) that runs the Minitest tests
89
- while connecting to the other containers.
90
-
91
- In one shell session, change to the root of the project and then bring up all
92
- containers with Docker Compose:
93
-
94
- ```shell
95
- $ docker-compose up
96
- ```
97
-
98
- By default, `docker-compose` will use the default Ruby version specified in the
99
- `Dockerfile` file. To override this version with a custom desired version, set
100
- the `RUBY_VERSION` environment variable before calling `docker-compose`,
101
- like so:
102
-
103
- ```shell
104
- RUBY_VERSION=3.0 docker-compose up
105
- ```
106
-
107
- In a separate shell session (probably in a separate terminal split, tab, or
108
- window), execute the 'test:all' rake task to test all standard, environment,
109
- and multiverse tests:
110
-
111
- ```shell
112
- $ docker-compose exec app bundle exec rake test:all
113
- ```
114
-
115
- In lieu of running the tests, an interactive Bash shell can be
116
- launched against the running Ruby app container for development and/or
117
- debugging. While the `docker-compose up` shell session is still running,
118
- bring up an additional local shell session and run the following:
119
-
120
- ```shell
121
- $ docker-compose exec app bash
122
- ```
123
-
124
- You will be dropped at a Bash prompt as the "relic" user, with "ruby" and
125
- "bundle" in your PATH.
126
-
127
-
128
- ## Output
129
-
130
- When using Docker Compose, one shell session will produce STDOUT output that
131
- pertains to all of the services (MySQL, MongoDB, etc.) and the other shell
132
- session will produce STDOUT output related to the Ruby based functional tests.
133
- Both streams of output may provide information about any errors or warnings
134
- that take place.
135
-
136
-
137
- ## Cleanup
138
-
139
- If the project `Dockerfile` is being used without Docker Compose, then use
140
- `docker ps` to show information about containers and `docker images`
141
- for information about images. The `docker stop`, `docker kill`, `docker rm`
142
- and `docker rmi` commands can be used with the appropriate container and image
143
- ids. Run `docker --help` or read through the hosted [CLI documentation](https://docs.docker.com/engine/reference/commandline/docker/).
144
-
145
- When Docker Compose is used, invoking `ctrl-c` in the shell session that is
146
- running the `docker-compose up` command should suffice to prompt Docker Compose
147
- to shut down all running containers. Otherwise, `docker-compose down` can be
148
- ran after the `docker-compose up` process has been stopped. All relevant
149
- containers and images can then be optionally discarded using the `docker` CLI
150
- commands described in the previous paragraph.
151
-
152
- Use `docker ps -a` to show a list of all containers. Pass a container id to
153
- `docker rm` (ex: `docker rm 5c15ee2f1c4f`) to remove it.
154
-
155
- Use `docker images` to show a list of all images. Typically, you'll want to
156
- keep these images if you plan on running Docker with them again in the future.
157
- If you are done with them, you can pass an image id to `docker rmi` to remove
158
- an image (ex: `docker rmi 4253856b2570`).
159
-
160
- ## Questions, Feature Requests, Contributions, etc.
161
-
162
- The maintainers of New Relic's Ruby agent project are hopeful that the use of
163
- containers and these instructions can provide consistency and a lowered barrier
164
- of entry when it comes to providing contributions to the agent project itself.
165
-
166
- For questions, feature requests, proposals to support Podman, PRs to improve
167
- behavior or documentation, etc., please see [CONTRIBUTING.md](CONTRIBUTING.md).
data/Dockerfile DELETED
@@ -1,10 +0,0 @@
1
- ARG ruby_version=3.1
2
-
3
- FROM ruby:$ruby_version
4
-
5
- WORKDIR /usr/src/app
6
-
7
- COPY . .
8
- RUN bundle install
9
-
10
- CMD ["bundle", "exec", "rake"]
data/Guardfile DELETED
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require './test/multiverse/lib/multiverse/bundler_patch'
4
-
5
- test_folders = Dir.glob('test/new_relic/*').select { |f| File.directory?(f) }
6
- test_folders += Dir.glob('test/new_relic/**/*').select { |f| File.directory?(f) }
7
-
8
- rake_lib_path = Bundler.with_unbundled_env { `bundle exec gem which rake`.chomp.gsub('lib/rake.rb', 'lib') }
9
- ruby_options = %(-w -I"#{rake_lib_path}" "#{rake_lib_path}/rake/rake_test_loader.rb")
10
-
11
- guard_options = {
12
- spring: "bundle exec ruby #{ruby_options} ",
13
- test_folders: ['test/new_relic'] + test_folders,
14
- all_after_pass: false,
15
- all_on_start: false
16
- }
17
-
18
- guard :minitest, guard_options do
19
- watch(%r{^lib/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
20
- watch(%r{^test/.+_test\.rb$})
21
- watch(%r{^test/rum/.*}) { 'test/new_relic/rack/browser_monitoring_test.rb' }
22
- watch(%r{^test/fixtures/cross_agent_tests/distributed_tracing/(.+).json}) { |m| "test/new_relic/agent/distributed_tracing/#{m[1]}_cross_agent_test.rb" }
23
- watch('test/test_helper.rb') { 'test/new_relic' }
24
- watch('test/agent_helper.rb') { 'test/new_relic' }
25
- watch('lib/new_relic/agent/configuration/default_source.rb') { 'test/new_relic/agent/configuration/orphan_configuration_test.rb' }
26
- watch(%r{^lib/new_relic/agent/transaction/(.+).rb}) { |m| "test/new_relic/agent/distributed_tracing/#{m[1]}_cross_agent_test.rb" }
27
- end
data/config/database.yml DELETED
@@ -1,5 +0,0 @@
1
- # This config is used when setting up a basic rails environment for running the
2
- # unit tests.
3
- test:
4
- database: ':memory:'
5
- adapter: 'sqlite3'
data/config.dot DELETED
@@ -1,278 +0,0 @@
1
- digraph AgentEnabled {
2
- node[color=green]
3
- "[agent_enabled]"
4
- "[monitor_mode]"
5
- "[slow_sql.explain_threshold]"
6
- "[slow_sql.stack_trace_threshold]"
7
- "[slow_sql.explain_enabled]"
8
- "[slow_sql.enabled]"
9
- "[slow_sql.record_sql]"
10
- "[transaction_tracer.limit_segments]"
11
- "[transaction_tracer.stack_trace_threshold]"
12
- "[transaction_tracer.explain_threshold]"
13
- "[transaction_tracer.explain_enabled]"
14
- "[transaction_tracer.transaction_threshold]"
15
- "[transaction_tracer.record_sql]"
16
- "[transaction_tracer.random_sample]"
17
- "[transaction_tracer.enabled]"
18
- "[error_collector.capture_source]"
19
- "[error_collector.enabled]"
20
- "[error_collector.ignore_errors]"
21
- "[error_collector.max_backtrace_frames]"
22
- "[browser_monitoring.auto_instrument]"
23
- "[license_key]"
24
- "[verify_certificate]"
25
- "[api_host]"
26
- "[api_port]"
27
- "[proxy_host]"
28
- "[proxy_port]"
29
- "[proxy_user]"
30
- "[proxy_pass]"
31
- "[host]"
32
- "[port]"
33
- "[timeout]"
34
- "[log_level]"
35
- "[apdex_t]"
36
- "[capture_params]"
37
- "[app_name]"
38
- "[multi_homed]"
39
- "[disable_samplers]"
40
- "[log_file_name]"
41
- "[log_file_path]"
42
- "[dispatcher]"
43
- "[force_send]"
44
- "[textmate]"
45
- "[max_payload_size_in_bytes]"
46
- "[sync_startup]"
47
- "[send_data_on_exit]"
48
- "[high_security]"
49
- "[validate_seed]"
50
- "[validate_token]"
51
- "[disable_backtrace_cleanup]"
52
- "[disable_activerecord_instrumentation]"
53
- "[disable_dj]"
54
- "[capture_memcache_keys]"
55
- "[disable_memcache_instrumentation]"
56
- "[disable_view_instrumentation]"
57
- "[disable_resque]"
58
-
59
- node[shape=box,color=orange]
60
- "Control#init_plugin"
61
- "Control#api_server"
62
- "Control#proxy_server"
63
- "Control#server_from_host"
64
- "Control#http_connection"
65
- "Control#set_log_level!"
66
- "Control#log_path"
67
- "Control#log_to_stdout?"
68
- "Control#convert_to_ip_address"
69
- "Control#server"
70
- "Control#setup_log"
71
- "Control#should_log?"
72
- "Control#log!"
73
-
74
- node[color=green]
75
- "Config#app_names"
76
-
77
- node[color=black]
78
- "Agent#initialize"
79
- "Agent#after_fork"
80
- "Agent#disabled?"
81
- "Agent#shutdown"
82
- "Agent#using_forking_dispatcher?"
83
- "Agent#has_license_key?"
84
- "Agent#correct_license_length"
85
- "Agent#apdex_f"
86
- "Agent#check_config_and_start_agent"
87
- "Agent#install_exit_handler"
88
- "Agent#log_app_names"
89
- "Agent#connect_settings"
90
- "Agent#log_seed_token"
91
- "Agent#log_error"
92
- "Agent#monitoring?"
93
- "Agent#check_transaction_sampler_status"
94
- "Agent#check_sql_sampler_status"
95
- "Agent#config_transaction_tracer"
96
- "Agent#set_sql_recording!"
97
- "Agent#already_started?"
98
- "Agent#log_connection"
99
- "Agent#manual_start"
100
-
101
- "MethodTracer#remove_method_tracer"
102
-
103
- "ErrorCollector#initialize"
104
- "ErrorCollector#request_params_from_opts"
105
-
106
- "ControllerInstrumentation#perform_action_with_newrelic_trace"
107
-
108
- "NewRelicService#initialize"
109
- "NewRelicService#check_post_size"
110
- "NewRelicService#connect"
111
- "NewRelicService#send_request"
112
-
113
- "SqlSampler#configure!"
114
-
115
- "TransactionSampler#configure!"
116
- "TransactionSampler#notice_push_scope"
117
- "TransactionSampler#capture_segment_trace"
118
- "TransactionSampler#store_segment_for_developer_mode"
119
-
120
- "NoticedError#initialize"
121
-
122
- "BeaconConfiguration#license_bytes"
123
-
124
- "ActiveRecord#depends_on"
125
- "DelayedJobInstrumentation#depends_on"
126
- "Memcache#memcache_key_snippet"
127
- "Memcache#depends_on"
128
- "Rails::ActionController#depends_on"
129
- "Rails3::ActionController#depends_on"
130
- "Resque#depends_on"
131
-
132
- "DelayedJobSampler#initialize"
133
- "DelayedJobInjection#depends_on"
134
-
135
- "MetricFrame.update_apdex"
136
-
137
- "TransactionInfo#force_persist_sample?"
138
- "TransactionInfo#include_guid?"
139
-
140
- "TransactionSampleBuilder#initialize"
141
- "TransactionSampleBuilder#set_transaction_info"
142
-
143
- "Rails#install_browser_monitoring"
144
- "Rails#log!"
145
- "Rails3#log!"
146
-
147
- "CollectionHelper#strip_nr_from_backtrace"
148
-
149
- "Deployments#initialize"
150
-
151
- #######
152
-
153
- "Control#init_plugin" -> "[agent_enabled]"
154
- "Control#init_plugin" -> "Control#setup_log"
155
- "Control#init_plugin" -> "[disable_samplers]"
156
- "Control#should_log?" -> "[agent_enabled]"
157
- "Control#api_server" -> "[api_host]"
158
- "Control#api_server" -> "[api_port]"
159
- "Control#proxy_server" -> "[proxy_host]"
160
- "Control#proxy_server" -> "[proxy_port]"
161
- "Control#proxy_server" -> "[proxy_user]"
162
- "Control#proxy_server" -> "[proxy_pass]"
163
- "Control#server_from_host" -> "[host]"
164
- "Control#server_from_host" -> "[port]"
165
- "Control#server_from_host" -> "Control#convert_to_ip_address"
166
- "Control#http_connection" -> "[verify_certificate]"
167
- "Control#http_connection" -> "Control#proxy_server"
168
- "Control#set_log_level!" -> "[log_level]"
169
- "Control#log_path" -> "[log_file_path]"
170
- "Control#log_path" -> "Control#log_to_stdout?"
171
- "Control#log_to_stdout?" -> "[log_file_path]"
172
- "Control#convert_to_ip_address" -> "[verify_certificate]"
173
- "Control#server" -> "Control#server_from_host"
174
- "Control#setup_log" -> "Control#set_log_level!"
175
- "Control#setup_log" -> "Control#log_path"
176
- "Control#setup_log" -> "Control#log_to_stdout?"
177
- "Control#setup_log" -> "[log_file_name]"
178
- "Control#log!" -> "Control#should_log?"
179
- "Control#log!" -> "Control#log_path"
180
-
181
- "Agent#initialize" -> "[monitor_mode]"
182
- "Agent#after_fork" -> "[agent_enabled]"
183
- "Agent#after_fork" -> "[monitor_mode]"
184
- "Agent#disabled?" -> "[agent_enabled]"
185
- "Agent#shutdown" -> "[force_send]"
186
- "Agent#shutdown" -> "[dispatcher]"
187
- "Agent#using_forking_dispatcher?" -> "[dispatcher]"
188
- "Agent#has_license_key?" -> "[license_key]"
189
- "Agent#correct_license_length" -> "[license_key]"
190
- "Agent#apdex_f" -> "[apdex_t]"
191
- "Agent#check_config_and_start_agent" -> "[sync_startup]"
192
- "Agent#install_exit_handler" -> "[send_data_on_exit]"
193
- "Agent#log_app_names" -> "Config#app_names"
194
- "Agent#connect_settings" -> "Config#app_names"
195
- "Agent#log_seed_token" -> "[validate_seed]"
196
- "Agent#log_seed_token" -> "[validate_token]"
197
- "Agent#validate_settings" -> "[validate_seed]"
198
- "Agent#validate_settings" -> "[validate_token]"
199
- "Agent#log_error" -> "Control#server"
200
- "Agent#monitoring?" -> "[monitor_mode]"
201
- "Agent#check_sql_sampler_status" -> "[slow_sql.enabled]"
202
- "Agent#check_sql_sampler_status" -> "[slow_sql.record_sql]"
203
- "Agent#check_sql_sampler_status" -> "[transaction_tracer.enabled]"
204
- "Agent#config_transaction_tracer" -> "[transaction_tracer.enabled]"
205
- "Agent#config_transaction_tracer" -> "[transaction_tracer.random_sample]"
206
- "Agent#config_transaction_tracer" -> "[transaction_tracer.transaction_threshold]"
207
- "Agent#set_sql_recording!" -> "[transaction_tracer.record_sql]"
208
- "Agent#already_started?" -> "Control#log!"
209
- "Agent#log_connection" -> "Control#log!"
210
- "Agent#manual_start" -> "Control#init_plugin"
211
-
212
- "MethodTracer#remove_method_tracer" -> "[agent_enabled]"
213
-
214
- "Rails#init_config" -> "[agent_enabled]"
215
-
216
- "ErrorCollector#initialize" -> "[error_collector.enabled]"
217
- "ErrorCollector#initialize" -> "[error_collector.capture_source]"
218
- "ErrorCollector#initialize" -> "[error_collector.ignore_errors]"
219
- "ErrorCollector#request_params_from_opts" -> "[capture_params]"
220
-
221
- "NewRelicService#initialize" -> "[timeout]"
222
- "NewRelicService#initialize" -> "[license_key]"
223
- "NewRelicService#initialize" -> "Control#server"
224
- "NewRelicService#check_post_size" -> "[max_payload_size_in_bytes]"
225
- "NewRelicService#connect" -> "Control#server_from_host"
226
- "NewRelicService#send_request" -> "Control#http_connection"
227
-
228
- "SqlSampler#configure!" -> "[slow_sql.explain_threshold]"
229
- "SqlSampler#configure!" -> "[slow_sql.explain_enabled]"
230
- "SqlSampler#configure!" -> "[slow_sql.stack_trace_threshold]"
231
- "SqlSampler#configure!" -> "[slow_sql.enabled]"
232
-
233
- "TransactionSampler#configure!" -> "[transaction_tracer.limit_segments]"
234
- "TransactionSampler#configure!" -> "[transaction_tracer.stack_trace_threshold]"
235
- "TransactionSampler#configure!" -> "[transaction_tracer.explain_threshold]"
236
- "TransactionSampler#configure!" -> "[transaction_tracer.explain_enabled]"
237
- "TransactionSampler#configure!" -> "[transaction_tracer.transaction_threshold]"
238
-
239
- "NoticedError#initialize" -> "[high_security]"
240
-
241
- "BeaconConfiguration#license_bytes" -> "[license_key]"
242
-
243
- "ActiveRecord#depends_on" -> "[disable_activerecord_instrumentation]"
244
-
245
- "DelayedJobInstrumentation#depends_on" -> "[disable_dj]"
246
-
247
- "Memcache#memcache_key_snippet" -> "[capture_memcache_keys]"
248
- "Memcache#depends_on" -> "[disable_memcache_instrumentation]"
249
-
250
- "Rails::ActionController#depends_on" -> "[disable_view_instrumentation]"
251
- "Rails3::ActionController#depends_on" -> "[disable_view_instrumentation]"
252
- "Resque#depends_on" -> "[disable_resque]"
253
-
254
- "DelayedJobSampler#initialize" -> "[disable_dj]"
255
- "DelayedJobInjection#depends_on" -> "[disable_dj]"
256
- "DelayedJobInjection#executes" -> "Control#init_plugin"
257
-
258
- "MetricFrame.update_apdex" -> "[apdex_t]"
259
-
260
- "TransactionInfo#force_persist_sample?" -> "[apdex_t]"
261
- "TransactionInfo#include_guid?" -> "[apdex_t]"
262
-
263
- "TransactionSampleBuilder#initialize" -> "[transaction_tracer.limit_segments]"
264
- "TransactionSampleBuilder#set_transaction_info" -> "[capture_params]"
265
-
266
- "Rails#install_browser_monitoring" -> "[browser_monitoring.auto_instrument]"
267
- "Rails#log!" -> "Control#should_log?"
268
- "Rails3#log!" -> "Control#should_log?"
269
-
270
- "CollectionHelper#strip_nr_from_backtrace" -> "[disable_backtrace_cleanup]"
271
-
272
- "Deployments#initialize" -> "Config#app_names"
273
- "Deployments#run" -> "Control#http_connection"
274
- "Deployments#run" -> "[license_key]"
275
- "Deployments#run" -> "Control#api_server"
276
-
277
- "Config#app_names" -> "[app_name]"
278
- }