{"action":"opened","issue":{"url":"https://api.github.com/repos/olegfedoseev/pinba-server/issues/9","labels_url":"https://api.github.com/repos/olegfedoseev/pinba-server/issues/9/labels{/name}","comments_url":"https://api.github.com/repos/olegfedoseev/pinba-server/issues/9/comments","events_url":"https://api.github.com/repos/olegfedoseev/pinba-server/issues/9/events","html_url":"https://github.com/olegfedoseev/pinba-server/issues/9","id":110564198,"number":9,"title":"Рефакторинг: отеление процессоров от publisher'ов, listener'ов и т.д.","user":{"login":"AlexeyKupershtokh","id":499778,"avatar_url":"https://avatars.githubusercontent.com/u/499778?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexeyKupershtokh","html_url":"https://github.com/AlexeyKupershtokh","followers_url":"https://api.github.com/users/AlexeyKupershtokh/followers","following_url":"https://api.github.com/users/AlexeyKupershtokh/following{/other_user}","gists_url":"https://api.github.com/users/AlexeyKupershtokh/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexeyKupershtokh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexeyKupershtokh/subscriptions","organizations_url":"https://api.github.com/users/AlexeyKupershtokh/orgs","repos_url":"https://api.github.com/users/AlexeyKupershtokh/repos","events_url":"https://api.github.com/users/AlexeyKupershtokh/events{/privacy}","received_events_url":"https://api.github.com/users/AlexeyKupershtokh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-09T00:00:45Z","updated_at":"2015-10-09T00:00:45Z","closed_at":null,"body":"Сейчас классы типа aggregator/publisher.go и decoder/listener.go содержат в себе логику и пересылки по сети, и декодирования, агрегации, и т.д.\r\nКак мне кажется, было бы полезным разделить эту логику, чтобы:\r\n1) можно было их отдельно юнит-тестировать\r\n2) можно было легче менять входы и выходы, независимо от логики процессоров (вопрос: что нужно сделать, чтобы научить писать, например, в influxdb?)\r\n3) можно было написать демон, используя уже готовые компоненты, который бы содержал в себе все сразу: listener, collector, decoder, aggregator b writer. Я понимаю цели, зачем это все было разделено по разным демонам, но для некоторых окружений было бы полезней все упростить."}}