appoptics_apm_mnfst 4.5.2

Sign up to get free protection for your applications and to get access to all the features.
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: []