{"action":"created","issue":{"url":"https://api.github.com/repos/letsencrypt/boulder/issues/909","labels_url":"https://api.github.com/repos/letsencrypt/boulder/issues/909/labels{/name}","comments_url":"https://api.github.com/repos/letsencrypt/boulder/issues/909/comments","events_url":"https://api.github.com/repos/letsencrypt/boulder/issues/909/events","html_url":"https://github.com/letsencrypt/boulder/issues/909","id":109641837,"number":909,"title":"Replace RPC correlation ids with int64","user":{"login":"jsha","id":220205,"avatar_url":"https://avatars.githubusercontent.com/u/220205?v=3","gravatar_id":"","url":"https://api.github.com/users/jsha","html_url":"https://github.com/jsha","followers_url":"https://api.github.com/users/jsha/followers","following_url":"https://api.github.com/users/jsha/following{/other_user}","gists_url":"https://api.github.com/users/jsha/gists{/gist_id}","starred_url":"https://api.github.com/users/jsha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsha/subscriptions","organizations_url":"https://api.github.com/users/jsha/orgs","repos_url":"https://api.github.com/users/jsha/repos","events_url":"https://api.github.com/users/jsha/events{/privacy}","received_events_url":"https://api.github.com/users/jsha/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/letsencrypt/boulder/labels/performance","name":"performance","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-03T19:56:35Z","updated_at":"2015-10-04T01:04:46Z","closed_at":null,"body":"Right now we use the RandomString method, which generates 32 random bytes, then base64 encodes and unpads them. This causes a lot of memory allocations, which causes GC pressure, which causes extreme slowness under load. Since correlation ids only need to be unique within the scope of a single process, we can do just fine with a random int64."},"comment":{"url":"https://api.github.com/repos/letsencrypt/boulder/issues/comments/145303895","html_url":"https://github.com/letsencrypt/boulder/issues/909#issuecomment-145303895","issue_url":"https://api.github.com/repos/letsencrypt/boulder/issues/909","id":145303895,"user":{"login":"jmhodges","id":598,"avatar_url":"https://avatars.githubusercontent.com/u/598?v=3","gravatar_id":"","url":"https://api.github.com/users/jmhodges","html_url":"https://github.com/jmhodges","followers_url":"https://api.github.com/users/jmhodges/followers","following_url":"https://api.github.com/users/jmhodges/following{/other_user}","gists_url":"https://api.github.com/users/jmhodges/gists{/gist_id}","starred_url":"https://api.github.com/users/jmhodges/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmhodges/subscriptions","organizations_url":"https://api.github.com/users/jmhodges/orgs","repos_url":"https://api.github.com/users/jmhodges/repos","events_url":"https://api.github.com/users/jmhodges/events{/privacy}","received_events_url":"https://api.github.com/users/jmhodges/received_events","type":"User","site_admin":false},"created_at":"2015-10-04T01:04:46Z","updated_at":"2015-10-04T01:04:46Z","body":"What's meant by \"a lot of allocations\": on a local test of issuance requests in the ca, we saw 48% of the boulder-ca heap being devoted to memory allocated by the strings.Replace call in core.unpad.\r\n\r\nunpad can be fixed (and I have a branch to do so), but we don't really need a 32-bytes base64 encoded string when an 8 byte int will do."}}