{"action":"created","comment":{"url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/comments/211322449","pull_request_review_id":147718365,"id":211322449,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTMyMjQ0OQ==","diff_hunk":"@@ -27,8 +27,8 @@\n \n   describe \"2.5.0\" do\n     it \"works\" do\n-      Hatchet::Runner.new(\"ruby_25\").deploy do\n-        # works\n+      Hatchet::Runner.new(\"ruby_25\").deploy do |app|\n+        #","path":"spec/hatchet/ruby_spec.rb","position":7,"original_position":7,"commit_id":"d6a8796928af7026d6bcb520eae8b649e2a7294e","original_commit_id":"d6a8796928af7026d6bcb520eae8b649e2a7294e","user":{"login":"calebthompson","id":711717,"node_id":"MDQ6VXNlcjcxMTcxNw==","avatar_url":"https://avatars0.githubusercontent.com/u/711717?v=4","gravatar_id":"","url":"https://api.github.com/users/calebthompson","html_url":"https://github.com/calebthompson","followers_url":"https://api.github.com/users/calebthompson/followers","following_url":"https://api.github.com/users/calebthompson/following{/other_user}","gists_url":"https://api.github.com/users/calebthompson/gists{/gist_id}","starred_url":"https://api.github.com/users/calebthompson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calebthompson/subscriptions","organizations_url":"https://api.github.com/users/calebthompson/orgs","repos_url":"https://api.github.com/users/calebthompson/repos","events_url":"https://api.github.com/users/calebthompson/events{/privacy}","received_events_url":"https://api.github.com/users/calebthompson/received_events","type":"User","site_admin":false},"body":"?","created_at":"2018-08-20T16:17:44Z","updated_at":"2018-08-20T16:18:11Z","html_url":"https://github.com/heroku/heroku-buildpack-ruby/pull/752#discussion_r211322449","pull_request_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/comments/211322449"},"html":{"href":"https://github.com/heroku/heroku-buildpack-ruby/pull/752#discussion_r211322449"},"pull_request":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752"}}},"pull_request":{"url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752","id":184209928,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg0MjA5OTI4","html_url":"https://github.com/heroku/heroku-buildpack-ruby/pull/752","diff_url":"https://github.com/heroku/heroku-buildpack-ruby/pull/752.diff","patch_url":"https://github.com/heroku/heroku-buildpack-ruby/pull/752.patch","issue_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/752","number":752,"state":"open","locked":false,"title":"[close #751] Default MALLOC_ARENA_MAX new apps","user":{"login":"schneems","id":59744,"node_id":"MDQ6VXNlcjU5NzQ0","avatar_url":"https://avatars2.githubusercontent.com/u/59744?v=4","gravatar_id":"","url":"https://api.github.com/users/schneems","html_url":"https://github.com/schneems","followers_url":"https://api.github.com/users/schneems/followers","following_url":"https://api.github.com/users/schneems/following{/other_user}","gists_url":"https://api.github.com/users/schneems/gists{/gist_id}","starred_url":"https://api.github.com/users/schneems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schneems/subscriptions","organizations_url":"https://api.github.com/users/schneems/orgs","repos_url":"https://api.github.com/users/schneems/repos","events_url":"https://api.github.com/users/schneems/events{/privacy}","received_events_url":"https://api.github.com/users/schneems/received_events","type":"User","site_admin":false},"body":"This PR will set MALLOC_ARENA_MAX=2 by default for new Ruby apps and for any apps running on the heroku-18 stack (when released).\r\n\r\nWhile we currently have [documentation on tuning the memory behavior of glibc by setting this environment variable](https://devcenter.heroku.com/articles/tuning-glibc-memory-behavior) the default does not produce good results for Ruby applications that are using threads:\r\n\r\n- https://www.mikeperham.com/2018/04/25/taming-rails-memory-bloat/\r\n- https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html\r\n\r\nIn general most Ruby applications are memory bound and by decreasing the memory footprint of the application we can enable scaling out via more workers. Less memory might also mean a cheaper to run application, as it consumes fewer resources.\r\n\r\nSetting this value is not entirely free. It does come with a performance trade off. For more information, see how we originally benchmarked this setting:\r\n\r\n- https://devcenter.heroku.com/articles/testing-cedar-14-memory-use\r\n\r\nIf a customer’s application is not memory bound and would prefer slightly faster execution over the decreased memory use, they can set their MALLOC_ARENA_MAX to a higher value. The default as specified by the [linux man page](http://man7.org/linux/man-pages/man3/mallopt.3.html) is 8 times the number of cores on the system. Or they can use the 3rd party [jemalloc buildpack](https://elements.heroku.com/buildpacks/mojodna/heroku-buildpack-jemalloc).\r\n\r\nOur documentation will be updated to reflect this change once the PR is merged and deployed.","created_at":"2018-04-26T02:24:34Z","updated_at":"2018-08-20T16:18:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3d0f2f290330d294d4617273369522fff561844a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752/commits","review_comments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752/comments","review_comment_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/752/comments","statuses_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/statuses/d6a8796928af7026d6bcb520eae8b649e2a7294e","head":{"label":"heroku:schneems/malloc-arena-max","ref":"schneems/malloc-arena-max","sha":"d6a8796928af7026d6bcb520eae8b649e2a7294e","user":{"login":"heroku","id":23211,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMjEx","avatar_url":"https://avatars3.githubusercontent.com/u/23211?v=4","gravatar_id":"","url":"https://api.github.com/users/heroku","html_url":"https://github.com/heroku","followers_url":"https://api.github.com/users/heroku/followers","following_url":"https://api.github.com/users/heroku/following{/other_user}","gists_url":"https://api.github.com/users/heroku/gists{/gist_id}","starred_url":"https://api.github.com/users/heroku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heroku/subscriptions","organizations_url":"https://api.github.com/users/heroku/orgs","repos_url":"https://api.github.com/users/heroku/repos","events_url":"https://api.github.com/users/heroku/events{/privacy}","received_events_url":"https://api.github.com/users/heroku/received_events","type":"Organization","site_admin":false},"repo":{"id":1794012,"node_id":"MDEwOlJlcG9zaXRvcnkxNzk0MDEy","name":"heroku-buildpack-ruby","full_name":"heroku/heroku-buildpack-ruby","owner":{"login":"heroku","id":23211,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMjEx","avatar_url":"https://avatars3.githubusercontent.com/u/23211?v=4","gravatar_id":"","url":"https://api.github.com/users/heroku","html_url":"https://github.com/heroku","followers_url":"https://api.github.com/users/heroku/followers","following_url":"https://api.github.com/users/heroku/following{/other_user}","gists_url":"https://api.github.com/users/heroku/gists{/gist_id}","starred_url":"https://api.github.com/users/heroku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heroku/subscriptions","organizations_url":"https://api.github.com/users/heroku/orgs","repos_url":"https://api.github.com/users/heroku/repos","events_url":"https://api.github.com/users/heroku/events{/privacy}","received_events_url":"https://api.github.com/users/heroku/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/heroku/heroku-buildpack-ruby","description":"Heroku's Ruby Buildpack","fork":false,"url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby","forks_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/forks","keys_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/teams","hooks_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/hooks","issue_events_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/events{/number}","events_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/events","assignees_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/assignees{/user}","branches_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/branches{/branch}","tags_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/tags","blobs_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/statuses/{sha}","languages_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/languages","stargazers_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/stargazers","contributors_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/contributors","subscribers_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/subscribers","subscription_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/subscription","commits_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/contents/{+path}","compare_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/merges","archive_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/downloads","issues_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues{/number}","pulls_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls{/number}","milestones_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/milestones{/number}","notifications_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/labels{/name}","releases_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/releases{/id}","deployments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/deployments","created_at":"2011-05-24T15:14:41Z","updated_at":"2018-08-20T16:15:17Z","pushed_at":"2018-08-20T16:15:09Z","git_url":"git://github.com/heroku/heroku-buildpack-ruby.git","ssh_url":"git@github.com:heroku/heroku-buildpack-ruby.git","clone_url":"https://github.com/heroku/heroku-buildpack-ruby.git","svn_url":"https://github.com/heroku/heroku-buildpack-ruby","homepage":"","size":8241,"stargazers_count":572,"watchers_count":572,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1569,"mirror_url":null,"archived":false,"open_issues_count":62,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1569,"open_issues":62,"watchers":572,"default_branch":"master"}},"base":{"label":"heroku:master","ref":"master","sha":"901f2490b2e13bf41c4a827072580930850e774c","user":{"login":"heroku","id":23211,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMjEx","avatar_url":"https://avatars3.githubusercontent.com/u/23211?v=4","gravatar_id":"","url":"https://api.github.com/users/heroku","html_url":"https://github.com/heroku","followers_url":"https://api.github.com/users/heroku/followers","following_url":"https://api.github.com/users/heroku/following{/other_user}","gists_url":"https://api.github.com/users/heroku/gists{/gist_id}","starred_url":"https://api.github.com/users/heroku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heroku/subscriptions","organizations_url":"https://api.github.com/users/heroku/orgs","repos_url":"https://api.github.com/users/heroku/repos","events_url":"https://api.github.com/users/heroku/events{/privacy}","received_events_url":"https://api.github.com/users/heroku/received_events","type":"Organization","site_admin":false},"repo":{"id":1794012,"node_id":"MDEwOlJlcG9zaXRvcnkxNzk0MDEy","name":"heroku-buildpack-ruby","full_name":"heroku/heroku-buildpack-ruby","owner":{"login":"heroku","id":23211,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMjEx","avatar_url":"https://avatars3.githubusercontent.com/u/23211?v=4","gravatar_id":"","url":"https://api.github.com/users/heroku","html_url":"https://github.com/heroku","followers_url":"https://api.github.com/users/heroku/followers","following_url":"https://api.github.com/users/heroku/following{/other_user}","gists_url":"https://api.github.com/users/heroku/gists{/gist_id}","starred_url":"https://api.github.com/users/heroku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heroku/subscriptions","organizations_url":"https://api.github.com/users/heroku/orgs","repos_url":"https://api.github.com/users/heroku/repos","events_url":"https://api.github.com/users/heroku/events{/privacy}","received_events_url":"https://api.github.com/users/heroku/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/heroku/heroku-buildpack-ruby","description":"Heroku's Ruby Buildpack","fork":false,"url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby","forks_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/forks","keys_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/teams","hooks_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/hooks","issue_events_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/events{/number}","events_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/events","assignees_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/assignees{/user}","branches_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/branches{/branch}","tags_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/tags","blobs_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/refs{/sha}","trees_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/statuses/{sha}","languages_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/languages","stargazers_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/stargazers","contributors_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/contributors","subscribers_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/subscribers","subscription_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/subscription","commits_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/commits{/sha}","git_commits_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/git/commits{/sha}","comments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/comments{/number}","issue_comment_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/comments{/number}","contents_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/contents/{+path}","compare_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/merges","archive_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/downloads","issues_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues{/number}","pulls_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls{/number}","milestones_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/milestones{/number}","notifications_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/labels{/name}","releases_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/releases{/id}","deployments_url":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/deployments","created_at":"2011-05-24T15:14:41Z","updated_at":"2018-08-20T16:15:17Z","pushed_at":"2018-08-20T16:15:09Z","git_url":"git://github.com/heroku/heroku-buildpack-ruby.git","ssh_url":"git@github.com:heroku/heroku-buildpack-ruby.git","clone_url":"https://github.com/heroku/heroku-buildpack-ruby.git","svn_url":"https://github.com/heroku/heroku-buildpack-ruby","homepage":"","size":8241,"stargazers_count":572,"watchers_count":572,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1569,"mirror_url":null,"archived":false,"open_issues_count":62,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":1569,"open_issues":62,"watchers":572,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752"},"html":{"href":"https://github.com/heroku/heroku-buildpack-ruby/pull/752"},"issue":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/752"},"comments":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/issues/752/comments"},"review_comments":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752/comments"},"review_comment":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/pulls/752/commits"},"statuses":{"href":"https://api.github.com/repos/heroku/heroku-buildpack-ruby/statuses/d6a8796928af7026d6bcb520eae8b649e2a7294e"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"calebthompson"}}