{"action":"created","issue":{"url":"https://api.github.com/repos/elastic/logstash/issues/4631","repository_url":"https://api.github.com/repos/elastic/logstash","labels_url":"https://api.github.com/repos/elastic/logstash/issues/4631/labels{/name}","comments_url":"https://api.github.com/repos/elastic/logstash/issues/4631/comments","events_url":"https://api.github.com/repos/elastic/logstash/issues/4631/events","html_url":"https://github.com/elastic/logstash/pull/4631","id":131485501,"number":4631,"title":"add Event#from_json method","user":{"login":"colinsurprenant","id":2010,"avatar_url":"https://avatars.githubusercontent.com/u/2010?v=3","gravatar_id":"","url":"https://api.github.com/users/colinsurprenant","html_url":"https://github.com/colinsurprenant","followers_url":"https://api.github.com/users/colinsurprenant/followers","following_url":"https://api.github.com/users/colinsurprenant/following{/other_user}","gists_url":"https://api.github.com/users/colinsurprenant/gists{/gist_id}","starred_url":"https://api.github.com/users/colinsurprenant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colinsurprenant/subscriptions","organizations_url":"https://api.github.com/users/colinsurprenant/orgs","repos_url":"https://api.github.com/users/colinsurprenant/repos","events_url":"https://api.github.com/users/colinsurprenant/events{/privacy}","received_events_url":"https://api.github.com/users/colinsurprenant/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/elastic/logstash/labels/enhancement","name":"enhancement","color":"009800"},{"url":"https://api.github.com/repos/elastic/logstash/labels/java%20event","name":"java event","color":"c7def8"},{"url":"https://api.github.com/repos/elastic/logstash/labels/performance-improvements","name":"performance-improvements","color":"fef2c0"},{"url":"https://api.github.com/repos/elastic/logstash/labels/v2.3.0","name":"v2.3.0","color":"ededed"}],"state":"open","locked":false,"assignee":{"login":"talevy","id":388837,"avatar_url":"https://avatars.githubusercontent.com/u/388837?v=3","gravatar_id":"","url":"https://api.github.com/users/talevy","html_url":"https://github.com/talevy","followers_url":"https://api.github.com/users/talevy/followers","following_url":"https://api.github.com/users/talevy/following{/other_user}","gists_url":"https://api.github.com/users/talevy/gists{/gist_id}","starred_url":"https://api.github.com/users/talevy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/talevy/subscriptions","organizations_url":"https://api.github.com/users/talevy/orgs","repos_url":"https://api.github.com/users/talevy/repos","events_url":"https://api.github.com/users/talevy/events{/privacy}","received_events_url":"https://api.github.com/users/talevy/received_events","type":"User","site_admin":false},"milestone":null,"comments":24,"created_at":"2016-02-04T21:58:00Z","updated_at":"2016-02-05T13:28:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/elastic/logstash/pulls/4631","html_url":"https://github.com/elastic/logstash/pull/4631","diff_url":"https://github.com/elastic/logstash/pull/4631.diff","patch_url":"https://github.com/elastic/logstash/pull/4631.patch"},"body":"will fix #4595 \r\n\r\nThis introduces `Event#from_json` which takes as argument a json string and returns a new `Event` object. The idea here is to update the json_lines codec to use this method to avoid double type conversion by first parsing the json to a Ruby structure then passing that structure to the Java Event and go through unnecessary type conversions. the POC has shown a ~50% performance increase using this. \r\n\r\nNote that this PR adds specs for the input corner cases behaviour of the current deserialization behaviour to make sure `from_json` behaves the same way."},"comment":{"url":"https://api.github.com/repos/elastic/logstash/issues/comments/180356785","html_url":"https://github.com/elastic/logstash/pull/4631#issuecomment-180356785","issue_url":"https://api.github.com/repos/elastic/logstash/issues/4631","id":180356785,"user":{"login":"guyboertje","id":84912,"avatar_url":"https://avatars.githubusercontent.com/u/84912?v=3","gravatar_id":"","url":"https://api.github.com/users/guyboertje","html_url":"https://github.com/guyboertje","followers_url":"https://api.github.com/users/guyboertje/followers","following_url":"https://api.github.com/users/guyboertje/following{/other_user}","gists_url":"https://api.github.com/users/guyboertje/gists{/gist_id}","starred_url":"https://api.github.com/users/guyboertje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guyboertje/subscriptions","organizations_url":"https://api.github.com/users/guyboertje/orgs","repos_url":"https://api.github.com/users/guyboertje/repos","events_url":"https://api.github.com/users/guyboertje/events{/privacy}","received_events_url":"https://api.github.com/users/guyboertje/received_events","type":"User","site_admin":false},"created_at":"2016-02-05T13:28:51Z","updated_at":"2016-02-05T13:28:51Z","body":"@colinsurprenant - are you doing the json codec too?"}}