Module: Appsignal
- Defined in:
- lib/appsignal.rb,
lib/appsignal/cli.rb,
lib/appsignal/agent.rb,
lib/appsignal/config.rb,
lib/appsignal/marker.rb,
lib/appsignal/version.rb,
lib/appsignal/aggregator.rb,
lib/appsignal/auth_check.rb,
lib/appsignal/transaction.rb,
lib/appsignal/transmitter.rb,
lib/appsignal/rack/listener.rb,
lib/appsignal/integrations/rails.rb,
lib/appsignal/rack/instrumentation.rb,
lib/appsignal/transaction/formatter.rb,
lib/appsignal/integrations/capistrano.rb,
lib/appsignal/aggregator/post_processor.rb,
lib/appsignal/aggregator/middleware/chain.rb,
lib/appsignal/transaction/params_sanitizer.rb,
lib/appsignal/aggregator/middleware/delete_blanks.rb,
lib/appsignal/integrations/capistrano/careful_logger.rb,
lib/appsignal/aggregator/middleware/action_view_sanitizer.rb,
lib/appsignal/aggregator/middleware/active_record_sanitizer.rb
Defined Under Namespace
Modules: CarefulLogger, Integrations, Rack
Classes: Agent, Aggregator, AuthCheck, CLI, Config, Marker, Transaction, Transmitter
Constant Summary
collapse
- VERSION =
'0.7.1'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.agent ⇒ Object
Returns the value of attribute agent.
8
9
10
|
# File 'lib/appsignal.rb', line 8
def agent
@agent
end
|
.config ⇒ Object
Returns the value of attribute config.
8
9
10
|
# File 'lib/appsignal.rb', line 8
def config
@config
end
|
.in_memory_log ⇒ Object
Returns the value of attribute in_memory_log.
8
9
10
|
# File 'lib/appsignal.rb', line 8
def in_memory_log
@in_memory_log
end
|
.logger ⇒ Object
Returns the value of attribute logger.
8
9
10
|
# File 'lib/appsignal.rb', line 8
def logger
@logger
end
|
Class Method Details
.active? ⇒ Boolean
96
97
98
|
# File 'lib/appsignal.rb', line 96
def active?
config && config[:active] == true
end
|
.add_exception(exception) ⇒ Object
.enqueue(transaction) ⇒ true
Convenience method for adding a transaction to the queue. This queue is managed and is periodically pushed to Appsignal.
31
32
33
|
# File 'lib/appsignal.rb', line 31
def enqueue(transaction)
agent.enqueue(transaction)
end
|
.is_ignored_exception?(exception) ⇒ Boolean
100
101
102
|
# File 'lib/appsignal.rb', line 100
def is_ignored_exception?(exception)
Appsignal.config[:ignore_exceptions].include?(exception.class.name)
end
|
.json ⇒ Object
86
87
88
|
# File 'lib/appsignal.rb', line 86
def json
ActiveSupport::JSON
end
|
.listen_for_exception(&block) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/appsignal.rb', line 35
def listen_for_exception(&block)
yield
rescue Exception => exception
send_exception(exception)
raise exception
end
|
.post_processing_middleware {|@post_processing_chain| ... } ⇒ Object
.send_exception(exception) ⇒ Object
42
43
44
45
46
47
48
|
# File 'lib/appsignal.rb', line 42
def send_exception(exception)
return if is_ignored_exception?(exception)
transaction = Appsignal::Transaction.create(SecureRandom.uuid, ENV.to_hash)
transaction.add_exception(exception)
transaction.complete!
Appsignal.agent.send_queue
end
|
.start ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/appsignal.rb', line 10
def start
if config
if config[:debug]
logger.level = Logger::DEBUG
else
logger.level = Logger::INFO
end
logger.info("Starting appsignal-#{Appsignal::VERSION}")
@agent = Appsignal::Agent.new
at_exit { @agent.shutdown(true) }
else
logger.error("Can't start, no config loaded")
end
end
|
.start_logger(path) ⇒ Object
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/appsignal.rb', line 75
def start_logger(path)
if path && File.writable?(path) && !ENV['DYNO']
@logger = Logger.new(File.join(path, 'appsignal.log'))
@logger.formatter = Logger::Formatter.new
else
@logger = Logger.new($stdout)
end
@logger.level = Logger::INFO
@logger << @in_memory_log.string if @in_memory_log
end
|
.tag_request(params = {}) ⇒ Object
57
58
59
60
61
|
# File 'lib/appsignal.rb', line 57
def tag_request(params={})
transaction = Appsignal::Transaction.current
return false unless transaction
transaction.set_tags(params)
end
|
.transactions ⇒ Object
63
64
65
|
# File 'lib/appsignal.rb', line 63
def transactions
@transactions ||= {}
end
|