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.
- checksums.yaml +7 -0
- data/.dockerignore +5 -0
- data/.github/ISSUE_TEMPLATE/bug-or-feature-request.md +16 -0
- data/.gitignore +29 -0
- data/.rubocop.yml +8 -0
- data/.travis.yml +121 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +769 -0
- data/CONFIG.md +33 -0
- data/Gemfile +29 -0
- data/LICENSE +193 -0
- data/README.md +393 -0
- data/Rakefile +230 -0
- data/appoptics_apm.gemspec +61 -0
- data/bin/appoptics_apm_config +15 -0
- data/build_gem.sh +15 -0
- data/build_gem_upload_to_packagecloud.sh +20 -0
- data/examples/SDK/01_basic_tracing.rb +67 -0
- data/examples/carrying_context.rb +220 -0
- data/ext/oboe_metal/extconf.rb +114 -0
- data/ext/oboe_metal/lib/.keep +0 -0
- data/ext/oboe_metal/noop/noop.c +7 -0
- data/ext/oboe_metal/src/VERSION +1 -0
- data/init.rb +4 -0
- data/lib/appoptics_apm.rb +76 -0
- data/lib/appoptics_apm/api.rb +20 -0
- data/lib/appoptics_apm/api/layerinit.rb +41 -0
- data/lib/appoptics_apm/api/logging.rb +375 -0
- data/lib/appoptics_apm/api/memcache.rb +37 -0
- data/lib/appoptics_apm/api/metrics.rb +55 -0
- data/lib/appoptics_apm/api/profiling.rb +203 -0
- data/lib/appoptics_apm/api/tracing.rb +53 -0
- data/lib/appoptics_apm/api/util.rb +122 -0
- data/lib/appoptics_apm/base.rb +230 -0
- data/lib/appoptics_apm/config.rb +254 -0
- data/lib/appoptics_apm/frameworks/grape.rb +97 -0
- data/lib/appoptics_apm/frameworks/padrino.rb +108 -0
- data/lib/appoptics_apm/frameworks/rails.rb +94 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_controller.rb +104 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_controller3.rb +55 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_controller4.rb +48 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_controller5.rb +50 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_controller_api.rb +50 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_view.rb +58 -0
- data/lib/appoptics_apm/frameworks/rails/inst/action_view_30.rb +50 -0
- data/lib/appoptics_apm/frameworks/rails/inst/active_record.rb +27 -0
- data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
- data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/mysql2.rb +29 -0
- data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/postgresql.rb +31 -0
- data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils.rb +119 -0
- data/lib/appoptics_apm/frameworks/rails/inst/connection_adapters/utils5x.rb +108 -0
- data/lib/appoptics_apm/frameworks/sinatra.rb +125 -0
- data/lib/appoptics_apm/inst/bunny-client.rb +148 -0
- data/lib/appoptics_apm/inst/bunny-consumer.rb +89 -0
- data/lib/appoptics_apm/inst/curb.rb +330 -0
- data/lib/appoptics_apm/inst/dalli.rb +85 -0
- data/lib/appoptics_apm/inst/delayed_job.rb +92 -0
- data/lib/appoptics_apm/inst/em-http-request.rb +101 -0
- data/lib/appoptics_apm/inst/excon.rb +125 -0
- data/lib/appoptics_apm/inst/faraday.rb +94 -0
- data/lib/appoptics_apm/inst/grpc_client.rb +162 -0
- data/lib/appoptics_apm/inst/grpc_server.rb +120 -0
- data/lib/appoptics_apm/inst/http.rb +73 -0
- data/lib/appoptics_apm/inst/httpclient.rb +174 -0
- data/lib/appoptics_apm/inst/memcached.rb +86 -0
- data/lib/appoptics_apm/inst/mongo.rb +246 -0
- data/lib/appoptics_apm/inst/mongo2.rb +225 -0
- data/lib/appoptics_apm/inst/moped.rb +466 -0
- data/lib/appoptics_apm/inst/rack.rb +199 -0
- data/lib/appoptics_apm/inst/redis.rb +275 -0
- data/lib/appoptics_apm/inst/resque.rb +151 -0
- data/lib/appoptics_apm/inst/rest-client.rb +48 -0
- data/lib/appoptics_apm/inst/sequel.rb +178 -0
- data/lib/appoptics_apm/inst/sidekiq-client.rb +55 -0
- data/lib/appoptics_apm/inst/sidekiq-worker.rb +65 -0
- data/lib/appoptics_apm/inst/twitter-cassandra.rb +294 -0
- data/lib/appoptics_apm/inst/typhoeus.rb +108 -0
- data/lib/appoptics_apm/instrumentation.rb +22 -0
- data/lib/appoptics_apm/legacy_method_profiling.rb +90 -0
- data/lib/appoptics_apm/loading.rb +65 -0
- data/lib/appoptics_apm/logger.rb +42 -0
- data/lib/appoptics_apm/method_profiling.rb +33 -0
- data/lib/appoptics_apm/noop/README.md +9 -0
- data/lib/appoptics_apm/noop/context.rb +26 -0
- data/lib/appoptics_apm/noop/metadata.rb +22 -0
- data/lib/appoptics_apm/ruby.rb +35 -0
- data/lib/appoptics_apm/sdk/custom_metrics.rb +92 -0
- data/lib/appoptics_apm/sdk/tracing.rb +315 -0
- data/lib/appoptics_apm/support.rb +119 -0
- data/lib/appoptics_apm/test.rb +94 -0
- data/lib/appoptics_apm/thread_local.rb +26 -0
- data/lib/appoptics_apm/util.rb +319 -0
- data/lib/appoptics_apm/version.rb +15 -0
- data/lib/appoptics_apm/xtrace.rb +103 -0
- data/lib/joboe_metal.rb +212 -0
- data/lib/oboe.rb +7 -0
- data/lib/oboe/README +2 -0
- data/lib/oboe/backward_compatibility.rb +80 -0
- data/lib/oboe/inst/rack.rb +11 -0
- data/lib/oboe_metal.rb +198 -0
- data/lib/rails/generators/appoptics_apm/install_generator.rb +45 -0
- data/lib/rails/generators/appoptics_apm/templates/appoptics_apm_initializer.rb +265 -0
- data/yardoc_frontpage.md +26 -0
- 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
|
data/yardoc_frontpage.md
ADDED
|
@@ -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
|
+

|
|
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: []
|