oneapm_rpm 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|