{"action":"created","issue":{"url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/58","repository_url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias","labels_url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/58/labels{/name}","comments_url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/58/comments","events_url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/58/events","html_url":"https://github.com/IntegratedAlarmSystem-Group/ias/issues/58","id":291978803,"number":58,"title":"Uniform plugin and DASU handling of validity and automatic send time interval","user":{"login":"acaproni","id":8500519,"avatar_url":"https://avatars1.githubusercontent.com/u/8500519?v=4","gravatar_id":"","url":"https://api.github.com/users/acaproni","html_url":"https://github.com/acaproni","followers_url":"https://api.github.com/users/acaproni/followers","following_url":"https://api.github.com/users/acaproni/following{/other_user}","gists_url":"https://api.github.com/users/acaproni/gists{/gist_id}","starred_url":"https://api.github.com/users/acaproni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acaproni/subscriptions","organizations_url":"https://api.github.com/users/acaproni/orgs","repos_url":"https://api.github.com/users/acaproni/repos","events_url":"https://api.github.com/users/acaproni/events{/privacy}","received_events_url":"https://api.github.com/users/acaproni/received_events","type":"User","site_admin":false},"labels":[{"id":637462961,"url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/labels/In%20progress","name":"In progress","color":"006b75","default":false},{"id":859329890,"url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/labels/compatibility-change","name":"compatibility-change","color":"d3b2f7","default":false}],"state":"open","locked":false,"assignee":{"login":"acaproni","id":8500519,"avatar_url":"https://avatars1.githubusercontent.com/u/8500519?v=4","gravatar_id":"","url":"https://api.github.com/users/acaproni","html_url":"https://github.com/acaproni","followers_url":"https://api.github.com/users/acaproni/followers","following_url":"https://api.github.com/users/acaproni/following{/other_user}","gists_url":"https://api.github.com/users/acaproni/gists{/gist_id}","starred_url":"https://api.github.com/users/acaproni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acaproni/subscriptions","organizations_url":"https://api.github.com/users/acaproni/orgs","repos_url":"https://api.github.com/users/acaproni/repos","events_url":"https://api.github.com/users/acaproni/events{/privacy}","received_events_url":"https://api.github.com/users/acaproni/received_events","type":"User","site_admin":false},"assignees":[{"login":"acaproni","id":8500519,"avatar_url":"https://avatars1.githubusercontent.com/u/8500519?v=4","gravatar_id":"","url":"https://api.github.com/users/acaproni","html_url":"https://github.com/acaproni","followers_url":"https://api.github.com/users/acaproni/followers","following_url":"https://api.github.com/users/acaproni/following{/other_user}","gists_url":"https://api.github.com/users/acaproni/gists{/gist_id}","starred_url":"https://api.github.com/users/acaproni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acaproni/subscriptions","organizations_url":"https://api.github.com/users/acaproni/orgs","repos_url":"https://api.github.com/users/acaproni/repos","events_url":"https://api.github.com/users/acaproni/events{/privacy}","received_events_url":"https://api.github.com/users/acaproni/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-01-26T17:44:29Z","updated_at":"2018-04-23T18:59:37Z","closed_at":null,"author_association":"OWNER","body":"This is a follow up of #52 to uniform the plugin behavior to that of DASUs\r\n\r\nThe plugins should send the monitor point values and alarms on change and at regular time intervals as DASUs do. \r\n\r\nNow plugins collect the monitor point data to send and send all of them together:\r\n- when the throttling time expires (default 500 msec)\r\n- the size of the buffer reaches the maximum allowed size\r\n\r\nEach monitor point is also sent to the BSDB at the refresh rate (msec) of the monitor point read from its configuration. For that each [MonitoredValue](https://github.com/IntegratedAlarmSystem-Group/ias/blob/develop/plugin/src/java/org/eso/ias/plugin/MonitoredValue.java) schedule a periodic thread every ` refreshRate`  msecs.\r\n\r\nThe refresh rate should instead be used to assess the validity of the monitor point but does not affect its automatic sending time (@see discussion in #52 for the DASUs)\r\n\r\nAt a first glance, to fix this ticket we have to\r\n- [x] add a global auto send parameter to the plugin configuration\r\n- [x] a dd a property to customize the auto send time interval (defaults to 5 seconds like the one used by DASUs)\r\n- [ ] remove the thread from the [MonitoredValue](https://github.com/IntegratedAlarmSystem-Group/ias/blob/develop/plugin/src/java/org/eso/ias/plugin/MonitoredValue.java) and instantiate a global thread for automatic sending of all the monitored values and alarms shipped by the plugin\r\n- [x] asses the validity of monitor points before publishing to the BSDB\r\n\r\nNote that actually there are only 2 types of validity but there will be more and not dependent of the actual time against the refresh time. For example, it could make sense to have a validity to report that the value read from the monitored system is invalid because has a wrong format or is out of range."},"comment":{"url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/comments/383685601","html_url":"https://github.com/IntegratedAlarmSystem-Group/ias/issues/58#issuecomment-383685601","issue_url":"https://api.github.com/repos/IntegratedAlarmSystem-Group/ias/issues/58","id":383685601,"user":{"login":"acaproni","id":8500519,"avatar_url":"https://avatars1.githubusercontent.com/u/8500519?v=4","gravatar_id":"","url":"https://api.github.com/users/acaproni","html_url":"https://github.com/acaproni","followers_url":"https://api.github.com/users/acaproni/followers","following_url":"https://api.github.com/users/acaproni/following{/other_user}","gists_url":"https://api.github.com/users/acaproni/gists{/gist_id}","starred_url":"https://api.github.com/users/acaproni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acaproni/subscriptions","organizations_url":"https://api.github.com/users/acaproni/orgs","repos_url":"https://api.github.com/users/acaproni/repos","events_url":"https://api.github.com/users/acaproni/events{/privacy}","received_events_url":"https://api.github.com/users/acaproni/received_events","type":"User","site_admin":false},"created_at":"2018-04-23T18:59:37Z","updated_at":"2018-04-23T18:59:37Z","author_association":"OWNER","body":"This ticket is labelled for backward compatibility but it is actually compatible with previous versions as far as regard the API and the CDB:\r\n* the settings of the global `autoSendTimeInterval` in the CDB is optional and if not set a default of 5 seconds is uset\r\n* fixes in the code are isolated to internals of the plugin that are not used by implementations of the plugins\r\n\r\nFrom a pure functional point of view, the immediate effect of implementing this ticket is that the number of values sent to the BSDB is reduced because if a value is not changed then it is not sent unless the time interval of the periodic send elapses. The refresh rate of each monitor point is used only to assess the validity but does not play a role in the frequency a value is sent."}}
{"actor":{"display_login":"acaproni"}}