easymon 1.5 → 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/easymon/checks/active_record_mysql_writeable_check.rb +2 -1
- data/lib/easymon/checks/split_active_record_check.rb +12 -12
- data/lib/easymon/version.rb +1 -1
- data/test/dummy/app/assets/config/manifest.js +0 -0
- data/test/dummy/config/database.yml +2 -2
- data/test/dummy/config/storage.yml +0 -0
- data/test/dummy/log/test.log +543 -0
- data/test/test_helper.rb +1 -1
- data/test/unit/checks/split_active_record_check_test.rb +19 -19
- metadata +10 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86b570ebd2a55ff6dcf7757d7c579d63ccf3dd47142892496190896acdec5b7d
|
4
|
+
data.tar.gz: 7afc1c23c22405e8912021ef88c28eb3c8c8969497e0557e35c7f41319361282
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44168748e184ef6ec72532156b8ffd730ea384063ae8e342afa70ae314d656febb6c87e35390190d2e690713d19edcb970be1df8af1285c572db67409f435729
|
7
|
+
data.tar.gz: e0024e1e2acf5b2de4affc4cf84d04f3c8c4bf69a6750f27ea4738d6579e11039618639a378fc38d609f9bc6d37ec03897d86f2877be4c9e4a7bbd41fd4336e6
|
data/README.md
CHANGED
@@ -4,6 +4,7 @@ module Easymon
|
|
4
4
|
|
5
5
|
def initialize(klass)
|
6
6
|
self.klass = klass
|
7
|
+
@query = "SELECT @@read_only for UPDATE"
|
7
8
|
end
|
8
9
|
|
9
10
|
def check
|
@@ -18,7 +19,7 @@ module Easymon
|
|
18
19
|
|
19
20
|
private
|
20
21
|
def database_writeable?
|
21
|
-
klass.connection.execute(
|
22
|
+
klass.connection.execute(@query).to_enum.first.first.to_i == 0
|
22
23
|
rescue
|
23
24
|
false
|
24
25
|
end
|
@@ -2,10 +2,10 @@ module Easymon
|
|
2
2
|
class SplitActiveRecordCheck
|
3
3
|
attr_accessor :block
|
4
4
|
attr_accessor :results
|
5
|
-
|
5
|
+
|
6
6
|
# Here we pass a block so we get a fresh instance of ActiveRecord::Base or
|
7
7
|
# whatever other class we might be using to make database connections
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# For example, given the following other class:
|
10
10
|
# module Easymon
|
11
11
|
# class Base < ActiveRecord::Base
|
@@ -18,12 +18,12 @@ module Easymon
|
|
18
18
|
# end
|
19
19
|
#
|
20
20
|
# def database_configuration
|
21
|
-
# env = "#{Rails.env}
|
21
|
+
# env = "#{Rails.env}_replica"
|
22
22
|
# config = YAML.load_file(Rails.root.join('config/database.yml'))[env]
|
23
23
|
# end
|
24
24
|
# end
|
25
25
|
# end
|
26
|
-
#
|
26
|
+
#
|
27
27
|
# We would check both it and ActiveRecord::Base like so:
|
28
28
|
# check = Easymon::SplitActiveRecordCheck.new {
|
29
29
|
# [ActiveRecord::Base.connection, Easymon::Base.connection]
|
@@ -31,20 +31,20 @@ module Easymon
|
|
31
31
|
# Easymon::Repository.add("split-database", check)
|
32
32
|
def initialize(&block)
|
33
33
|
self.block = block
|
34
|
-
end
|
35
|
-
|
34
|
+
end
|
35
|
+
|
36
36
|
# Assumes only 2 connections
|
37
37
|
def check
|
38
38
|
connections = Array(@block.call)
|
39
39
|
|
40
40
|
results = connections.map{|connection| database_up?(connection) }
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
[(results.all? && results.count > 0), "#{
|
41
|
+
|
42
|
+
primary_status = results.first ? "Primary: Up" : "Primary: Down"
|
43
|
+
replica_status = results.last ? "Replica: Up" : "Replica: Down"
|
44
|
+
|
45
|
+
[(results.all? && results.count > 0), "#{primary_status} - #{replica_status}"]
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
private
|
49
49
|
def database_up?(connection)
|
50
50
|
connection.active?
|
data/lib/easymon/version.rb
CHANGED
File without changes
|
File without changes
|
data/test/dummy/log/test.log
CHANGED
@@ -8371,3 +8371,546 @@ ActiveRecordMysqlWriteableCheckTest: test_#check_returns_a_successful_result_on_
|
|
8371
8371
|
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8372
8372
|
[1m[36mTRANSACTION (0.5ms)[0m [1m[31mROLLBACK[0m
|
8373
8373
|
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8374
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8375
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8376
|
+
---------------------------------------------------------------------------------
|
8377
|
+
SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_primary_is_down
|
8378
|
+
---------------------------------------------------------------------------------
|
8379
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8380
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8381
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8382
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8383
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8384
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8385
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8386
|
+
---------------------------------------------------------------------------------
|
8387
|
+
SplitActiveRecordCheckTest: test_#run_sets_failed_conditions_when_replica_is_down
|
8388
|
+
---------------------------------------------------------------------------------
|
8389
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8390
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8391
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8392
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8393
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8394
|
+
[1m[36mTRANSACTION (0.4ms)[0m [1m[35mBEGIN[0m
|
8395
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8396
|
+
-------------------------------------------------------------------------------
|
8397
|
+
SplitActiveRecordCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8398
|
+
-------------------------------------------------------------------------------
|
8399
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8400
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8401
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8402
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8403
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8404
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8405
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8406
|
+
------------------------------------------------------
|
8407
|
+
SplitActiveRecordCheckTest: test_given_nil_as_a_config
|
8408
|
+
------------------------------------------------------
|
8409
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8410
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8411
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8412
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8413
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8414
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8415
|
+
----------------------------------------------------------------------------------------
|
8416
|
+
ActiveRecordMysqlWriteableCheckTest: test_#check_returns_a_failed_result_on_a_failed_run
|
8417
|
+
----------------------------------------------------------------------------------------
|
8418
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8419
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8420
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8421
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8422
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8423
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8424
|
+
------------------------------------------------------------------------------------------
|
8425
|
+
ActiveRecordMysqlWriteableCheckTest: test_#check_returns_a_successful_result_on_a_good_run
|
8426
|
+
------------------------------------------------------------------------------------------
|
8427
|
+
[1m[35m (0.1ms)[0m [1m[37mSELECT @@read_only for UPDATE[0m
|
8428
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8429
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8430
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8431
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8432
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8433
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8434
|
+
--------------------------------------------------------------------------
|
8435
|
+
RepositoryTest: test_adds_checks_marked_critical_to_the_critical_checklist
|
8436
|
+
--------------------------------------------------------------------------
|
8437
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8438
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8439
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8440
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8441
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8442
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8443
|
+
--------------------------------------------
|
8444
|
+
RepositoryTest: test_fetches_a_check_by_name
|
8445
|
+
--------------------------------------------
|
8446
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8447
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8448
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8449
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8450
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8451
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8452
|
+
-----------------------------------------------------
|
8453
|
+
RepositoryTest: test_fetches_a_critical_check_by_name
|
8454
|
+
-----------------------------------------------------
|
8455
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8456
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8457
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8458
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8459
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8460
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8461
|
+
---------------------------------------------------
|
8462
|
+
RepositoryTest: test_returns_a_checklist_when_asked
|
8463
|
+
---------------------------------------------------
|
8464
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8465
|
+
[1m[36mTRANSACTION (1.2ms)[0m [1m[31mROLLBACK[0m
|
8466
|
+
[1m[36mTRANSACTION (0.7ms)[0m [1m[31mROLLBACK[0m
|
8467
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8468
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8469
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8470
|
+
---------------------------------------------------------
|
8471
|
+
RepositoryTest: test_we_can_add_a_check_to_the_repository
|
8472
|
+
---------------------------------------------------------
|
8473
|
+
[1m[36mTRANSACTION (0.4ms)[0m [1m[31mROLLBACK[0m
|
8474
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8475
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8476
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8477
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8478
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8479
|
+
--------------------------------------------------------------
|
8480
|
+
RepositoryTest: test_we_can_remove_a_check_from_the_repository
|
8481
|
+
--------------------------------------------------------------
|
8482
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8483
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8484
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8485
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8486
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8487
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8488
|
+
----------------------------------------------------------------
|
8489
|
+
HttpCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
|
8490
|
+
----------------------------------------------------------------
|
8491
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8492
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8493
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8494
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8495
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8496
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8497
|
+
------------------------------------------------------------------
|
8498
|
+
HttpCheckTest: test_#run_sets_failure_conditions_on_an_errored_run
|
8499
|
+
------------------------------------------------------------------
|
8500
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8501
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8502
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8503
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8504
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8505
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8506
|
+
------------------------------------------------------------------
|
8507
|
+
HttpCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8508
|
+
------------------------------------------------------------------
|
8509
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8510
|
+
[1m[36mTRANSACTION (0.6ms)[0m [1m[31mROLLBACK[0m
|
8511
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8512
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8513
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8514
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8515
|
+
--------------------------------------
|
8516
|
+
HttpCheckTest: test_given_nil_as_a_url
|
8517
|
+
--------------------------------------
|
8518
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8519
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8520
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8521
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8522
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8523
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8524
|
+
--------------------------------------------------------------------------
|
8525
|
+
RedisWriteableCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
|
8526
|
+
--------------------------------------------------------------------------
|
8527
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8528
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8529
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8530
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8531
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8532
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8533
|
+
----------------------------------------------------------------------------
|
8534
|
+
RedisWriteableCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8535
|
+
----------------------------------------------------------------------------
|
8536
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8537
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8538
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8539
|
+
[1m[36mTRANSACTION (0.3ms)[0m [1m[35mBEGIN[0m
|
8540
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8541
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8542
|
+
---------------------------------------------------------------------
|
8543
|
+
ChecklistTest: test_#response_status_returns_:ok_when_all_checks_pass
|
8544
|
+
---------------------------------------------------------------------
|
8545
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8546
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8547
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8548
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8549
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8550
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8551
|
+
------------------------------------------------------------------------------------
|
8552
|
+
ChecklistTest: test_#response_status_returns_:service_unavailable_when_a_check_fails
|
8553
|
+
------------------------------------------------------------------------------------
|
8554
|
+
Dalli::Server#connect 127.0.0.1:11211
|
8555
|
+
127.0.0.1:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - connect(2) for "127.0.0.1" port 11211
|
8556
|
+
Dalli::Server#connect 127.0.0.1:11211
|
8557
|
+
127.0.0.1:11211 failed (count: 1) Errno::ECONNREFUSED: Connection refused - connect(2) for "127.0.0.1" port 11211
|
8558
|
+
127.0.0.1:11211 is down
|
8559
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8560
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8561
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8562
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8563
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8564
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8565
|
+
-----------------------------------------------------------------
|
8566
|
+
ChecklistTest: test_#success?_returns_false_when_results_is_empty
|
8567
|
+
-----------------------------------------------------------------
|
8568
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8569
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8570
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8571
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8572
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8573
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8574
|
+
---------------------------------------------------------
|
8575
|
+
ChecklistTest: test_#timing_is_a_sum_of_all_check_results
|
8576
|
+
---------------------------------------------------------
|
8577
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8578
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8579
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8580
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8581
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8582
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8583
|
+
-------------------------------------------------------------------------
|
8584
|
+
ChecklistTest: test_#to_s_returns_a_valid_representation_of_the_checklist
|
8585
|
+
-------------------------------------------------------------------------
|
8586
|
+
[1m[36mTRANSACTION (0.9ms)[0m [1m[31mROLLBACK[0m
|
8587
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8588
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8589
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8590
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8591
|
+
[1m[36mTRANSACTION (0.4ms)[0m [1m[35mBEGIN[0m
|
8592
|
+
----------------------------------------------
|
8593
|
+
ChecklistTest: test_can_look_up_checks_by_name
|
8594
|
+
----------------------------------------------
|
8595
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8596
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8597
|
+
[1m[36mTRANSACTION (0.3ms)[0m [1m[31mROLLBACK[0m
|
8598
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8599
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8600
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8601
|
+
---------------------------------------------
|
8602
|
+
ChecklistTest: test_cat_fetch_a_check_by_name
|
8603
|
+
---------------------------------------------
|
8604
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8605
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8606
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8607
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8608
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8609
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8610
|
+
-------------------------------------------------------------------
|
8611
|
+
ChecklistTest: test_it_knows_the_number_of_checks_in_the_Repository
|
8612
|
+
-------------------------------------------------------------------
|
8613
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8614
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8615
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8616
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8617
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8618
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8619
|
+
------------------------------------------
|
8620
|
+
ChecklistTest: test_it_will_run_each_check
|
8621
|
+
------------------------------------------
|
8622
|
+
down_retry_delay not reached for 127.0.0.1:11211 (59.988 seconds left)
|
8623
|
+
down_retry_delay not reached for 127.0.0.1:11211 (59.988 seconds left)
|
8624
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8625
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8626
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8627
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8628
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8629
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8630
|
+
-----------------------------------------------------------------
|
8631
|
+
RedisCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
|
8632
|
+
-----------------------------------------------------------------
|
8633
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8634
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8635
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8636
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8637
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8638
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8639
|
+
-------------------------------------------------------------------
|
8640
|
+
RedisCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8641
|
+
-------------------------------------------------------------------
|
8642
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8643
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8644
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8645
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[35mBEGIN[0m
|
8646
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8647
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8648
|
+
------------------------------------------
|
8649
|
+
RedisCheckTest: test_given_nil_as_a_config
|
8650
|
+
------------------------------------------
|
8651
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8652
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8653
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8654
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8655
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8656
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8657
|
+
----------------------------------------------------------------------------
|
8658
|
+
TrafficEnabledCheckTest: test_#check_sets_failure_conditions_on_a_failed_run
|
8659
|
+
----------------------------------------------------------------------------
|
8660
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8661
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8662
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8663
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8664
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8665
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8666
|
+
------------------------------------------------------------------------------
|
8667
|
+
TrafficEnabledCheckTest: test_#check_sets_success_conditions_on_successful_run
|
8668
|
+
------------------------------------------------------------------------------
|
8669
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8670
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8671
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8672
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8673
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8674
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8675
|
+
---------------------------------------------------------------------
|
8676
|
+
MemcachedCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
|
8677
|
+
---------------------------------------------------------------------
|
8678
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8679
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8680
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8681
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8682
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8683
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8684
|
+
-----------------------------------------------------------------------
|
8685
|
+
MemcachedCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8686
|
+
-----------------------------------------------------------------------
|
8687
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8688
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8689
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8690
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8691
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8692
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8693
|
+
------------------------------------------------------------------
|
8694
|
+
MemcachedCheckTest: test_fails_when_passed_a_cache_with_no_servers
|
8695
|
+
------------------------------------------------------------------
|
8696
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8697
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8698
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8699
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8700
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8701
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8702
|
+
---------------------------------------------------------
|
8703
|
+
MemcachedCheckTest: test_fails_when_passed_nil_as_a_cache
|
8704
|
+
---------------------------------------------------------
|
8705
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8706
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8707
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8708
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8709
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8710
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8711
|
+
--------------------------------------------------------------------------------------
|
8712
|
+
ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_failed_result_on_a_failed_run
|
8713
|
+
--------------------------------------------------------------------------------------
|
8714
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8715
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8716
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8717
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8718
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8719
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8720
|
+
----------------------------------------------------------------------------------------
|
8721
|
+
ActiveRecordCheckOnPostgresqlTest: test_#check_returns_a_successful_result_on_a_good_run
|
8722
|
+
----------------------------------------------------------------------------------------
|
8723
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8724
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8725
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8726
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8727
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8728
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8729
|
+
--------------------------------------------------------------------------
|
8730
|
+
ActiveRecordCheckTest: test_#check_returns_a_failed_result_on_a_failed_run
|
8731
|
+
--------------------------------------------------------------------------
|
8732
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8733
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8734
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8735
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8736
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8737
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8738
|
+
----------------------------------------------------------------------------
|
8739
|
+
ActiveRecordCheckTest: test_#check_returns_a_successful_result_on_a_good_run
|
8740
|
+
----------------------------------------------------------------------------
|
8741
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8742
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8743
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8744
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8745
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8746
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8747
|
+
-------------------------------------------------
|
8748
|
+
ActiveRecordCheckTest: test_given_nil_as_a_config
|
8749
|
+
-------------------------------------------------
|
8750
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8751
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8752
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8753
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8754
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8755
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8756
|
+
---------------------------------------------------------------------
|
8757
|
+
SemaphoreCheckTest: test_#run_sets_failure_conditions_on_a_failed_run
|
8758
|
+
---------------------------------------------------------------------
|
8759
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8760
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8761
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8762
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8763
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8764
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8765
|
+
-----------------------------------------------------------------------
|
8766
|
+
SemaphoreCheckTest: test_#run_sets_success_conditions_on_successful_run
|
8767
|
+
-----------------------------------------------------------------------
|
8768
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8769
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8770
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8771
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8772
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8773
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8774
|
+
------------------------------------------------------------
|
8775
|
+
Easymon::ChecksControllerTest: test_index_returns_valid_json
|
8776
|
+
------------------------------------------------------------
|
8777
|
+
Processing by Easymon::ChecksController#index as JSON
|
8778
|
+
Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 342)
|
8779
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8780
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8781
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8782
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8783
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8784
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8785
|
+
------------------------------------------------------------
|
8786
|
+
Easymon::ChecksControllerTest: test_index_when_a_check_fails
|
8787
|
+
------------------------------------------------------------
|
8788
|
+
Processing by Easymon::ChecksController#index as HTML
|
8789
|
+
Rendering text template
|
8790
|
+
Rendered text template (Duration: 0.0ms | Allocations: 3)
|
8791
|
+
Completed 503 Service Unavailable in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 488)
|
8792
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8793
|
+
[1m[36mTRANSACTION (0.6ms)[0m [1m[31mROLLBACK[0m
|
8794
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8795
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8796
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8797
|
+
[1m[36mTRANSACTION (0.5ms)[0m [1m[35mBEGIN[0m
|
8798
|
+
---------------------------------------------------------------------
|
8799
|
+
Easymon::ChecksControllerTest: test_index_when_a_critical_check_fails
|
8800
|
+
---------------------------------------------------------------------
|
8801
|
+
Processing by Easymon::ChecksController#index as HTML
|
8802
|
+
Rendering text template
|
8803
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8804
|
+
Completed 503 Service Unavailable in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 259)
|
8805
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8806
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8807
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8808
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8809
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8810
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8811
|
+
-------------------------------------------------------------------------
|
8812
|
+
Easymon::ChecksControllerTest: test_index_when_a_non-critical_check_fails
|
8813
|
+
-------------------------------------------------------------------------
|
8814
|
+
Processing by Easymon::ChecksController#index as HTML
|
8815
|
+
Rendering text template
|
8816
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8817
|
+
Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 312)
|
8818
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8819
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8820
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8821
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8822
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8823
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8824
|
+
--------------------------------------------------------------
|
8825
|
+
Easymon::ChecksControllerTest: test_index_when_all_checks_pass
|
8826
|
+
--------------------------------------------------------------
|
8827
|
+
Processing by Easymon::ChecksController#index as HTML
|
8828
|
+
Rendering text template
|
8829
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8830
|
+
Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 229)
|
8831
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8832
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8833
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8834
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8835
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8836
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8837
|
+
--------------------------------------------------------------------
|
8838
|
+
Easymon::ChecksControllerTest: test_index_when_no_checks_are_defined
|
8839
|
+
--------------------------------------------------------------------
|
8840
|
+
Processing by Easymon::ChecksController#index as HTML
|
8841
|
+
Rendering text template
|
8842
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8843
|
+
Completed 503 Service Unavailable in 0ms (Views: 0.0ms | ActiveRecord: 0.0ms | Allocations: 194)
|
8844
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8845
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8846
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8847
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8848
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8849
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8850
|
+
----------------------------------------------------------------
|
8851
|
+
Easymon::ChecksControllerTest: test_return_403_if_not_authorized
|
8852
|
+
----------------------------------------------------------------
|
8853
|
+
Processing by Easymon::ChecksController#index as HTML
|
8854
|
+
Filter chain halted as :authorize_request rendered or redirected
|
8855
|
+
Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms | Allocations: 79)
|
8856
|
+
Processing by Easymon::ChecksController#show as HTML
|
8857
|
+
Parameters: {"check"=>"database"}
|
8858
|
+
Filter chain halted as :authorize_request rendered or redirected
|
8859
|
+
Completed 403 Forbidden in 0ms (ActiveRecord: 0.0ms | Allocations: 71)
|
8860
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8861
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8862
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8863
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8864
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8865
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8866
|
+
------------------------------------------------------------------
|
8867
|
+
Easymon::ChecksControllerTest: test_show_if_the_check_is_not_found
|
8868
|
+
------------------------------------------------------------------
|
8869
|
+
Processing by Easymon::ChecksController#show as HTML
|
8870
|
+
Parameters: {"check"=>"database"}
|
8871
|
+
Rendering text template
|
8872
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8873
|
+
Completed 404 Not Found in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 204)
|
8874
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8875
|
+
[1m[36mTRANSACTION (0.4ms)[0m [1m[31mROLLBACK[0m
|
8876
|
+
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mROLLBACK[0m
|
8877
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8878
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8879
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8880
|
+
-------------------------------------------------------------------
|
8881
|
+
Easymon::ChecksControllerTest: test_show_json_when_the_check_passes
|
8882
|
+
-------------------------------------------------------------------
|
8883
|
+
Processing by Easymon::ChecksController#show as JSON
|
8884
|
+
Parameters: {"check"=>"database"}
|
8885
|
+
Completed 200 OK in 0ms (Views: 0.0ms | ActiveRecord: 0.0ms | Allocations: 175)
|
8886
|
+
[1m[36mTRANSACTION (0.3ms)[0m [1m[31mROLLBACK[0m
|
8887
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8888
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8889
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8890
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8891
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8892
|
+
-------------------------------------------------------------
|
8893
|
+
Easymon::ChecksControllerTest: test_show_when_the_check_fails
|
8894
|
+
-------------------------------------------------------------
|
8895
|
+
Processing by Easymon::ChecksController#show as HTML
|
8896
|
+
Parameters: {"check"=>"database"}
|
8897
|
+
Rendering text template
|
8898
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8899
|
+
Completed 503 Service Unavailable in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 213)
|
8900
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8901
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8902
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8903
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8904
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8905
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[35mBEGIN[0m
|
8906
|
+
--------------------------------------------------------------
|
8907
|
+
Easymon::ChecksControllerTest: test_show_when_the_check_passes
|
8908
|
+
--------------------------------------------------------------
|
8909
|
+
Processing by Easymon::ChecksController#show as HTML
|
8910
|
+
Parameters: {"check"=>"database"}
|
8911
|
+
Rendering text template
|
8912
|
+
Rendered text template (Duration: 0.0ms | Allocations: 1)
|
8913
|
+
Completed 200 OK in 0ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 188)
|
8914
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8915
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
8916
|
+
[1m[36mTRANSACTION (0.1ms)[0m [1m[31mROLLBACK[0m
|
data/test/test_helper.rb
CHANGED
@@ -3,50 +3,50 @@ require 'test_helper'
|
|
3
3
|
class SplitActiveRecordCheckTest < ActiveSupport::TestCase
|
4
4
|
|
5
5
|
test "#run sets success conditions on successful run" do
|
6
|
-
|
6
|
+
primary = ActiveRecord::Base.connection
|
7
7
|
Easymon::Base.establish_connection
|
8
|
-
|
8
|
+
replica = Easymon::Base.connection
|
9
9
|
|
10
|
-
check = Easymon::SplitActiveRecordCheck.new { [
|
10
|
+
check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
|
11
11
|
|
12
12
|
results = check.check
|
13
13
|
|
14
|
-
assert_equal("
|
14
|
+
assert_equal("Primary: Up - Replica: Up", results[1])
|
15
15
|
assert_equal(true, results[0])
|
16
16
|
end
|
17
17
|
|
18
|
-
test "#run sets failed conditions when
|
19
|
-
|
18
|
+
test "#run sets failed conditions when replica is down" do
|
19
|
+
primary = ActiveRecord::Base.connection
|
20
20
|
Easymon::Base.establish_connection
|
21
|
-
|
21
|
+
replica = Easymon::Base.connection
|
22
22
|
|
23
|
-
|
23
|
+
replica.stubs(:active?).raises("boom")
|
24
24
|
|
25
|
-
check = Easymon::SplitActiveRecordCheck.new { [
|
25
|
+
check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
|
26
26
|
results = check.check
|
27
27
|
|
28
|
-
assert_equal("
|
28
|
+
assert_equal("Primary: Up - Replica: Down", results[1])
|
29
29
|
assert_equal(false, results[0])
|
30
30
|
end
|
31
31
|
|
32
|
-
test "#run sets failed conditions when
|
33
|
-
|
32
|
+
test "#run sets failed conditions when primary is down" do
|
33
|
+
primary = ActiveRecord::Base.connection
|
34
34
|
Easymon::Base.establish_connection
|
35
|
-
|
35
|
+
replica = Easymon::Base.connection
|
36
36
|
|
37
|
-
|
37
|
+
primary.stubs(:active?).raises("boom")
|
38
38
|
|
39
|
-
check = Easymon::SplitActiveRecordCheck.new { [
|
39
|
+
check = Easymon::SplitActiveRecordCheck.new { [primary, replica] }
|
40
40
|
results = check.check
|
41
41
|
|
42
|
-
assert_equal("
|
42
|
+
assert_equal("Primary: Down - Replica: Up", results[1])
|
43
43
|
assert_equal(false, results[0])
|
44
44
|
end
|
45
45
|
|
46
46
|
test "given nil as a config" do
|
47
47
|
check = Easymon::SplitActiveRecordCheck.new { }
|
48
48
|
results = check.check
|
49
|
-
assert_equal("
|
49
|
+
assert_equal("Primary: Down - Replica: Down", results[1])
|
50
50
|
assert_equal(false, results[0])
|
51
51
|
end
|
52
52
|
end
|
@@ -63,8 +63,8 @@ module Easymon
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def database_configuration
|
66
|
-
env = "#{Rails.env}
|
67
|
-
|
66
|
+
env = "#{Rails.env}_replica"
|
67
|
+
YAML.load_file(Rails.root.join('config/database.yml'))[env]
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easymon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Anderson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -70,28 +70,28 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: '
|
73
|
+
version: '1.2'
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: '
|
80
|
+
version: '1.2'
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: mocha
|
83
83
|
requirement: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
85
|
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version: '1.
|
87
|
+
version: '1.11'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
|
-
version: '1.
|
94
|
+
version: '1.11'
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
name: dalli
|
97
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- test/controllers/easymon/checks_controller_test.rb
|
143
143
|
- test/dummy/README.rdoc
|
144
144
|
- test/dummy/Rakefile
|
145
|
+
- test/dummy/app/assets/config/manifest.js
|
145
146
|
- test/dummy/app/assets/javascripts/application.js
|
146
147
|
- test/dummy/app/assets/javascripts/easymon.js
|
147
148
|
- test/dummy/app/assets/stylesheets/application.css
|
@@ -173,6 +174,7 @@ files:
|
|
173
174
|
- test/dummy/config/memcached.yml
|
174
175
|
- test/dummy/config/redis.yml
|
175
176
|
- test/dummy/config/routes.rb
|
177
|
+
- test/dummy/config/storage.yml
|
176
178
|
- test/dummy/log/development.log
|
177
179
|
- test/dummy/log/test.log
|
178
180
|
- test/dummy/public/404.html
|
@@ -237,6 +239,7 @@ test_files:
|
|
237
239
|
- test/dummy/app/views/easymon/index.html.erb
|
238
240
|
- test/dummy/app/views/easymon/show.html.erb
|
239
241
|
- test/dummy/app/views/layouts/application.html.erb
|
242
|
+
- test/dummy/app/assets/config/manifest.js
|
240
243
|
- test/dummy/app/assets/javascripts/easymon.js
|
241
244
|
- test/dummy/app/assets/javascripts/application.js
|
242
245
|
- test/dummy/app/assets/stylesheets/application.css
|
@@ -250,6 +253,7 @@ test_files:
|
|
250
253
|
- test/dummy/config/environments/test.rb
|
251
254
|
- test/dummy/config/environment.rb
|
252
255
|
- test/dummy/config/redis.yml
|
256
|
+
- test/dummy/config/storage.yml
|
253
257
|
- test/dummy/config/application.rb
|
254
258
|
- test/dummy/config/memcached.yml
|
255
259
|
- test/dummy/config/database.yml
|