appoptics_apm_mnfst 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.dockerignore +5 -0
  3. data/.github/ISSUE_TEMPLATE/bug-or-feature-request.md +16 -0
  4. data/.gitignore +29 -0
  5. data/.rubocop.yml +8 -0
  6. data/.travis.yml +121 -0
  7. data/.yardopts +4 -0
  8. data/CHANGELOG.md +769 -0
  9. data/CONFIG.md +33 -0
  10. data/Gemfile +29 -0
  11. data/LICENSE +193 -0
  12. data/README.md +393 -0
  13. data/Rakefile +230 -0
  14. data/appoptics_apm.gemspec +61 -0
  15. data/bin/appoptics_apm_config +15 -0
  16. data/build_gem.sh +15 -0
  17. data/build_gem_upload_to_packagecloud.sh +20 -0
  18. data/examples/SDK/01_basic_tracing.rb +67 -0
  19. data/examples/carrying_context.rb +220 -0
  20. data/ext/oboe_metal/extconf.rb +114 -0
  21. data/ext/oboe_metal/lib/.keep +0 -0
  22. data/ext/oboe_metal/noop/noop.c +7 -0
  23. data/ext/oboe_metal/src/VERSION +1 -0
  24. data/init.rb +4 -0
  25. data/lib/appoptics_apm.rb +76 -0
  26. data/lib/appoptics_apm/api.rb +20 -0
  27. data/lib/appoptics_apm/api/layerinit.rb +41 -0
  28. data/lib/appoptics_apm/api/logging.rb +375 -0
  29. data/lib/appoptics_apm/api/memcache.rb +37 -0
  30. data/lib/appoptics_apm/api/metrics.rb +55 -0
  31. data/lib/appoptics_apm/api/profiling.rb +203 -0
  32. data/lib/appoptics_apm/api/tracing.rb +53 -0
  33. data/lib/appoptics_apm/api/util.rb +122 -0
  34. data/lib/appoptics_apm/base.rb +230 -0
  35. data/lib/appoptics_apm/config.rb +254 -0
  36. data/lib/appoptics_apm/frameworks/grape.rb +97 -0
  37. data/lib/appoptics_apm/frameworks/padrino.rb +108 -0
  38. data/lib/appoptics_apm/frameworks/rails.rb +94 -0
  39. data/lib/appoptics_apm/frameworks/rails/inst/action_controller.rb +104 -0
  40. data/lib/appoptics_apm/frameworks/rails/inst/action_controller3.rb +55 -0
  41. data/lib/appoptics_apm/frameworks/rails/inst/action_controller4.rb +48 -0
  42. data/lib/appoptics_apm/frameworks/rails/inst/action_controller5.rb +50 -0
  43. data/lib/appoptics_apm/frameworks/rails/inst/action_controller_api.rb +50 -0
  44. data/lib/appoptics_apm/frameworks/rails/inst/action_view.rb +58 -0
  45. data/lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb +50 -0
  46. data/lib/appoptics_apm/frameworks/rails/inst/active_record.rb +27 -0
  47. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
  48. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql2.rb +29 -0
  49. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/postgresql.rb +31 -0
  50. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils.rb +119 -0
  51. data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb +108 -0
  52. data/lib/appoptics_apm/frameworks/sinatra.rb +125 -0
  53. data/lib/appoptics_apm/inst/bunny-client.rb +148 -0
  54. data/lib/appoptics_apm/inst/bunny-consumer.rb +89 -0
  55. data/lib/appoptics_apm/inst/curb.rb +330 -0
  56. data/lib/appoptics_apm/inst/dalli.rb +85 -0
  57. data/lib/appoptics_apm/inst/delayed_job.rb +92 -0
  58. data/lib/appoptics_apm/inst/em-http-request.rb +101 -0
  59. data/lib/appoptics_apm/inst/excon.rb +125 -0
  60. data/lib/appoptics_apm/inst/faraday.rb +94 -0
  61. data/lib/appoptics_apm/inst/grpc_client.rb +162 -0
  62. data/lib/appoptics_apm/inst/grpc_server.rb +120 -0
  63. data/lib/appoptics_apm/inst/http.rb +73 -0
  64. data/lib/appoptics_apm/inst/httpclient.rb +174 -0
  65. data/lib/appoptics_apm/inst/memcached.rb +86 -0
  66. data/lib/appoptics_apm/inst/mongo.rb +246 -0
  67. data/lib/appoptics_apm/inst/mongo2.rb +225 -0
  68. data/lib/appoptics_apm/inst/moped.rb +466 -0
  69. data/lib/appoptics_apm/inst/rack.rb +199 -0
  70. data/lib/appoptics_apm/inst/redis.rb +275 -0
  71. data/lib/appoptics_apm/inst/resque.rb +151 -0
  72. data/lib/appoptics_apm/inst/rest-client.rb +48 -0
  73. data/lib/appoptics_apm/inst/sequel.rb +178 -0
  74. data/lib/appoptics_apm/inst/sidekiq-client.rb +55 -0
  75. data/lib/appoptics_apm/inst/sidekiq-worker.rb +65 -0
  76. data/lib/appoptics_apm/inst/twitter-cassandra.rb +294 -0
  77. data/lib/appoptics_apm/inst/typhoeus.rb +108 -0
  78. data/lib/appoptics_apm/instrumentation.rb +22 -0
  79. data/lib/appoptics_apm/legacy_method_profiling.rb +90 -0
  80. data/lib/appoptics_apm/loading.rb +65 -0
  81. data/lib/appoptics_apm/logger.rb +42 -0
  82. data/lib/appoptics_apm/method_profiling.rb +33 -0
  83. data/lib/appoptics_apm/noop/README.md +9 -0
  84. data/lib/appoptics_apm/noop/context.rb +26 -0
  85. data/lib/appoptics_apm/noop/metadata.rb +22 -0
  86. data/lib/appoptics_apm/ruby.rb +35 -0
  87. data/lib/appoptics_apm/sdk/custom_metrics.rb +92 -0
  88. data/lib/appoptics_apm/sdk/tracing.rb +315 -0
  89. data/lib/appoptics_apm/support.rb +119 -0
  90. data/lib/appoptics_apm/test.rb +94 -0
  91. data/lib/appoptics_apm/thread_local.rb +26 -0
  92. data/lib/appoptics_apm/util.rb +319 -0
  93. data/lib/appoptics_apm/version.rb +15 -0
  94. data/lib/appoptics_apm/xtrace.rb +103 -0
  95. data/lib/joboe_metal.rb +212 -0
  96. data/lib/oboe.rb +7 -0
  97. data/lib/oboe/README +2 -0
  98. data/lib/oboe/backward_compatibility.rb +80 -0
  99. data/lib/oboe/inst/rack.rb +11 -0
  100. data/lib/oboe_metal.rb +198 -0
  101. data/lib/rails/generators/appoptics_apm/install_generator.rb +45 -0
  102. data/lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb +265 -0
  103. data/yardoc_frontpage.md +26 -0
  104. metadata +266 -0
@@ -0,0 +1,45 @@
1
+ # Copyright (c) 2016 SolarWinds, LLC.
2
+ # All rights reserved.
3
+
4
+ module AppOpticsAPM
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ source_root File.join(File.dirname(__FILE__), 'templates')
7
+ desc "Copies a AppOpticsAPM gem initializer file to your application."
8
+
9
+ @namespace = "appoptics_apm:install"
10
+
11
+ def copy_initializer
12
+ # Set defaults
13
+ @verbose = 'false'
14
+
15
+ print_header
16
+ print_footer
17
+
18
+ template "appoptics_apm_initializer.rb", "config/initializers/appoptics_apm.rb"
19
+ end
20
+
21
+ private
22
+
23
+ def print_header
24
+ say ""
25
+ say shell.set_color "Welcome to the AppOpticsAPM Ruby instrumentation setup.", :green, :bold
26
+ say ""
27
+ say shell.set_color "Documentation Links", :magenta
28
+ say "-------------------"
29
+ say ""
30
+ say "AppOpticsAPM Installation Overview:"
31
+ say "http://docs.appoptics.solarwinds.com/AppOpticsAPM/install-instrumentation.html"
32
+ say ""
33
+ say "More information on instrumenting Ruby applications can be found here:"
34
+ say "http://docs.appoptics.solarwinds.com/Instrumentation/ruby.html#installing-ruby-instrumentation"
35
+ end
36
+
37
+ def print_footer
38
+ say ""
39
+ say "You can change configuration values in the future by modifying config/initializers/appoptics_apm.rb"
40
+ say ""
41
+ say "Thanks! Creating the AppOpticsAPM initializer..."
42
+ say ""
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,265 @@
1
+ # AppOpticsAPM Initializer (for the appoptics_apm gem)
2
+ # https://www.appoptics.com/
3
+ #
4
+ # More information on instrumenting Ruby applications can be found here:
5
+ # https://docs.appoptics.com/kb/apm_tracing/ruby/
6
+ #
7
+ # The settings in this template file represent the defaults
8
+
9
+ if defined?(AppOpticsAPM::Config)
10
+
11
+ # :service_key, :hostname_alias, and :debug_level are startup settings and can't be changed afterwards.
12
+ #
13
+ # Set APPOPTICS_SERVICE_KEY
14
+ # This Setting will be overridden if APPOPTICS_SERVICE_KEY is set as an environment variable.
15
+ # This is a required setting. If the service key is not set here it needs to be set as environment variable.
16
+ #
17
+ # The service key is a combination of the API token plus a service name.
18
+ # E.g.: 0123456789abcde0123456789abcde0123456789abcde0123456789abcde1234:my_service
19
+ #
20
+ # AppOpticsAPM::Config[:service_key] = '0123456789abcde0123456789abcde0123456789abcde0123456789abcde1234:my_service'
21
+
22
+ #
23
+ # Set APPOPTICS_HOSTNAME_ALIAS
24
+ # This Setting will be overridden if APPOPTICS_HOSTNAME_ALIAS is set as an environment variable
25
+ #
26
+ # AppOpticsAPM::Config[:hostname_alias] = 'alias_name'
27
+
28
+ #
29
+ # Set APPOPTICS_DEBUG_LEVEL
30
+ # This setting will be overridden if APPOPTICS_DEBUG_LEVEL is set as an environment variable.
31
+ #
32
+ # It sets the log level and takes the following values:
33
+ # -1 disabled, 0 fatal, 1 error, 2 warning, 3 info (the default), 4 debug low, 5 debug medium, 6 debug high.
34
+ # Values out of range (< -1 or > 6) are ignored and the log level is set to the default (info).
35
+ #
36
+ AppOpticsAPM::Config[:debug_level] = 3
37
+ #
38
+ # :debug_level will be used in the c-extension of the gem and also mapped to the
39
+ # Ruby logger as DISABLED, FATAL, ERROR, WARN, INFO, or DEBUG
40
+ # The Ruby logger can afterwards be changed to a different level, e.g:
41
+ # AppOpticsAPM.logger.level = Logger::INFO
42
+
43
+ #
44
+ # Set APPOPTICS_GEM_VERBOSE
45
+ # This Setting will be overridden if APPOPTICS_GEM_VERBOSE is set as an environment variable
46
+ #
47
+ # On startup the components that are being instrumented will be reported if this is set to true.
48
+ # If true and the log level is 4 or higher this may create extra debug log messages
49
+ #
50
+ AppOpticsAPM::Config[:verbose] = false
51
+
52
+ #
53
+ # Turn tracing on or off
54
+ #
55
+ # By default tracing is set to 'always', the other option is 'never'.
56
+ # 'always' means that sampling will be done according to the current
57
+ # sampling rate. 'never' means that there is no sampling.
58
+ #
59
+ AppOpticsAPM::Config[:tracing_mode] = :always
60
+
61
+ #
62
+ # Prepend domain to transaction name
63
+ #
64
+ # If this is set to `true` transaction names will be composed as `my.host.com/controller.action` instead of
65
+ # `controller.action`. This configuration applies to all transaction names, whether deducted by the instrumentation
66
+ # or implicitly set.
67
+ #
68
+ AppOpticsAPM::Config[:transaction_name][:prepend_domain] = false
69
+
70
+ #
71
+ # Sanitize SQL Statements
72
+ #
73
+ # The AppOpticsAPM Ruby client has the ability to sanitize query literals
74
+ # from SQL statements. By default this is enabled. Disable to
75
+ # collect and report query literals to AppOpticsAPM.
76
+ #
77
+ AppOpticsAPM::Config[:sanitize_sql] = true
78
+ AppOpticsAPM::Config[:sanitize_sql_regexp] = '(\'[^\']*\'|\d*\.\d+|\d+|NULL)'
79
+ AppOpticsAPM::Config[:sanitize_sql_opts] = Regexp::IGNORECASE
80
+
81
+ #
82
+ # Do Not Trace - DNT
83
+ # 'dnt_regexp' and 'dnt_opts' allow you to configure specific URL patterns
84
+ # to never be traced. By default, this is set to common static file
85
+ # extensions but you may want to customize this list for your needs.
86
+ # Examples of such files may be images, javascript, pdfs, and text files.
87
+ #
88
+ # 'dnt_regexp' and 'dnt_opts' is passed to Regexp.new to create
89
+ # a regular expression object. That is then used to match against
90
+ # the incoming request path.
91
+ #
92
+ # The path string originates from the rack layer and is retrieved
93
+ # as follows:
94
+ #
95
+ # req = ::Rack::Request.new(env)
96
+ # path = URI.unescape(req.path)
97
+ #
98
+ # Usage:
99
+ # AppOpticsAPM::Config[:dnt_regexp] = "lobster$"
100
+ # AppOpticsAPM::Config[:dnt_opts] = Regexp::IGNORECASE
101
+ #
102
+ # This will ignore all requests that end with the string lobster
103
+ # regardless of case
104
+ #
105
+ # Requests with positive matches (non nil) will not be traced.
106
+ # See lib/appoptics_apm/util.rb: AppOpticsAPM::Util.static_asset?
107
+ #
108
+ AppOpticsAPM::Config[:dnt_regexp] = '\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|otf|eot|ttf|woff|woff2|svg|less)(\?.+){0,1}$'
109
+ AppOpticsAPM::Config[:dnt_opts] = Regexp::IGNORECASE
110
+
111
+ #
112
+ # Blacklist urls
113
+ #
114
+ # This configuration is used by outbound calls. If the call
115
+ # goes to a blacklisted url then we won't add any
116
+ # tracing information to the headers.
117
+ #
118
+ # The list has to an array of strings, even if only one url is blacklisted
119
+ #
120
+ # Example: AppOpticsAPM::Config[:blacklist] = ['google.com']
121
+ #
122
+ AppOpticsAPM::Config[:blacklist] = []
123
+ #
124
+
125
+ #
126
+ # Rails Exception Logging
127
+ #
128
+ # In Rails, raised exceptions with rescue handlers via
129
+ # <tt>rescue_from</tt> are not reported to the AppOptics
130
+ # dashboard by default. Setting this value to true will
131
+ # report all raised exceptions regardless.
132
+ #
133
+ AppOpticsAPM::Config[:report_rescued_errors] = false
134
+ #
135
+
136
+ #
137
+ # Bunny Controller and Action
138
+ #
139
+ # The bunny (Rabbitmq) instrumentation can optionally report
140
+ # Controller and Action values to allow filtering of bunny
141
+ # message handling in # the UI. Use of Controller and Action
142
+ # for filters is temporary until the UI is updated with
143
+ # additional filters.
144
+ #
145
+ # These values identify which properties of
146
+ # Bunny::MessageProperties to report as Controller
147
+ # and Action. The defaults are to report :app_id (as
148
+ # Controller) and :type (as Action). If these values
149
+ # are not specified in the publish, then nothing
150
+ # will be reported here.
151
+ #
152
+ AppOpticsAPM::Config[:bunnyconsumer][:controller] = :app_id
153
+ AppOpticsAPM::Config[:bunnyconsumer][:action] = :type
154
+ #
155
+
156
+ #
157
+ # Enabling/Disabling Instrumentation
158
+ #
159
+ # If you're having trouble with one of the instrumentation libraries, they
160
+ # can be individually disabled here by setting the :enabled
161
+ # value to false.
162
+ #
163
+ # :enabled settings are read on startup and can't be changed afterwards
164
+ #
165
+ AppOpticsAPM::Config[:action_controller][:enabled] = true
166
+ AppOpticsAPM::Config[:action_controller_api][:enabled] = true
167
+ AppOpticsAPM::Config[:action_view][:enabled] = true
168
+ AppOpticsAPM::Config[:active_record][:enabled] = true
169
+ AppOpticsAPM::Config[:bunnyclient][:enabled] = true
170
+ AppOpticsAPM::Config[:bunnyconsumer][:enabled] = true
171
+ AppOpticsAPM::Config[:cassandra][:enabled] = true
172
+ AppOpticsAPM::Config[:curb][:enabled] = true
173
+ AppOpticsAPM::Config[:dalli][:enabled] = true
174
+ AppOpticsAPM::Config[:delayed_jobclient][:enabled] = true
175
+ AppOpticsAPM::Config[:delayed_jobworker][:enabled] = true
176
+ AppOpticsAPM::Config[:em_http_request][:enabled] = false
177
+ AppOpticsAPM::Config[:excon][:enabled] = true
178
+ AppOpticsAPM::Config[:faraday][:enabled] = true
179
+ AppOpticsAPM::Config[:grpc_client][:enabled] = true
180
+ AppOpticsAPM::Config[:grpc_server][:enabled] = true
181
+ AppOpticsAPM::Config[:grape][:enabled] = true
182
+ AppOpticsAPM::Config[:httpclient][:enabled] = true
183
+ AppOpticsAPM::Config[:memcached][:enabled] = true
184
+ AppOpticsAPM::Config[:mongo][:enabled] = true
185
+ AppOpticsAPM::Config[:moped][:enabled] = true
186
+ AppOpticsAPM::Config[:nethttp][:enabled] = true
187
+ AppOpticsAPM::Config[:padrino][:enabled] = true
188
+ AppOpticsAPM::Config[:rack][:enabled] = true
189
+ AppOpticsAPM::Config[:redis][:enabled] = true
190
+ AppOpticsAPM::Config[:resqueclient][:enabled] = true
191
+ AppOpticsAPM::Config[:resqueworker][:enabled] = true
192
+ AppOpticsAPM::Config[:rest_client][:enabled] = true
193
+ AppOpticsAPM::Config[:sequel][:enabled] = true
194
+ AppOpticsAPM::Config[:sidekiqclient][:enabled] = true
195
+ AppOpticsAPM::Config[:sidekiqworker][:enabled] = true
196
+ AppOpticsAPM::Config[:sinatra][:enabled] = true
197
+ AppOpticsAPM::Config[:typhoeus][:enabled] = true
198
+ #
199
+
200
+ #
201
+ # Argument logging
202
+ #
203
+ #
204
+ # For http requests:
205
+ # By default the query string parameters are included in the URLs reported.
206
+ # Set :log_args to false and instrumentation will stop collecting
207
+ # and reporting query arguments from URLs.
208
+ #
209
+ AppOpticsAPM::Config[:bunnyconsumer][:log_args] = true
210
+ AppOpticsAPM::Config[:curb][:log_args] = true
211
+ AppOpticsAPM::Config[:excon][:log_args] = true
212
+ AppOpticsAPM::Config[:httpclient][:log_args] = true
213
+ AppOpticsAPM::Config[:mongo][:log_args] = true
214
+ AppOpticsAPM::Config[:nethttp][:log_args] = true
215
+ AppOpticsAPM::Config[:rack][:log_args] = true
216
+ AppOpticsAPM::Config[:resqueclient][:log_args] = true
217
+ AppOpticsAPM::Config[:resqueworker][:log_args] = true
218
+ AppOpticsAPM::Config[:sidekiqclient][:log_args] = true
219
+ AppOpticsAPM::Config[:sidekiqworker][:log_args] = true
220
+ AppOpticsAPM::Config[:typhoeus][:log_args] = true
221
+ #
222
+
223
+ #
224
+ # Enabling/Disabling Backtrace Collection
225
+ #
226
+ # Instrumentation can optionally collect backtraces as they collect
227
+ # performance metrics. Note that this has a negative impact on
228
+ # performance but can be useful when trying to locate the source of
229
+ # a certain call or operation.
230
+ #
231
+ AppOpticsAPM::Config[:action_controller][:collect_backtraces] = true
232
+ AppOpticsAPM::Config[:action_controller_api][:collect_backtraces] = true
233
+ AppOpticsAPM::Config[:action_view][:collect_backtraces] = true
234
+ AppOpticsAPM::Config[:active_record][:collect_backtraces] = true
235
+ AppOpticsAPM::Config[:bunnyclient][:collect_backtraces] = false
236
+ AppOpticsAPM::Config[:bunnyconsumer][:collect_backtraces] = false
237
+ AppOpticsAPM::Config[:cassandra][:collect_backtraces] = true
238
+ AppOpticsAPM::Config[:curb][:collect_backtraces] = true
239
+ AppOpticsAPM::Config[:dalli][:collect_backtraces] = false
240
+ AppOpticsAPM::Config[:delayed_jobclient][:collect_backtraces] = false
241
+ AppOpticsAPM::Config[:delayed_jobworker][:collect_backtraces] = false
242
+ AppOpticsAPM::Config[:em_http_request][:collect_backtraces] = true
243
+ AppOpticsAPM::Config[:excon][:collect_backtraces] = true
244
+ AppOpticsAPM::Config[:faraday][:collect_backtraces] = false
245
+ AppOpticsAPM::Config[:grape][:collect_backtraces] = true
246
+ AppOpticsAPM::Config[:grpc_client][:collect_backtraces] = false
247
+ AppOpticsAPM::Config[:grpc_server][:collect_backtraces] = false
248
+ AppOpticsAPM::Config[:httpclient][:collect_backtraces] = true
249
+ AppOpticsAPM::Config[:memcached][:collect_backtraces] = false
250
+ AppOpticsAPM::Config[:mongo][:collect_backtraces] = true
251
+ AppOpticsAPM::Config[:moped][:collect_backtraces] = true
252
+ AppOpticsAPM::Config[:nethttp][:collect_backtraces] = true
253
+ AppOpticsAPM::Config[:padrino][:collect_backtraces] = true
254
+ AppOpticsAPM::Config[:rack][:collect_backtraces] = true
255
+ AppOpticsAPM::Config[:redis][:collect_backtraces] = false
256
+ AppOpticsAPM::Config[:resqueclient][:collect_backtraces] = true
257
+ AppOpticsAPM::Config[:resqueworker][:collect_backtraces] = true
258
+ AppOpticsAPM::Config[:rest_client][:collect_backtraces] = true
259
+ AppOpticsAPM::Config[:sequel][:collect_backtraces] = true
260
+ AppOpticsAPM::Config[:sidekiqclient][:collect_backtraces] = false
261
+ AppOpticsAPM::Config[:sidekiqworker][:collect_backtraces] = false
262
+ AppOpticsAPM::Config[:sinatra][:collect_backtraces] = true
263
+ AppOpticsAPM::Config[:typhoeus][:collect_backtraces] = false
264
+
265
+ end
@@ -0,0 +1,26 @@
1
+ # Welcome to the AppOpticsAPM Ruby Gem
2
+
3
+
4
+ The appoptics_apm gem provides automatic tracing and metrics for Ruby applications.
5
+ It requires an AppOptics account: sign up for a free trial at https://www.appoptics.com.
6
+
7
+ ![ruby_trace](https://docs.appoptics.com/_images/ruby_trace.png)
8
+
9
+ ## Documentation
10
+ https://docs.appoptics.com/kb/apm_tracing/ruby
11
+
12
+ ## Getting started
13
+ The gem instruments the ruby language and ruby on rails frameworks. It is hosted on RubyGems, making installation as
14
+ simple as: `gem install appoptics_apm`.
15
+
16
+ Our ruby extension gets detailed insights out-of-the-box without any code modification.
17
+ For a list of instrumented gems and components see https://docs.appoptics.com/kb/apm_tracing/ruby/support-matrix
18
+
19
+ Detailled installation instructions for Ruby and different frameworks like Rails, Sinatra, Padrino, and Grape can be
20
+ found here https://docs.appoptics.com/kb/apm_tracing/ruby/install
21
+
22
+ ## Custom instrumentation
23
+ If you have code or a library that is not on the platform support list, use our SDK (as documented here) to customize.
24
+
25
+
26
+
metadata ADDED
@@ -0,0 +1,266 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: appoptics_apm_mnfst
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.5.2
5
+ platform: ruby
6
+ authors:
7
+ - Maia Engeli
8
+ - Peter Giacomo Lombardo
9
+ - Spiros Eliopoulos
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2019-03-14 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: json
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: no_proxy_fix
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 0.1.2
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: 0.1.2
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.2
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 0.1.2
49
+ - !ruby/object:Gem::Dependency
50
+ name: rake
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.9.0
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.9.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: byebug
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 8.0.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 8.0.0
77
+ - !ruby/object:Gem::Dependency
78
+ name: pry
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 0.10.0
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.10.0
91
+ - !ruby/object:Gem::Dependency
92
+ name: pry-byebug
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 3.0.0
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 3.0.0
105
+ - !ruby/object:Gem::Dependency
106
+ name: minitest-hooks
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 1.5.0
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 1.5.0
119
+ description: 'Automatic tracing and metrics for Ruby applications. Get started at
120
+ appoptics.com. @AppOptics
121
+
122
+ '
123
+ email: support@appoptics.com
124
+ executables:
125
+ - appoptics_apm_config
126
+ extensions:
127
+ - ext/oboe_metal/extconf.rb
128
+ extra_rdoc_files:
129
+ - LICENSE
130
+ files:
131
+ - ".dockerignore"
132
+ - ".github/ISSUE_TEMPLATE/bug-or-feature-request.md"
133
+ - ".gitignore"
134
+ - ".rubocop.yml"
135
+ - ".travis.yml"
136
+ - ".yardopts"
137
+ - CHANGELOG.md
138
+ - CONFIG.md
139
+ - Gemfile
140
+ - LICENSE
141
+ - README.md
142
+ - Rakefile
143
+ - appoptics_apm.gemspec
144
+ - bin/appoptics_apm_config
145
+ - build_gem.sh
146
+ - build_gem_upload_to_packagecloud.sh
147
+ - examples/SDK/01_basic_tracing.rb
148
+ - examples/carrying_context.rb
149
+ - ext/oboe_metal/extconf.rb
150
+ - ext/oboe_metal/lib/.keep
151
+ - ext/oboe_metal/noop/noop.c
152
+ - ext/oboe_metal/src/VERSION
153
+ - ext/oboe_metal/src/bson/bson.h
154
+ - ext/oboe_metal/src/bson/platform_hacks.h
155
+ - ext/oboe_metal/src/oboe.h
156
+ - ext/oboe_metal/src/oboe.hpp
157
+ - ext/oboe_metal/src/oboe_debug.h
158
+ - ext/oboe_metal/src/oboe_wrap.cxx
159
+ - init.rb
160
+ - lib/appoptics_apm.rb
161
+ - lib/appoptics_apm/api.rb
162
+ - lib/appoptics_apm/api/layerinit.rb
163
+ - lib/appoptics_apm/api/logging.rb
164
+ - lib/appoptics_apm/api/memcache.rb
165
+ - lib/appoptics_apm/api/metrics.rb
166
+ - lib/appoptics_apm/api/profiling.rb
167
+ - lib/appoptics_apm/api/tracing.rb
168
+ - lib/appoptics_apm/api/util.rb
169
+ - lib/appoptics_apm/base.rb
170
+ - lib/appoptics_apm/config.rb
171
+ - lib/appoptics_apm/frameworks/grape.rb
172
+ - lib/appoptics_apm/frameworks/padrino.rb
173
+ - lib/appoptics_apm/frameworks/rails.rb
174
+ - lib/appoptics_apm/frameworks/rails/inst/action_controller.rb
175
+ - lib/appoptics_apm/frameworks/rails/inst/action_controller3.rb
176
+ - lib/appoptics_apm/frameworks/rails/inst/action_controller4.rb
177
+ - lib/appoptics_apm/frameworks/rails/inst/action_controller5.rb
178
+ - lib/appoptics_apm/frameworks/rails/inst/action_controller_api.rb
179
+ - lib/appoptics_apm/frameworks/rails/inst/action_view.rb
180
+ - lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb
181
+ - lib/appoptics_apm/frameworks/rails/inst/active_record.rb
182
+ - lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql.rb
183
+ - lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql2.rb
184
+ - lib/appoptics_apm/frameworks/rails/inst/connection_adapters/postgresql.rb
185
+ - lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils.rb
186
+ - lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb
187
+ - lib/appoptics_apm/frameworks/sinatra.rb
188
+ - lib/appoptics_apm/inst/bunny-client.rb
189
+ - lib/appoptics_apm/inst/bunny-consumer.rb
190
+ - lib/appoptics_apm/inst/curb.rb
191
+ - lib/appoptics_apm/inst/dalli.rb
192
+ - lib/appoptics_apm/inst/delayed_job.rb
193
+ - lib/appoptics_apm/inst/em-http-request.rb
194
+ - lib/appoptics_apm/inst/excon.rb
195
+ - lib/appoptics_apm/inst/faraday.rb
196
+ - lib/appoptics_apm/inst/grpc_client.rb
197
+ - lib/appoptics_apm/inst/grpc_server.rb
198
+ - lib/appoptics_apm/inst/http.rb
199
+ - lib/appoptics_apm/inst/httpclient.rb
200
+ - lib/appoptics_apm/inst/memcached.rb
201
+ - lib/appoptics_apm/inst/mongo.rb
202
+ - lib/appoptics_apm/inst/mongo2.rb
203
+ - lib/appoptics_apm/inst/moped.rb
204
+ - lib/appoptics_apm/inst/rack.rb
205
+ - lib/appoptics_apm/inst/redis.rb
206
+ - lib/appoptics_apm/inst/resque.rb
207
+ - lib/appoptics_apm/inst/rest-client.rb
208
+ - lib/appoptics_apm/inst/sequel.rb
209
+ - lib/appoptics_apm/inst/sidekiq-client.rb
210
+ - lib/appoptics_apm/inst/sidekiq-worker.rb
211
+ - lib/appoptics_apm/inst/twitter-cassandra.rb
212
+ - lib/appoptics_apm/inst/typhoeus.rb
213
+ - lib/appoptics_apm/instrumentation.rb
214
+ - lib/appoptics_apm/legacy_method_profiling.rb
215
+ - lib/appoptics_apm/loading.rb
216
+ - lib/appoptics_apm/logger.rb
217
+ - lib/appoptics_apm/method_profiling.rb
218
+ - lib/appoptics_apm/noop/README.md
219
+ - lib/appoptics_apm/noop/context.rb
220
+ - lib/appoptics_apm/noop/metadata.rb
221
+ - lib/appoptics_apm/ruby.rb
222
+ - lib/appoptics_apm/sdk/custom_metrics.rb
223
+ - lib/appoptics_apm/sdk/tracing.rb
224
+ - lib/appoptics_apm/support.rb
225
+ - lib/appoptics_apm/test.rb
226
+ - lib/appoptics_apm/thread_local.rb
227
+ - lib/appoptics_apm/util.rb
228
+ - lib/appoptics_apm/version.rb
229
+ - lib/appoptics_apm/xtrace.rb
230
+ - lib/joboe_metal.rb
231
+ - lib/oboe.rb
232
+ - lib/oboe/README
233
+ - lib/oboe/backward_compatibility.rb
234
+ - lib/oboe/inst/rack.rb
235
+ - lib/oboe_metal.rb
236
+ - lib/rails/generators/appoptics_apm/install_generator.rb
237
+ - lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb
238
+ - yardoc_frontpage.md
239
+ homepage: https://www.appoptics.com/
240
+ licenses:
241
+ - Librato Open License, Version 1.0
242
+ metadata:
243
+ changelog_uri: https://github.com/appoptics/appoptics-apm-ruby/releases
244
+ documentation_uri: https://docs.appoptics.com/kb/apm_tracing/ruby/
245
+ homepage_uri: https://www.appoptics.com/
246
+ source_code_uri: https://github.com/appoptics/appoptics-apm-ruby
247
+ post_install_message:
248
+ rdoc_options: []
249
+ require_paths:
250
+ - lib
251
+ required_ruby_version: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 2.0.0
256
+ required_rubygems_version: !ruby/object:Gem::Requirement
257
+ requirements:
258
+ - - ">="
259
+ - !ruby/object:Gem::Version
260
+ version: '0'
261
+ requirements: []
262
+ rubygems_version: 3.0.3
263
+ signing_key:
264
+ specification_version: 4
265
+ summary: AppOptics APM performance instrumentation gem for Ruby
266
+ test_files: []