{"action":"created","comment":{"url":"https://api.github.com/repos/fluent/fluentd/pulls/comments/47829524","id":47829524,"diff_hunk":"@@ -131,8 +131,22 @@ class JSONFormatter < Formatter\n       include HandleTagAndTimeMixin\n       include StructuredFormatMixin\n \n+      config_param :disable_oj, :bool, :default => false","path":"lib/fluent/formatter.rb","position":4,"original_position":4,"commit_id":"f3b54741d214610e9ad00be23efbcb324dc35425","original_commit_id":"f3b54741d214610e9ad00be23efbcb324dc35425","user":{"login":"sonots","id":2290461,"avatar_url":"https://avatars.githubusercontent.com/u/2290461?v=3","gravatar_id":"","url":"https://api.github.com/users/sonots","html_url":"https://github.com/sonots","followers_url":"https://api.github.com/users/sonots/followers","following_url":"https://api.github.com/users/sonots/following{/other_user}","gists_url":"https://api.github.com/users/sonots/gists{/gist_id}","starred_url":"https://api.github.com/users/sonots/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonots/subscriptions","organizations_url":"https://api.github.com/users/sonots/orgs","repos_url":"https://api.github.com/users/sonots/repos","events_url":"https://api.github.com/users/sonots/events{/privacy}","received_events_url":"https://api.github.com/users/sonots/received_events","type":"User","site_admin":false},"body":"Okay, please leave the comment in codes.","created_at":"2015-12-16T20:29:52Z","updated_at":"2015-12-16T20:29:52Z","html_url":"https://github.com/fluent/fluentd/pull/748#discussion_r47829524","pull_request_url":"https://api.github.com/repos/fluent/fluentd/pulls/748","_links":{"self":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/comments/47829524"},"html":{"href":"https://github.com/fluent/fluentd/pull/748#discussion_r47829524"},"pull_request":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/748"}}},"pull_request":{"url":"https://api.github.com/repos/fluent/fluentd/pulls/748","id":53821116,"html_url":"https://github.com/fluent/fluentd/pull/748","diff_url":"https://github.com/fluent/fluentd/pull/748.diff","patch_url":"https://github.com/fluent/fluentd/pull/748.patch","issue_url":"https://api.github.com/repos/fluent/fluentd/issues/748","number":748,"state":"open","locked":false,"title":"Use 'oj' for performance improvement when oj is installed","user":{"login":"repeatedly","id":16928,"avatar_url":"https://avatars.githubusercontent.com/u/16928?v=3","gravatar_id":"","url":"https://api.github.com/users/repeatedly","html_url":"https://github.com/repeatedly","followers_url":"https://api.github.com/users/repeatedly/followers","following_url":"https://api.github.com/users/repeatedly/following{/other_user}","gists_url":"https://api.github.com/users/repeatedly/gists{/gist_id}","starred_url":"https://api.github.com/users/repeatedly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/repeatedly/subscriptions","organizations_url":"https://api.github.com/users/repeatedly/orgs","repos_url":"https://api.github.com/users/repeatedly/repos","events_url":"https://api.github.com/users/repeatedly/events{/privacy}","received_events_url":"https://api.github.com/users/repeatedly/received_events","type":"User","site_admin":false},"body":"oj is faster json library and it improves `JSONParser` performance.\r\nI tested in_tail with following json.\r\n\r\n```js\r\n{\"_id\":\"5671172e7ba230441460f011\",\"index\":0,\"guid\":\"3d18838a-ae85-4986-83c7-e4a4acdd7f01\",\"isActive\":false,\"balance\":\"$3,929.20\",\"picture\":\"http://placehold.it/32x32\",\"age\":40,\"eyeColor\":\"green\",\"company\":\"MEDMEX\",\"email\":\"hardin.sargent@medmex.org\",\"phone\":\"+1 (865) 468-2885\",\"address\":\"302 Buffalo Avenue, Bend, Louisiana, 635\",\"latitude\":\"89.385551\",\"longitude\":\"75.132185\",\"greeting\":\"Hello, Hardin! You have 5 unread messages.\",\"favoriteFruit\":\"banana\"}\r\n```\r\n\r\nResult is\r\n\r\n- Yajl\r\n\r\n```\r\n2015-12-16 18:23:37 +0900 [info]: following tail of /Users/repeatedly/tmp/fluentd/json.log\r\n2015-12-16 18:23:38 +0900 [info]: plugin:out_flowcounter_simple count:2003      indicator:num   unit:second\r\n2015-12-16 18:23:39 +0900 [info]: plugin:out_flowcounter_simple count:21037     indicator:num   unit:second\r\n2015-12-16 18:23:40 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:41 +0900 [info]: plugin:out_flowcounter_simple count:20034     indicator:num   unit:second\r\n2015-12-16 18:23:42 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:43 +0900 [info]: plugin:out_flowcounter_simple count:21037     indicator:num   unit:second\r\n2015-12-16 18:23:44 +0900 [info]: plugin:out_flowcounter_simple count:18031     indicator:num   unit:second\r\n2015-12-16 18:23:45 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:46 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:47 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:48 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:49 +0900 [info]: plugin:out_flowcounter_simple count:20034     indicator:num   unit:second\r\n2015-12-16 18:23:50 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:51 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:52 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:53 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:54 +0900 [info]: plugin:out_flowcounter_simple count:21037     indicator:num   unit:second\r\n2015-12-16 18:23:55 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:56 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:23:57 +0900 [info]: plugin:out_flowcounter_simple count:18031     indicator:num   unit:second\r\n2015-12-16 18:23:58 +0900 [info]: plugin:out_flowcounter_simple count:20035     indicator:num   unit:second\r\n2015-12-16 18:23:59 +0900 [info]: plugin:out_flowcounter_simple count:21036     indicator:num   unit:second\r\n2015-12-16 18:24:00 +0900 [info]: plugin:out_flowcounter_simple count:18032     indicator:num   unit:second\r\n2015-12-16 18:24:01 +0900 [info]: plugin:out_flowcounter_simple count:20034     indicator:num   unit:second\r\n2015-12-16 18:24:02 +0900 [info]: plugin:out_flowcounter_simple count:18032     indicator:num   unit:second\r\n```\r\n\r\n- Oj\r\n\r\n```\r\n2015-12-16 18:25:09 +0900 [info]: following tail of /Users/repeatedly/tmp/fluentd/json.log\r\n2015-12-16 18:25:10 +0900 [info]: plugin:out_flowcounter_simple count:19033     indicator:num   unit:second\r\n2015-12-16 18:25:11 +0900 [info]: plugin:out_flowcounter_simple count:28048     indicator:num   unit:second\r\n2015-12-16 18:25:12 +0900 [info]: plugin:out_flowcounter_simple count:33058     indicator:num   unit:second\r\n2015-12-16 18:25:13 +0900 [info]: plugin:out_flowcounter_simple count:25043     indicator:num   unit:second\r\n2015-12-16 18:25:14 +0900 [info]: plugin:out_flowcounter_simple count:31054     indicator:num   unit:second\r\n2015-12-16 18:25:15 +0900 [info]: plugin:out_flowcounter_simple count:29050     indicator:num   unit:second\r\n2015-12-16 18:25:16 +0900 [info]: plugin:out_flowcounter_simple count:30053     indicator:num   unit:second\r\n2015-12-16 18:25:17 +0900 [info]: plugin:out_flowcounter_simple count:33057     indicator:num   unit:second\r\n2015-12-16 18:25:18 +0900 [info]: plugin:out_flowcounter_simple count:27047     indicator:num   unit:second\r\n2015-12-16 18:25:19 +0900 [info]: plugin:out_flowcounter_simple count:32056     indicator:num   unit:second\r\n2015-12-16 18:25:20 +0900 [info]: plugin:out_flowcounter_simple count:29050     indicator:num   unit:second\r\n2015-12-16 18:25:21 +0900 [info]: plugin:out_flowcounter_simple count:31054     indicator:num   unit:second\r\n2015-12-16 18:25:22 +0900 [info]: plugin:out_flowcounter_simple count:32056     indicator:num   unit:second\r\n2015-12-16 18:25:23 +0900 [info]: plugin:out_flowcounter_simple count:26045     indicator:num   unit:second\r\n2015-12-16 18:25:24 +0900 [info]: plugin:out_flowcounter_simple count:32056     indicator:num   unit:second\r\n2015-12-16 18:25:25 +0900 [info]: plugin:out_flowcounter_simple count:34059     indicator:num   unit:second\r\n2015-12-16 18:25:26 +0900 [info]: plugin:out_flowcounter_simple count:37064     indicator:num   unit:second\r\n2015-12-16 18:25:27 +0900 [info]: plugin:out_flowcounter_simple count:32056     indicator:num   unit:second\r\n2015-12-16 18:25:28 +0900 [info]: plugin:out_flowcounter_simple count:37064     indicator:num   unit:second\r\n2015-12-16 18:25:29 +0900 [info]: plugin:out_flowcounter_simple count:34059     indicator:num   unit:second\r\n2015-12-16 18:25:30 +0900 [info]: plugin:out_flowcounter_simple count:35061     indicator:num   unit:second\r\n2015-12-16 18:25:31 +0900 [info]: plugin:out_flowcounter_simple count:35061     indicator:num   unit:second\r\n2015-12-16 18:25:32 +0900 [info]: plugin:out_flowcounter_simple count:33057     indicator:num   unit:second\r\n```\r\n\r\nOj result is better than Yajl so using oj is better when oj is installed.","created_at":"2015-12-16T10:09:27Z","updated_at":"2015-12-16T20:29:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3bfd7f978c39e6808d7feca3abd8307e90653bec","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fluent/fluentd/pulls/748/commits","review_comments_url":"https://api.github.com/repos/fluent/fluentd/pulls/748/comments","review_comment_url":"https://api.github.com/repos/fluent/fluentd/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fluent/fluentd/issues/748/comments","statuses_url":"https://api.github.com/repos/fluent/fluentd/statuses/f3b54741d214610e9ad00be23efbcb324dc35425","head":{"label":"fluent:support-oj-in-json-parser","ref":"support-oj-in-json-parser","sha":"f3b54741d214610e9ad00be23efbcb324dc35425","user":{"login":"fluent","id":859518,"avatar_url":"https://avatars.githubusercontent.com/u/859518?v=3","gravatar_id":"","url":"https://api.github.com/users/fluent","html_url":"https://github.com/fluent","followers_url":"https://api.github.com/users/fluent/followers","following_url":"https://api.github.com/users/fluent/following{/other_user}","gists_url":"https://api.github.com/users/fluent/gists{/gist_id}","starred_url":"https://api.github.com/users/fluent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluent/subscriptions","organizations_url":"https://api.github.com/users/fluent/orgs","repos_url":"https://api.github.com/users/fluent/repos","events_url":"https://api.github.com/users/fluent/events{/privacy}","received_events_url":"https://api.github.com/users/fluent/received_events","type":"Organization","site_admin":false},"repo":{"id":1918677,"name":"fluentd","full_name":"fluent/fluentd","owner":{"login":"fluent","id":859518,"avatar_url":"https://avatars.githubusercontent.com/u/859518?v=3","gravatar_id":"","url":"https://api.github.com/users/fluent","html_url":"https://github.com/fluent","followers_url":"https://api.github.com/users/fluent/followers","following_url":"https://api.github.com/users/fluent/following{/other_user}","gists_url":"https://api.github.com/users/fluent/gists{/gist_id}","starred_url":"https://api.github.com/users/fluent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluent/subscriptions","organizations_url":"https://api.github.com/users/fluent/orgs","repos_url":"https://api.github.com/users/fluent/repos","events_url":"https://api.github.com/users/fluent/events{/privacy}","received_events_url":"https://api.github.com/users/fluent/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fluent/fluentd","description":"Fluentd data collector","fork":false,"url":"https://api.github.com/repos/fluent/fluentd","forks_url":"https://api.github.com/repos/fluent/fluentd/forks","keys_url":"https://api.github.com/repos/fluent/fluentd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fluent/fluentd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fluent/fluentd/teams","hooks_url":"https://api.github.com/repos/fluent/fluentd/hooks","issue_events_url":"https://api.github.com/repos/fluent/fluentd/issues/events{/number}","events_url":"https://api.github.com/repos/fluent/fluentd/events","assignees_url":"https://api.github.com/repos/fluent/fluentd/assignees{/user}","branches_url":"https://api.github.com/repos/fluent/fluentd/branches{/branch}","tags_url":"https://api.github.com/repos/fluent/fluentd/tags","blobs_url":"https://api.github.com/repos/fluent/fluentd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fluent/fluentd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fluent/fluentd/git/refs{/sha}","trees_url":"https://api.github.com/repos/fluent/fluentd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fluent/fluentd/statuses/{sha}","languages_url":"https://api.github.com/repos/fluent/fluentd/languages","stargazers_url":"https://api.github.com/repos/fluent/fluentd/stargazers","contributors_url":"https://api.github.com/repos/fluent/fluentd/contributors","subscribers_url":"https://api.github.com/repos/fluent/fluentd/subscribers","subscription_url":"https://api.github.com/repos/fluent/fluentd/subscription","commits_url":"https://api.github.com/repos/fluent/fluentd/commits{/sha}","git_commits_url":"https://api.github.com/repos/fluent/fluentd/git/commits{/sha}","comments_url":"https://api.github.com/repos/fluent/fluentd/comments{/number}","issue_comment_url":"https://api.github.com/repos/fluent/fluentd/issues/comments{/number}","contents_url":"https://api.github.com/repos/fluent/fluentd/contents/{+path}","compare_url":"https://api.github.com/repos/fluent/fluentd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fluent/fluentd/merges","archive_url":"https://api.github.com/repos/fluent/fluentd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fluent/fluentd/downloads","issues_url":"https://api.github.com/repos/fluent/fluentd/issues{/number}","pulls_url":"https://api.github.com/repos/fluent/fluentd/pulls{/number}","milestones_url":"https://api.github.com/repos/fluent/fluentd/milestones{/number}","notifications_url":"https://api.github.com/repos/fluent/fluentd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fluent/fluentd/labels{/name}","releases_url":"https://api.github.com/repos/fluent/fluentd/releases{/id}","created_at":"2011-06-19T08:41:40Z","updated_at":"2015-12-16T14:42:30Z","pushed_at":"2015-12-16T20:23:45Z","git_url":"git://github.com/fluent/fluentd.git","ssh_url":"git@github.com:fluent/fluentd.git","clone_url":"https://github.com/fluent/fluentd.git","svn_url":"https://github.com/fluent/fluentd","homepage":"http://www.fluentd.org/","size":13926,"stargazers_count":3629,"watchers_count":3629,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":427,"mirror_url":null,"open_issues_count":49,"forks":427,"open_issues":49,"watchers":3629,"default_branch":"master"}},"base":{"label":"fluent:master","ref":"master","sha":"abbd8816df441cafb7f28205204114e9dd050d31","user":{"login":"fluent","id":859518,"avatar_url":"https://avatars.githubusercontent.com/u/859518?v=3","gravatar_id":"","url":"https://api.github.com/users/fluent","html_url":"https://github.com/fluent","followers_url":"https://api.github.com/users/fluent/followers","following_url":"https://api.github.com/users/fluent/following{/other_user}","gists_url":"https://api.github.com/users/fluent/gists{/gist_id}","starred_url":"https://api.github.com/users/fluent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluent/subscriptions","organizations_url":"https://api.github.com/users/fluent/orgs","repos_url":"https://api.github.com/users/fluent/repos","events_url":"https://api.github.com/users/fluent/events{/privacy}","received_events_url":"https://api.github.com/users/fluent/received_events","type":"Organization","site_admin":false},"repo":{"id":1918677,"name":"fluentd","full_name":"fluent/fluentd","owner":{"login":"fluent","id":859518,"avatar_url":"https://avatars.githubusercontent.com/u/859518?v=3","gravatar_id":"","url":"https://api.github.com/users/fluent","html_url":"https://github.com/fluent","followers_url":"https://api.github.com/users/fluent/followers","following_url":"https://api.github.com/users/fluent/following{/other_user}","gists_url":"https://api.github.com/users/fluent/gists{/gist_id}","starred_url":"https://api.github.com/users/fluent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluent/subscriptions","organizations_url":"https://api.github.com/users/fluent/orgs","repos_url":"https://api.github.com/users/fluent/repos","events_url":"https://api.github.com/users/fluent/events{/privacy}","received_events_url":"https://api.github.com/users/fluent/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fluent/fluentd","description":"Fluentd data collector","fork":false,"url":"https://api.github.com/repos/fluent/fluentd","forks_url":"https://api.github.com/repos/fluent/fluentd/forks","keys_url":"https://api.github.com/repos/fluent/fluentd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fluent/fluentd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fluent/fluentd/teams","hooks_url":"https://api.github.com/repos/fluent/fluentd/hooks","issue_events_url":"https://api.github.com/repos/fluent/fluentd/issues/events{/number}","events_url":"https://api.github.com/repos/fluent/fluentd/events","assignees_url":"https://api.github.com/repos/fluent/fluentd/assignees{/user}","branches_url":"https://api.github.com/repos/fluent/fluentd/branches{/branch}","tags_url":"https://api.github.com/repos/fluent/fluentd/tags","blobs_url":"https://api.github.com/repos/fluent/fluentd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fluent/fluentd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fluent/fluentd/git/refs{/sha}","trees_url":"https://api.github.com/repos/fluent/fluentd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fluent/fluentd/statuses/{sha}","languages_url":"https://api.github.com/repos/fluent/fluentd/languages","stargazers_url":"https://api.github.com/repos/fluent/fluentd/stargazers","contributors_url":"https://api.github.com/repos/fluent/fluentd/contributors","subscribers_url":"https://api.github.com/repos/fluent/fluentd/subscribers","subscription_url":"https://api.github.com/repos/fluent/fluentd/subscription","commits_url":"https://api.github.com/repos/fluent/fluentd/commits{/sha}","git_commits_url":"https://api.github.com/repos/fluent/fluentd/git/commits{/sha}","comments_url":"https://api.github.com/repos/fluent/fluentd/comments{/number}","issue_comment_url":"https://api.github.com/repos/fluent/fluentd/issues/comments{/number}","contents_url":"https://api.github.com/repos/fluent/fluentd/contents/{+path}","compare_url":"https://api.github.com/repos/fluent/fluentd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fluent/fluentd/merges","archive_url":"https://api.github.com/repos/fluent/fluentd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fluent/fluentd/downloads","issues_url":"https://api.github.com/repos/fluent/fluentd/issues{/number}","pulls_url":"https://api.github.com/repos/fluent/fluentd/pulls{/number}","milestones_url":"https://api.github.com/repos/fluent/fluentd/milestones{/number}","notifications_url":"https://api.github.com/repos/fluent/fluentd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fluent/fluentd/labels{/name}","releases_url":"https://api.github.com/repos/fluent/fluentd/releases{/id}","created_at":"2011-06-19T08:41:40Z","updated_at":"2015-12-16T14:42:30Z","pushed_at":"2015-12-16T20:23:45Z","git_url":"git://github.com/fluent/fluentd.git","ssh_url":"git@github.com:fluent/fluentd.git","clone_url":"https://github.com/fluent/fluentd.git","svn_url":"https://github.com/fluent/fluentd","homepage":"http://www.fluentd.org/","size":13926,"stargazers_count":3629,"watchers_count":3629,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":427,"mirror_url":null,"open_issues_count":49,"forks":427,"open_issues":49,"watchers":3629,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/748"},"html":{"href":"https://github.com/fluent/fluentd/pull/748"},"issue":{"href":"https://api.github.com/repos/fluent/fluentd/issues/748"},"comments":{"href":"https://api.github.com/repos/fluent/fluentd/issues/748/comments"},"review_comments":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/748/comments"},"review_comment":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fluent/fluentd/pulls/748/commits"},"statuses":{"href":"https://api.github.com/repos/fluent/fluentd/statuses/f3b54741d214610e9ad00be23efbcb324dc35425"}}}}