alertmanager/manager
Julius Volz b49b7bba6f Change Suppressor from channel-based to mutex-based, add tests.
Start with the simplest possible locking scheme: lock the object-global
mutex at the beginning of each user-facing method. This is equivalent to
implicit locking provided by the reactor.

The reasoning behind this change is the incredible overhead of the
previous reactor request/response code:

Overhead for current model for every user-facing method:

- 2 struct type definitions (req/resp)
- 1 channel
  - 1 struct member definition site
  - 1 channel init site
  - 1 struct population site
  - 1 struct servicing site
  - 1 struct closing site
- 1 actual execution method

New lock-based code:

Per object: 1 lock
Per method:
- 1 taking the lock
- 1 actual execution method
2013-07-22 18:32:45 +02:00
..
aggregator.go Remove crufty logging statement. 2013-07-22 16:26:54 +02:00
aggregator_test.go Move aggregator scenario tests to separate type. 2013-07-19 15:26:51 +02:00
dispatcher.go Change Suppressor from channel-based to mutex-based, add tests. 2013-07-22 18:32:45 +02:00
event.go Change model to be more state- and less event-focussed. 2013-07-19 10:52:04 +02:00
matcher.go Fix regex filters to match complete string. 2013-07-19 13:39:15 +02:00
suppressor.go Change Suppressor from channel-based to mutex-based, add tests. 2013-07-22 18:32:45 +02:00
suppressor_test.go Change Suppressor from channel-based to mutex-based, add tests. 2013-07-22 18:32:45 +02:00