oneapm_rpm 1.1.2 → 1.1.3
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 +4 -4
- data/lib/one_apm/agent.rb +185 -192
- data/lib/one_apm/agent/agent/connect.rb +17 -17
- data/lib/one_apm/agent/agent/container_data_manager.rb +14 -14
- data/lib/one_apm/agent/agent/forkable_dispatcher_functions.rb +6 -35
- data/lib/one_apm/agent/agent/helpers.rb +6 -17
- data/lib/one_apm/agent/agent/start.rb +27 -27
- data/lib/one_apm/agent/agent/start_worker_thread.rb +19 -51
- data/lib/one_apm/agent/busy_calculator.rb +8 -34
- data/lib/one_apm/agent/cross_app/cross_app_monitor.rb +10 -10
- data/lib/one_apm/agent/cross_app/cross_app_tracing.rb +14 -14
- data/lib/one_apm/agent/database.rb +8 -35
- data/lib/one_apm/agent/database/active_record_helper.rb +1 -1
- data/lib/one_apm/agent/datastores.rb +2 -109
- data/lib/one_apm/agent/datastores/metric_helper.rb +1 -1
- data/lib/one_apm/agent/datastores/mongo/metric_translator.rb +3 -3
- data/lib/one_apm/agent/datastores/mongo/statement_formatter.rb +2 -2
- data/lib/one_apm/agent/harvester.rb +3 -6
- data/lib/one_apm/agent/inbound_request_monitor.rb +2 -2
- data/lib/one_apm/agent/javascript_instrumentor.rb +28 -28
- data/lib/one_apm/agent/sampler.rb +1 -1
- data/lib/one_apm/agent/sampler_collection.rb +6 -9
- data/lib/one_apm/agent/samplers/cpu_sampler.rb +4 -4
- data/lib/one_apm/agent/samplers/delayed_job_sampler.rb +5 -5
- data/lib/one_apm/agent/samplers/memory_sampler.rb +5 -5
- data/lib/one_apm/agent/samplers/object_sampler.rb +1 -1
- data/lib/one_apm/agent/samplers/vm_sampler.rb +6 -6
- data/lib/one_apm/agent/synthetics_monitor.rb +2 -2
- data/lib/one_apm/agent/threading/agent_thread.rb +6 -6
- data/lib/one_apm/agent/threading/backtrace_service.rb +9 -9
- data/lib/one_apm/agent/threading/thread_profile.rb +3 -3
- data/lib/one_apm/collector/collector/helper.rb +10 -10
- data/lib/one_apm/collector/collector/http_connection.rb +14 -14
- data/lib/one_apm/collector/collector/server_methods.rb +12 -12
- data/lib/one_apm/collector/collector_service.rb +8 -8
- data/lib/one_apm/collector/commands/thread_profiler_session.rb +4 -4
- data/lib/one_apm/collector/commands/xray_session.rb +1 -1
- data/lib/one_apm/collector/commands/xray_session_collection.rb +10 -10
- data/lib/one_apm/collector/containers/agent_command_router.rb +7 -7
- data/lib/one_apm/collector/containers/custom_event_aggregator.rb +6 -6
- data/lib/one_apm/collector/containers/error_collector.rb +16 -16
- data/lib/one_apm/collector/containers/sql_sampler.rb +8 -11
- data/lib/one_apm/collector/containers/transaction_event_aggregator.rb +15 -15
- data/lib/one_apm/collector/containers/transaction_sampler.rb +14 -16
- data/lib/one_apm/{agent/pipe/pipe_service.rb → collector/forked_process_service.rb} +3 -3
- data/lib/one_apm/collector/stats_engine/gc_profiler.rb +3 -3
- data/lib/one_apm/collector/stats_engine/metric_stats.rb +4 -4
- data/lib/one_apm/collector/stats_engine/stats_hash.rb +2 -2
- data/lib/one_apm/configuration.rb +16 -16
- data/lib/one_apm/configuration/autostart.rb +4 -4
- data/lib/one_apm/configuration/default_source.rb +9 -9
- data/lib/one_apm/configuration/environment_source.rb +1 -1
- data/lib/one_apm/configuration/high_security_source.rb +1 -1
- data/lib/one_apm/configuration/yaml_source.rb +7 -7
- data/lib/one_apm/errors/noticed_error.rb +2 -2
- data/lib/one_apm/frameworks/external.rb +2 -0
- data/lib/one_apm/frameworks/rails.rb +8 -18
- data/lib/one_apm/frameworks/rails3.rb +1 -0
- data/lib/one_apm/frameworks/rails4.rb +2 -6
- data/lib/one_apm/frameworks/ruby.rb +7 -2
- data/lib/one_apm/frameworks/sinatra.rb +1 -2
- data/lib/one_apm/inst/3rd/active_merchant.rb +1 -1
- data/lib/one_apm/inst/3rd/acts_as_solr.rb +2 -2
- data/lib/one_apm/inst/3rd/authlogic.rb +1 -1
- data/lib/one_apm/inst/3rd/sunspot.rb +1 -1
- data/lib/one_apm/inst/background_job/active_job.rb +1 -1
- data/lib/one_apm/inst/background_job/delayed_job.rb +4 -4
- data/lib/one_apm/inst/background_job/event_machine_standalone.rb +2 -2
- data/lib/one_apm/inst/background_job/resque.rb +11 -11
- data/lib/one_apm/inst/background_job/sidekiq.rb +5 -5
- data/lib/one_apm/inst/dispatcher/passenger.rb +4 -4
- data/lib/one_apm/inst/dispatcher/puma.rb +23 -0
- data/lib/one_apm/inst/dispatcher/rainbows.rb +2 -2
- data/lib/one_apm/inst/framework/grape.rb +4 -4
- data/lib/one_apm/inst/framework/padrino.rb +2 -2
- data/lib/one_apm/inst/framework/sinatra.rb +9 -9
- data/lib/one_apm/inst/framework/sinatra/transaction_namer.rb +1 -1
- data/lib/one_apm/inst/http_clients/curb.rb +6 -6
- data/lib/one_apm/inst/http_clients/excon.rb +4 -4
- data/lib/one_apm/inst/http_clients/excon/middleware.rb +3 -3
- data/lib/one_apm/inst/http_clients/httpclient.rb +1 -1
- data/lib/one_apm/inst/http_clients/net.rb +2 -2
- data/lib/one_apm/inst/http_clients/typhoeus.rb +2 -2
- data/lib/one_apm/inst/nosql/memcache.rb +7 -7
- data/lib/one_apm/inst/nosql/mongo.rb +6 -6
- data/lib/one_apm/inst/nosql/mongo_moped.rb +2 -2
- data/lib/one_apm/inst/nosql/redis.rb +3 -3
- data/lib/one_apm/inst/orm/active_record.rb +4 -4
- data/lib/one_apm/inst/orm/active_record_4.rb +2 -2
- data/lib/one_apm/inst/orm/sequel.rb +4 -4
- data/lib/one_apm/inst/rack.rb +3 -3
- data/lib/one_apm/inst/rack/rack_builder.rb +4 -4
- data/lib/one_apm/inst/rails/action_controller.rb +7 -7
- data/lib/one_apm/inst/rails/action_web_service.rb +1 -1
- data/lib/one_apm/inst/rails/errors.rb +1 -1
- data/lib/one_apm/inst/rails3/action_controller.rb +6 -6
- data/lib/one_apm/inst/rails3/errors.rb +1 -1
- data/lib/one_apm/inst/rails4/action_controller.rb +1 -1
- data/lib/one_apm/inst/rails4/action_controller_subscriber.rb +4 -4
- data/lib/one_apm/inst/rails4/action_view.rb +2 -2
- data/lib/one_apm/inst/rails4/action_view_subscriber.rb +4 -4
- data/lib/one_apm/inst/rails4/active_record_subscriber.rb +7 -7
- data/lib/one_apm/inst/rails4/errors.rb +1 -1
- data/lib/one_apm/inst/rails_middleware.rb +2 -2
- data/lib/one_apm/inst/support/evented_subscriber.rb +2 -2
- data/lib/one_apm/inst/support/queue_time.rb +1 -1
- data/lib/one_apm/inst/transaction_base.rb +6 -6
- data/lib/one_apm/logger/agent_logger.rb +8 -8
- data/lib/one_apm/logger/audit_logger.rb +8 -8
- data/lib/one_apm/logger/memory_logger.rb +1 -1
- data/lib/one_apm/logger/null_logger.rb +1 -3
- data/lib/one_apm/manager.rb +249 -0
- data/lib/one_apm/metrics/metric_spec.rb +1 -1
- data/lib/one_apm/metrics/stats.rb +1 -1
- data/lib/one_apm/probe.rb +1 -1
- data/lib/one_apm/probe/framework_loader.rb +2 -2
- data/lib/one_apm/probe/instance_methods.rb +19 -19
- data/lib/one_apm/probe/instrumentation.rb +5 -5
- data/lib/one_apm/rack/browser_monitoring.rb +6 -6
- data/lib/one_apm/rack/middleware_hooks.rb +1 -1
- data/lib/one_apm/rack/middleware_tracing.rb +2 -2
- data/lib/one_apm/support/chained_call.rb +1 -1
- data/lib/one_apm/support/coerce.rb +1 -1
- data/lib/one_apm/support/collection_helper.rb +1 -1
- data/lib/one_apm/support/encoders.rb +1 -1
- data/lib/one_apm/support/environment_report.rb +10 -10
- data/lib/one_apm/{agent → support}/event/event_listener.rb +3 -3
- data/lib/one_apm/{agent → support}/event/event_loop.rb +8 -8
- data/lib/one_apm/{agent → support}/event/timer.rb +1 -1
- data/lib/one_apm/{agent → support}/event/worker_loop.rb +5 -19
- data/lib/one_apm/{agent/pipe/pipe_channel_manager.rb → support/forked_process_channel.rb} +13 -51
- data/lib/one_apm/support/json_marshaller.rb +6 -6
- data/lib/one_apm/support/json_wrapper.rb +2 -2
- data/lib/one_apm/support/language_support.rb +1 -1
- data/lib/one_apm/support/library_detection.rb +5 -5
- data/lib/one_apm/support/marshaller.rb +1 -1
- data/lib/one_apm/support/method_tracer.rb +12 -12
- data/lib/one_apm/support/method_tracer/helpers.rb +6 -6
- data/lib/one_apm/support/system_info.rb +2 -2
- data/lib/one_apm/support/traced_method_stack.rb +4 -4
- data/lib/one_apm/support/vm/monotonic_gc_profiler.rb +1 -1
- data/lib/one_apm/support/vm/mri_vm.rb +1 -1
- data/lib/one_apm/transaction.rb +3 -3
- data/lib/one_apm/transaction/class_methods.rb +3 -3
- data/lib/one_apm/transaction/instance_helpers.rb +3 -3
- data/lib/one_apm/transaction/sample_buffer/synthetics_sample_buffer.rb +1 -1
- data/lib/one_apm/transaction/sample_buffer/xray_sample_buffer.rb +5 -5
- data/lib/one_apm/transaction/thread_local_access.rb +2 -2
- data/lib/one_apm/transaction/transaction_apdex.rb +2 -2
- data/lib/one_apm/transaction/transaction_finish_append.rb +1 -1
- data/lib/one_apm/transaction/transaction_jruby_functions.rb +2 -2
- data/lib/one_apm/transaction/transaction_name.rb +2 -2
- data/lib/one_apm/transaction/transaction_sample.rb +1 -1
- data/lib/one_apm/transaction/transaction_sample_builder.rb +7 -7
- data/lib/one_apm/transaction/transaction_state.rb +1 -1
- data/lib/one_apm/version.rb +1 -1
- data/lib/sequel/extensions/oneapm_instrumentation.rb +7 -7
- data/oneapm.yml +6 -7
- metadata +10 -9
- data/lib/one_apm/agent/agent.rb +0 -283
@@ -16,7 +16,7 @@ module OneApm
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def process_action(*args)
|
19
|
+
def process_action(*args)
|
20
20
|
perform_action_with_oneapm_trace(:category => :controller,
|
21
21
|
:name => self.action_name,
|
22
22
|
:path => oneapm_metric_path,
|
@@ -69,7 +69,7 @@ LibraryDetection.defer do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
executes do
|
72
|
-
|
72
|
+
OneApm::Manager.logger.info 'Installing Rails 3 Controller instrumentation'
|
73
73
|
end
|
74
74
|
|
75
75
|
executes do
|
@@ -87,11 +87,11 @@ LibraryDetection.defer do
|
|
87
87
|
end
|
88
88
|
|
89
89
|
depends_on do
|
90
|
-
!OneApm::
|
90
|
+
!OneApm::Manager.config[:disable_view_instrumentation]
|
91
91
|
end
|
92
92
|
|
93
93
|
executes do
|
94
|
-
|
94
|
+
OneApm::Manager.logger.info 'Installing Rails 3.0 view instrumentation'
|
95
95
|
end
|
96
96
|
|
97
97
|
executes do
|
@@ -128,11 +128,11 @@ LibraryDetection.defer do
|
|
128
128
|
end
|
129
129
|
|
130
130
|
depends_on do
|
131
|
-
!OneApm::
|
131
|
+
!OneApm::Manager.config[:disable_view_instrumentation]
|
132
132
|
end
|
133
133
|
|
134
134
|
executes do
|
135
|
-
|
135
|
+
OneApm::Manager.logger.info 'Installing Rails 3.1/3.2 view instrumentation'
|
136
136
|
end
|
137
137
|
|
138
138
|
executes do
|
@@ -7,7 +7,7 @@ module OneApm
|
|
7
7
|
module Instrumentation
|
8
8
|
class ActionControllerSubscriber < EventedSubscriber
|
9
9
|
|
10
|
-
def start(name, id, payload)
|
10
|
+
def start(name, id, payload)
|
11
11
|
state = TransactionState.tl_get
|
12
12
|
request = state.request
|
13
13
|
event = ControllerEvent.new(name, Time.now, nil, id, payload, request)
|
@@ -19,13 +19,13 @@ module OneApm
|
|
19
19
|
# if this transaction is ignored, make sure child
|
20
20
|
# transaction are also ignored
|
21
21
|
state.current_transaction.ignore! if state.current_transaction
|
22
|
-
OneApm::
|
22
|
+
OneApm::Manager.agent.push_trace_execution_flag(false)
|
23
23
|
end
|
24
24
|
rescue => e
|
25
25
|
log_notification_error(e, name, 'start')
|
26
26
|
end
|
27
27
|
|
28
|
-
def finish(name, id, payload)
|
28
|
+
def finish(name, id, payload)
|
29
29
|
event = pop_event(id)
|
30
30
|
event.payload.merge!(payload)
|
31
31
|
|
@@ -34,7 +34,7 @@ module OneApm
|
|
34
34
|
if state.is_execution_traced? && !event.ignored?
|
35
35
|
stop_transaction(state, event)
|
36
36
|
else
|
37
|
-
|
37
|
+
OneApm::Manager.agent.pop_trace_execution_flag
|
38
38
|
end
|
39
39
|
rescue => e
|
40
40
|
log_notification_error(e, name, 'finish')
|
@@ -9,12 +9,12 @@ LibraryDetection.defer do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
depends_on do
|
12
|
-
!OneApm::
|
12
|
+
!OneApm::Manager.config[:disable_view_instrumentation] &&
|
13
13
|
!OneApm::Agent::Instrumentation::ActionViewSubscriber.subscribed?
|
14
14
|
end
|
15
15
|
|
16
16
|
executes do
|
17
|
-
|
17
|
+
OneApm::Manager.logger.info 'Installing Rails 4 view instrumentation'
|
18
18
|
end
|
19
19
|
|
20
20
|
executes do
|
@@ -7,7 +7,7 @@ module OneApm
|
|
7
7
|
module Agent
|
8
8
|
module Instrumentation
|
9
9
|
class ActionViewSubscriber < EventedSubscriber
|
10
|
-
def start(name, id, payload)
|
10
|
+
def start(name, id, payload)
|
11
11
|
event = RenderEvent.new(name, Time.now, nil, id, payload)
|
12
12
|
push_event(event)
|
13
13
|
|
@@ -21,7 +21,7 @@ module OneApm
|
|
21
21
|
log_notification_error(e, name, 'start')
|
22
22
|
end
|
23
23
|
|
24
|
-
def finish(name, id, payload)
|
24
|
+
def finish(name, id, payload)
|
25
25
|
event = pop_event(id)
|
26
26
|
|
27
27
|
state = OneApm::TransactionState.tl_get
|
@@ -35,9 +35,9 @@ module OneApm
|
|
35
35
|
log_notification_error(e, name, 'finish')
|
36
36
|
end
|
37
37
|
|
38
|
-
def record_metrics(event, frame)
|
38
|
+
def record_metrics(event, frame)
|
39
39
|
exclusive = event.duration - frame.children_time
|
40
|
-
OneApm::
|
40
|
+
OneApm::Manager.agent.stats_engine.tl_record_scoped_and_unscoped_metrics(
|
41
41
|
event.metric_name, nil, event.duration, exclusive)
|
42
42
|
end
|
43
43
|
|
@@ -11,15 +11,15 @@ module OneApm
|
|
11
11
|
class ActiveRecordSubscriber < EventedSubscriber
|
12
12
|
CACHED_QUERY_NAME = 'CACHE'.freeze unless defined? CACHED_QUERY_NAME
|
13
13
|
|
14
|
-
def start(name, id, payload)
|
14
|
+
def start(name, id, payload)
|
15
15
|
return if payload[:name] == CACHED_QUERY_NAME
|
16
|
-
return unless OneApm::
|
16
|
+
return unless OneApm::Manager.tl_is_execution_traced?
|
17
17
|
super
|
18
18
|
rescue => e
|
19
19
|
log_notification_error(e, name, 'start')
|
20
20
|
end
|
21
21
|
|
22
|
-
def finish(name, id, payload)
|
22
|
+
def finish(name, id, payload)
|
23
23
|
return if payload[:name] == CACHED_QUERY_NAME
|
24
24
|
state = OneApm::TransactionState.tl_get
|
25
25
|
return unless state.is_execution_traced?
|
@@ -48,12 +48,12 @@ module OneApm
|
|
48
48
|
# enter transaction trace segment
|
49
49
|
frame = stack.push_frame(state, :active_record, event.time)
|
50
50
|
|
51
|
-
OneApm::
|
51
|
+
OneApm::Manager.agent.transaction_sampler \
|
52
52
|
.notice_sql(event.payload[:sql], config,
|
53
53
|
Helper.milliseconds_to_seconds(event.duration),
|
54
54
|
state, &method(:get_explain_plan))
|
55
55
|
|
56
|
-
OneApm::
|
56
|
+
OneApm::Manager.agent.sql_sampler \
|
57
57
|
.notice_sql(event.payload[:sql], metric, config,
|
58
58
|
Helper.milliseconds_to_seconds(event.duration),
|
59
59
|
state, &method(:get_explain_plan))
|
@@ -62,7 +62,7 @@ module OneApm
|
|
62
62
|
stack.pop_frame(state, frame, metric, event.end)
|
63
63
|
end
|
64
64
|
|
65
|
-
def record_metrics(event)
|
65
|
+
def record_metrics(event)
|
66
66
|
base = base_metric(event)
|
67
67
|
|
68
68
|
other_metrics = ActiveRecordHelper.rollup_metrics_for(base)
|
@@ -71,7 +71,7 @@ module OneApm
|
|
71
71
|
end
|
72
72
|
other_metrics.compact!
|
73
73
|
|
74
|
-
OneApm::
|
74
|
+
OneApm::Manager.agent.stats_engine.tl_record_scoped_and_unscoped_metrics(
|
75
75
|
base, other_metrics,
|
76
76
|
Helper.milliseconds_to_seconds(event.duration)
|
77
77
|
)
|
@@ -10,11 +10,11 @@ LibraryDetection.defer do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
depends_on do
|
13
|
-
|
13
|
+
!OneApm::Manager.config[:disable_rack_middleware]
|
14
14
|
end
|
15
15
|
|
16
16
|
executes do
|
17
|
-
|
17
|
+
OneApm::Manager.logger.info("Installing Rails 3+ middleware instrumentation")
|
18
18
|
|
19
19
|
module ActionDispatch
|
20
20
|
class MiddlewareStack
|
@@ -34,8 +34,8 @@ module OneApm
|
|
34
34
|
def log_notification_error(error, name, event_type)
|
35
35
|
# These are important enough failures that we want the backtraces
|
36
36
|
# logged at error level, hence the explicit log_exception call.
|
37
|
-
OneApm::
|
38
|
-
OneApm::
|
37
|
+
OneApm::Manager.logger.error("Error during #{event_type} callback for event '#{name}':")
|
38
|
+
OneApm::Manager.logger.log_exception(:error, error)
|
39
39
|
end
|
40
40
|
|
41
41
|
def push_event(event)
|
@@ -37,7 +37,7 @@ module OneApm
|
|
37
37
|
end
|
38
38
|
|
39
39
|
if earliest && earliest > now
|
40
|
-
OneApm::
|
40
|
+
OneApm::Manager.logger.debug("Negative queue time detected, treating as zero: start=#{earliest.to_f} > now=#{now.to_f}")
|
41
41
|
earliest = now
|
42
42
|
end
|
43
43
|
|
@@ -79,7 +79,7 @@ module OneApm
|
|
79
79
|
if options.empty?
|
80
80
|
oneapm_write_attr property, true
|
81
81
|
elsif !options.is_a?(Hash)
|
82
|
-
|
82
|
+
OneApm::Manager.logger.error "oneapm_#{property} takes an optional hash with :only and :except lists of actions (illegal argument type '#{options.class}')"
|
83
83
|
else
|
84
84
|
oneapm_write_attr property, options
|
85
85
|
end
|
@@ -156,7 +156,7 @@ module OneApm
|
|
156
156
|
with_method_name, without_method_name = build_method_names(traced_method, punctuation)
|
157
157
|
|
158
158
|
if already_added_transaction_tracer?(self, with_method_name)
|
159
|
-
|
159
|
+
OneApm::Manager.logger.warn("Transaction tracer already in place for class = #{self.name}, method = #{method.to_s}, skipping")
|
160
160
|
return
|
161
161
|
end
|
162
162
|
|
@@ -176,7 +176,7 @@ module OneApm
|
|
176
176
|
send visibility, method
|
177
177
|
send visibility, with_method_name
|
178
178
|
|
179
|
-
|
179
|
+
OneApm::Manager.logger.debug("Traced transaction: class = #{self.name}, method = #{method.to_s}, options = #{options.inspect}")
|
180
180
|
end
|
181
181
|
|
182
182
|
def parse_punctuation(method)
|
@@ -282,7 +282,7 @@ module OneApm
|
|
282
282
|
#
|
283
283
|
# @api public
|
284
284
|
#
|
285
|
-
def perform_action_with_oneapm_trace(*args, &block)
|
285
|
+
def perform_action_with_oneapm_trace(*args, &block)
|
286
286
|
state = OneApm::TransactionState.tl_get
|
287
287
|
state.request = oneapm_request(args)
|
288
288
|
|
@@ -290,7 +290,7 @@ module OneApm
|
|
290
290
|
|
291
291
|
if skip_tracing
|
292
292
|
state.current_transaction.ignore! if state.current_transaction
|
293
|
-
OneApm::
|
293
|
+
OneApm::Manager.disable_all_tracing { return yield }
|
294
294
|
end
|
295
295
|
|
296
296
|
# This method has traditionally taken a variable number of arguments, but the
|
@@ -307,7 +307,7 @@ module OneApm
|
|
307
307
|
begin
|
308
308
|
yield
|
309
309
|
rescue => e
|
310
|
-
OneApm::
|
310
|
+
OneApm::Manager.notice_error(e)
|
311
311
|
raise
|
312
312
|
end
|
313
313
|
|
@@ -5,7 +5,7 @@ require 'singleton'
|
|
5
5
|
require 'one_apm/support/hostname'
|
6
6
|
|
7
7
|
module OneApm
|
8
|
-
module
|
8
|
+
module Logger
|
9
9
|
class AgentLogger
|
10
10
|
|
11
11
|
attr_reader :already_logged
|
@@ -115,7 +115,7 @@ module OneApm
|
|
115
115
|
def create_log(root, override_logger)
|
116
116
|
if !override_logger.nil?
|
117
117
|
@log = override_logger
|
118
|
-
elsif
|
118
|
+
elsif OneApm::Manager.config[:agent_enabled] == false
|
119
119
|
create_null_logger
|
120
120
|
else
|
121
121
|
if wants_stdout?
|
@@ -127,12 +127,12 @@ module OneApm
|
|
127
127
|
end
|
128
128
|
|
129
129
|
def create_log_to_file(root)
|
130
|
-
path = find_or_create_file_path(
|
130
|
+
path = find_or_create_file_path(OneApm::Manager.config[:log_file_path], root)
|
131
131
|
if path.nil?
|
132
132
|
@log = ::Logger.new(STDOUT)
|
133
|
-
warn("Error creating log directory #{
|
133
|
+
warn("Error creating log directory #{OneApm::Manager.config[:log_file_path]}, using standard out for logging.")
|
134
134
|
else
|
135
|
-
file_path = "#{path}/#{
|
135
|
+
file_path = "#{path}/#{OneApm::Manager.config[:log_file_name]}"
|
136
136
|
begin
|
137
137
|
@log = ::Logger.new(file_path)
|
138
138
|
rescue => e
|
@@ -143,7 +143,7 @@ module OneApm
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def create_null_logger
|
146
|
-
@log = ::OneApm::
|
146
|
+
@log = ::OneApm::Logger::NullLogger.new
|
147
147
|
end
|
148
148
|
|
149
149
|
def clear_already_logged
|
@@ -151,7 +151,7 @@ module OneApm
|
|
151
151
|
end
|
152
152
|
|
153
153
|
def wants_stdout?
|
154
|
-
|
154
|
+
OneApm::Manager.config[:log_file_path].upcase == "STDOUT"
|
155
155
|
end
|
156
156
|
|
157
157
|
def find_or_create_file_path(path_setting, root)
|
@@ -165,7 +165,7 @@ module OneApm
|
|
165
165
|
end
|
166
166
|
|
167
167
|
def set_log_level!
|
168
|
-
@log.level = AgentLogger.log_level_for(
|
168
|
+
@log.level = AgentLogger.log_level_for(OneApm::Manager.config[:log_level])
|
169
169
|
end
|
170
170
|
|
171
171
|
LOG_LEVELS = {
|
@@ -5,10 +5,10 @@ require 'fileutils'
|
|
5
5
|
require 'one_apm/support/hostname'
|
6
6
|
|
7
7
|
module OneApm
|
8
|
-
module
|
8
|
+
module Logger
|
9
9
|
class AuditLogger
|
10
10
|
def initialize
|
11
|
-
@enabled = OneApm::
|
11
|
+
@enabled = OneApm::Manager.config[:'audit_log.enabled']
|
12
12
|
@encoder = OneApm::Support::Encoders::Identity
|
13
13
|
end
|
14
14
|
|
@@ -34,9 +34,9 @@ module OneApm
|
|
34
34
|
@log.info("REQUEST BODY: #{request_body}")
|
35
35
|
end
|
36
36
|
rescue StandardError, SystemStackError, SystemCallError => e
|
37
|
-
|
37
|
+
OneApm::Manager.logger.warn("Failed writing to audit log", e)
|
38
38
|
rescue Exception => e
|
39
|
-
|
39
|
+
OneApm::Manager.logger.warn("Failed writing to audit log with exception. Re-raising in case of interupt.", e)
|
40
40
|
raise
|
41
41
|
end
|
42
42
|
|
@@ -45,14 +45,14 @@ module OneApm
|
|
45
45
|
if path
|
46
46
|
@log = ::Logger.new(path)
|
47
47
|
@log.formatter = create_log_formatter
|
48
|
-
|
48
|
+
OneApm::Manager.logger.info("Audit log enabled at '#{path}'")
|
49
49
|
else
|
50
|
-
@log = OneApm::
|
50
|
+
@log = OneApm::Logger::NullLogger.new
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
def ensure_log_path
|
55
|
-
path = File.expand_path(OneApm::
|
55
|
+
path = File.expand_path(OneApm::Manager.config[:'audit_log.path'])
|
56
56
|
log_dir = File.dirname(path)
|
57
57
|
|
58
58
|
begin
|
@@ -60,7 +60,7 @@ module OneApm
|
|
60
60
|
FileUtils.touch(path)
|
61
61
|
rescue SystemCallError => e
|
62
62
|
msg = "Audit log disabled, failed opening log at '#{path}': #{e}"
|
63
|
-
|
63
|
+
OneApm::Manager.logger.warn(msg)
|
64
64
|
path = nil
|
65
65
|
end
|
66
66
|
|