Commit Graph

1023 Commits

Author SHA1 Message Date
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
juliusv
19e1ad7096 Merge pull request #3 from prometheus/refactor/show-alerts
Show alerts in UI; add no-op silence dialog; cleanups.
2013-07-22 07:28:27 -07:00
Julius Volz
ed289d58f0 Remove crufty logging statement. 2013-07-22 16:26:54 +02:00
Julius Volz
827d3c3710 Show actual alerts in UI and add no-op silence dialog. 2013-07-22 11:12:25 +02:00
Julius Volz
71a9d4af35 Ensure minimum repeat rate for events. 2013-07-22 11:12:25 +02:00
Julius Volz
436643f94e Cleanup: rename "element" to "event". 2013-07-22 11:12:25 +02:00
Julius Volz
13b106bb2b Ensure flag parsing on startup. 2013-07-22 11:12:25 +02:00
juliusv
8182f1bbc0 Merge pull request #2 from prometheus/refactor/aggregator
Fix bugs in aggregator and filters, add initial tests
2013-07-22 02:11:33 -07:00
Julius Volz
24d9977c95 Run go fmt. 2013-07-22 11:02:45 +02:00
Julius Volz
ca1eb66df4 Add BUG comment about aggregator draining. 2013-07-19 18:10:40 +02:00
Julius Volz
606d120541 Move aggregator scenario tests to separate type. 2013-07-19 15:26:51 +02:00
Julius Volz
f9bca4ba2b Remove unused timer. 2013-07-19 15:15:53 +02:00
Julius Volz
bc57fa4936 Add initial aggregator tests. 2013-07-19 15:05:45 +02:00
Julius Volz
a8bd98b7e1 Fix regex filters to match complete string.
If someone specifies

  service = "foo-service"

...they probably don't want it to match:

  service = "foo-servicebar"
2013-07-19 13:39:15 +02:00
Julius Volz
648a79a3e1 Synchronize Close(), fix race conditions.
Close() was not synced through the main dispatcher loop, so it could close
channels that were currently being written to by methods called from said
dispatcher loop. This leads to a crash. Instead, Close() now writes a
closeRequest, which is handled in the dispatcher.
2013-07-19 13:39:05 +02:00
juliusv
f362b04f61 Merge pull request #1 from prometheus/event-model-reworking
Change model to be more state- and less event-focussed.
2013-07-19 02:17:43 -07:00
Julius Volz
cf78397107 Change model to be more state- and less event-focussed. 2013-07-19 10:52:04 +02:00
Julius Volz
44c69920f4 Preliminary web interface and pairing refactorings. 2013-07-17 17:45:01 +02:00
Matt T. Proud
48d0ba2b9b Initial interface cleanups. 2013-07-16 23:17:42 +02:00
Matt T. Proud
ebbef79014 Run gofmt. 2013-07-16 19:18:05 +02:00
Julius Volz
116175a054 Add LICENSE file. 2013-07-16 17:10:34 +02:00
juliusv
f59d8fb2fc Create README.md 2013-07-16 17:09:56 +02:00
Julius Volz
f86966a0e7 Initial transliteration of https://gist.github.com/matttproud-soundcloud/fcb5153716eed0816863 2013-07-16 17:03:56 +02:00