{"action":"created","issue":{"url":"https://api.github.com/repos/logary/logary/issues/263","repository_url":"https://api.github.com/repos/logary/logary","labels_url":"https://api.github.com/repos/logary/logary/issues/263/labels{/name}","comments_url":"https://api.github.com/repos/logary/logary/issues/263/comments","events_url":"https://api.github.com/repos/logary/logary/issues/263/events","html_url":"https://github.com/logary/logary/pull/263","id":248064618,"number":263,"title":"WIP: Feature/live wpc reconfigure","user":{"login":"lust4life","id":3074328,"avatar_url":"https://avatars2.githubusercontent.com/u/3074328?v=4","gravatar_id":"","url":"https://api.github.com/users/lust4life","html_url":"https://github.com/lust4life","followers_url":"https://api.github.com/users/lust4life/followers","following_url":"https://api.github.com/users/lust4life/following{/other_user}","gists_url":"https://api.github.com/users/lust4life/gists{/gist_id}","starred_url":"https://api.github.com/users/lust4life/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lust4life/subscriptions","organizations_url":"https://api.github.com/users/lust4life/orgs","repos_url":"https://api.github.com/users/lust4life/repos","events_url":"https://api.github.com/users/lust4life/events{/privacy}","received_events_url":"https://api.github.com/users/lust4life/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2017-08-04T17:09:58Z","updated_at":"2017-09-05T16:17:21Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/logary/logary/pulls/263","html_url":"https://github.com/logary/logary/pull/263","diff_url":"https://github.com/logary/logary/pull/263.diff","patch_url":"https://github.com/logary/logary/pull/263.patch"},"body":"- remove pollServices in registry\r\n\r\n  Because supervisor will supervise minions, if an exception occurs, it will be handled according to policy. So there's no need for state polling, because we can't do much if we can get the status. the user's handle logic can be expressed by policy. \r\n\r\n- remove healthcheck & metric\r\n\r\n  >  The aim here is to normalise the Gauge/Derived/Message semantics into a single semantic of 'things computed from events from your app'.\r\n\r\n  - remove healthcheck \r\n\r\n    Looks like metric can also be seen as a healthcheck, such as windows performance counters. when outside tick , metric generate some msg, which will be processed by user defined engine , they can decide their meaning (log or metric or healthcheck...) there.\r\n\r\n  - remove metric \r\n    \r\n    metric can be implemented by engine's process expression builder, what we need to do is schedule jobs for tick, in the corresponding time(like old metricConf.tickInterval) or manually tick. Metric's data sources can have two types, one is similar to WPC, generate data in real-time when ticked .the other is generate through the normal log message.\r\n\r\n- support multi targets on internallogger and apply rules when send msg to target\r\n- remove loglevel on Logger interface\r\n\r\n  message has the log level info, targets have the rules info, before putting msg to target, apply rules on message to decide if really send to target.\r\n\r\n- todo \r\n\r\n  - [x] ExpWeightedMovAvg -> events ticker\r\n  - [ ] more unit test\r\n     - [ ] ewma & percentile\r\n     - [ ] use pipe builder build an healthchecker\r\n  - [x] support message filter, processing reconfiguration\r\n         can be achieved by create another logary instance, but needs user create logger through static create, if user create log through an logary instance, things does not work for this situation. and we should think about how to stop ticker jobs on pipes, see below.\r\n  - [x] targets rule to event processing\r\n    - [ ] if discussion blow passed, need remove rules on target\r\n  - [ ] event format improve mentioned by #257 \r\n  - [ ] complete todo comments part in codebase\r\n  - [ ] **think about how to GC ticker jobs on events, these may leak mem** ?"},"comment":{"url":"https://api.github.com/repos/logary/logary/issues/comments/327227204","html_url":"https://github.com/logary/logary/pull/263#issuecomment-327227204","issue_url":"https://api.github.com/repos/logary/logary/issues/263","id":327227204,"user":{"login":"lust4life","id":3074328,"avatar_url":"https://avatars2.githubusercontent.com/u/3074328?v=4","gravatar_id":"","url":"https://api.github.com/users/lust4life","html_url":"https://github.com/lust4life","followers_url":"https://api.github.com/users/lust4life/followers","following_url":"https://api.github.com/users/lust4life/following{/other_user}","gists_url":"https://api.github.com/users/lust4life/gists{/gist_id}","starred_url":"https://api.github.com/users/lust4life/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lust4life/subscriptions","organizations_url":"https://api.github.com/users/lust4life/orgs","repos_url":"https://api.github.com/users/lust4life/repos","events_url":"https://api.github.com/users/lust4life/events{/privacy}","received_events_url":"https://api.github.com/users/lust4life/received_events","type":"User","site_admin":false},"created_at":"2017-09-05T16:17:21Z","updated_at":"2017-09-05T16:17:21Z","author_association":"CONTRIBUTOR","body":"@haf  [add percentile and EWMA event processing](https://github.com/logary/logary/pull/263/commits/1e1efe02ca5685294651481fb67d2de1b8e0dc0c) ,\r\n\r\n> Metrics/Streams\r\n> \r\n> The aim is to port something of Nessos Streams into a metrics engine, so that the configuration of where to send what names/hieras/messages/metrics/etc is done with code rather than the rules. That way we can add in calculating metrics, like finding the 99th percentile of request latency every rolling 5 second window.\r\n\r\ni think aim here can work now."}}
{"actor":{"display_login":"lust4life"}}