{"action":"created","comment":{"url":"https://api.github.com/repos/bmhatfield/carbon/pulls/comments/92704770","pull_request_review_id":13225835,"id":92704770,"diff_hunk":"@@ -112,6 +112,11 @@ CACHE_QUERY_PORT = 7002\n # listener. You shouldn't change this unless you know what you're doing.\n # CACHE_QUERY_BACKLOG = 1024\n \n+# Set to True to enable the cache to proactively create whisper files\n+# for metrics that are received but don't currently exist in the cache\n+# and also do not already have an existing whisper file. Defaults to False.\n+# CACHE_CREATE_WHISPER_FILES = True","path":"conf/carbon.conf.example","position":7,"original_position":7,"commit_id":"e7840b3f86e2e10e3066dbf9a9531255ffb3030b","original_commit_id":"e7840b3f86e2e10e3066dbf9a9531255ffb3030b","user":{"login":"adamvduke","id":94930,"avatar_url":"https://avatars.githubusercontent.com/u/94930?v=3","gravatar_id":"","url":"https://api.github.com/users/adamvduke","html_url":"https://github.com/adamvduke","followers_url":"https://api.github.com/users/adamvduke/followers","following_url":"https://api.github.com/users/adamvduke/following{/other_user}","gists_url":"https://api.github.com/users/adamvduke/gists{/gist_id}","starred_url":"https://api.github.com/users/adamvduke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamvduke/subscriptions","organizations_url":"https://api.github.com/users/adamvduke/orgs","repos_url":"https://api.github.com/users/adamvduke/repos","events_url":"https://api.github.com/users/adamvduke/events{/privacy}","received_events_url":"https://api.github.com/users/adamvduke/received_events","type":"User","site_admin":false},"body":"Sure, I'm open to changing the name. I prefixed it with `CACHE` because it modifies/is used in the cache. Does that make sense?\r\n\r\n`CACHE_PRECREATE_WHISPER_FILES`?","created_at":"2016-12-15T21:34:34Z","updated_at":"2016-12-15T21:34:34Z","html_url":"https://github.com/bmhatfield/carbon/pull/1#discussion_r92704770","pull_request_url":"https://api.github.com/repos/bmhatfield/carbon/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/comments/92704770"},"html":{"href":"https://github.com/bmhatfield/carbon/pull/1#discussion_r92704770"},"pull_request":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/bmhatfield/carbon/pulls/1","id":97788586,"html_url":"https://github.com/bmhatfield/carbon/pull/1","diff_url":"https://github.com/bmhatfield/carbon/pull/1.diff","patch_url":"https://github.com/bmhatfield/carbon/pull/1.patch","issue_url":"https://api.github.com/repos/bmhatfield/carbon/issues/1","number":1,"state":"open","locked":false,"title":"0.9.x proactively create missing whisper files","user":{"login":"adamvduke","id":94930,"avatar_url":"https://avatars.githubusercontent.com/u/94930?v=3","gravatar_id":"","url":"https://api.github.com/users/adamvduke","html_url":"https://github.com/adamvduke","followers_url":"https://api.github.com/users/adamvduke/followers","following_url":"https://api.github.com/users/adamvduke/following{/other_user}","gists_url":"https://api.github.com/users/adamvduke/gists{/gist_id}","starred_url":"https://api.github.com/users/adamvduke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamvduke/subscriptions","organizations_url":"https://api.github.com/users/adamvduke/orgs","repos_url":"https://api.github.com/users/adamvduke/repos","events_url":"https://api.github.com/users/adamvduke/events{/privacy}","received_events_url":"https://api.github.com/users/adamvduke/received_events","type":"User","site_admin":false},"body":"* extract whisper file creation to a function and move the function to storage.py\r\n* extract recording in memory stats to a separate module to allow easily recording stats without circular dependencies\r\n* move loading storage and aggregation schemas to storage.py\r\n* proactively create whisper files for new metrics in a separate thread/service\r\n\r\nIf the metric is not in the cache AND the file for storing that metric does not exist, create the file to allow querying for those metrics immediately. This is helpful in the case that there is a large backlog of writing new metrics to disk which can cause a significant delay before being able to query for those metrics.","created_at":"2016-12-13T16:42:38Z","updated_at":"2016-12-15T21:34:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"657d39d2400e9e4f74d914b0efca811e41bdb87f","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/bmhatfield/carbon/pulls/1/commits","review_comments_url":"https://api.github.com/repos/bmhatfield/carbon/pulls/1/comments","review_comment_url":"https://api.github.com/repos/bmhatfield/carbon/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bmhatfield/carbon/issues/1/comments","statuses_url":"https://api.github.com/repos/bmhatfield/carbon/statuses/e7840b3f86e2e10e3066dbf9a9531255ffb3030b","head":{"label":"bmhatfield:0.9.x-proactively-create-missing-whisper-files","ref":"0.9.x-proactively-create-missing-whisper-files","sha":"e7840b3f86e2e10e3066dbf9a9531255ffb3030b","user":{"login":"bmhatfield","id":1119967,"avatar_url":"https://avatars.githubusercontent.com/u/1119967?v=3","gravatar_id":"","url":"https://api.github.com/users/bmhatfield","html_url":"https://github.com/bmhatfield","followers_url":"https://api.github.com/users/bmhatfield/followers","following_url":"https://api.github.com/users/bmhatfield/following{/other_user}","gists_url":"https://api.github.com/users/bmhatfield/gists{/gist_id}","starred_url":"https://api.github.com/users/bmhatfield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmhatfield/subscriptions","organizations_url":"https://api.github.com/users/bmhatfield/orgs","repos_url":"https://api.github.com/users/bmhatfield/repos","events_url":"https://api.github.com/users/bmhatfield/events{/privacy}","received_events_url":"https://api.github.com/users/bmhatfield/received_events","type":"User","site_admin":false},"repo":{"id":46376888,"name":"carbon","full_name":"bmhatfield/carbon","owner":{"login":"bmhatfield","id":1119967,"avatar_url":"https://avatars.githubusercontent.com/u/1119967?v=3","gravatar_id":"","url":"https://api.github.com/users/bmhatfield","html_url":"https://github.com/bmhatfield","followers_url":"https://api.github.com/users/bmhatfield/followers","following_url":"https://api.github.com/users/bmhatfield/following{/other_user}","gists_url":"https://api.github.com/users/bmhatfield/gists{/gist_id}","starred_url":"https://api.github.com/users/bmhatfield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmhatfield/subscriptions","organizations_url":"https://api.github.com/users/bmhatfield/orgs","repos_url":"https://api.github.com/users/bmhatfield/repos","events_url":"https://api.github.com/users/bmhatfield/events{/privacy}","received_events_url":"https://api.github.com/users/bmhatfield/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bmhatfield/carbon","description":"Carbon is one of the components of Graphite, and is responsible for receiving metrics over the network and writing them down to disk using a storage backend.","fork":true,"url":"https://api.github.com/repos/bmhatfield/carbon","forks_url":"https://api.github.com/repos/bmhatfield/carbon/forks","keys_url":"https://api.github.com/repos/bmhatfield/carbon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bmhatfield/carbon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bmhatfield/carbon/teams","hooks_url":"https://api.github.com/repos/bmhatfield/carbon/hooks","issue_events_url":"https://api.github.com/repos/bmhatfield/carbon/issues/events{/number}","events_url":"https://api.github.com/repos/bmhatfield/carbon/events","assignees_url":"https://api.github.com/repos/bmhatfield/carbon/assignees{/user}","branches_url":"https://api.github.com/repos/bmhatfield/carbon/branches{/branch}","tags_url":"https://api.github.com/repos/bmhatfield/carbon/tags","blobs_url":"https://api.github.com/repos/bmhatfield/carbon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bmhatfield/carbon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bmhatfield/carbon/git/refs{/sha}","trees_url":"https://api.github.com/repos/bmhatfield/carbon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bmhatfield/carbon/statuses/{sha}","languages_url":"https://api.github.com/repos/bmhatfield/carbon/languages","stargazers_url":"https://api.github.com/repos/bmhatfield/carbon/stargazers","contributors_url":"https://api.github.com/repos/bmhatfield/carbon/contributors","subscribers_url":"https://api.github.com/repos/bmhatfield/carbon/subscribers","subscription_url":"https://api.github.com/repos/bmhatfield/carbon/subscription","commits_url":"https://api.github.com/repos/bmhatfield/carbon/commits{/sha}","git_commits_url":"https://api.github.com/repos/bmhatfield/carbon/git/commits{/sha}","comments_url":"https://api.github.com/repos/bmhatfield/carbon/comments{/number}","issue_comment_url":"https://api.github.com/repos/bmhatfield/carbon/issues/comments{/number}","contents_url":"https://api.github.com/repos/bmhatfield/carbon/contents/{+path}","compare_url":"https://api.github.com/repos/bmhatfield/carbon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bmhatfield/carbon/merges","archive_url":"https://api.github.com/repos/bmhatfield/carbon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bmhatfield/carbon/downloads","issues_url":"https://api.github.com/repos/bmhatfield/carbon/issues{/number}","pulls_url":"https://api.github.com/repos/bmhatfield/carbon/pulls{/number}","milestones_url":"https://api.github.com/repos/bmhatfield/carbon/milestones{/number}","notifications_url":"https://api.github.com/repos/bmhatfield/carbon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bmhatfield/carbon/labels{/name}","releases_url":"https://api.github.com/repos/bmhatfield/carbon/releases{/id}","deployments_url":"https://api.github.com/repos/bmhatfield/carbon/deployments","created_at":"2015-11-17T21:34:52Z","updated_at":"2016-01-19T16:34:31Z","pushed_at":"2016-12-15T20:34:26Z","git_url":"git://github.com/bmhatfield/carbon.git","ssh_url":"git@github.com:bmhatfield/carbon.git","clone_url":"https://github.com/bmhatfield/carbon.git","svn_url":"https://github.com/bmhatfield/carbon","homepage":"http://graphite.readthedocs.org/","size":1340,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"bmhatfield:0.9.x","ref":"0.9.x","sha":"8d8d077ef739e6ad80b4c6d92d9a0dc9b19e0e36","user":{"login":"bmhatfield","id":1119967,"avatar_url":"https://avatars.githubusercontent.com/u/1119967?v=3","gravatar_id":"","url":"https://api.github.com/users/bmhatfield","html_url":"https://github.com/bmhatfield","followers_url":"https://api.github.com/users/bmhatfield/followers","following_url":"https://api.github.com/users/bmhatfield/following{/other_user}","gists_url":"https://api.github.com/users/bmhatfield/gists{/gist_id}","starred_url":"https://api.github.com/users/bmhatfield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmhatfield/subscriptions","organizations_url":"https://api.github.com/users/bmhatfield/orgs","repos_url":"https://api.github.com/users/bmhatfield/repos","events_url":"https://api.github.com/users/bmhatfield/events{/privacy}","received_events_url":"https://api.github.com/users/bmhatfield/received_events","type":"User","site_admin":false},"repo":{"id":46376888,"name":"carbon","full_name":"bmhatfield/carbon","owner":{"login":"bmhatfield","id":1119967,"avatar_url":"https://avatars.githubusercontent.com/u/1119967?v=3","gravatar_id":"","url":"https://api.github.com/users/bmhatfield","html_url":"https://github.com/bmhatfield","followers_url":"https://api.github.com/users/bmhatfield/followers","following_url":"https://api.github.com/users/bmhatfield/following{/other_user}","gists_url":"https://api.github.com/users/bmhatfield/gists{/gist_id}","starred_url":"https://api.github.com/users/bmhatfield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmhatfield/subscriptions","organizations_url":"https://api.github.com/users/bmhatfield/orgs","repos_url":"https://api.github.com/users/bmhatfield/repos","events_url":"https://api.github.com/users/bmhatfield/events{/privacy}","received_events_url":"https://api.github.com/users/bmhatfield/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bmhatfield/carbon","description":"Carbon is one of the components of Graphite, and is responsible for receiving metrics over the network and writing them down to disk using a storage backend.","fork":true,"url":"https://api.github.com/repos/bmhatfield/carbon","forks_url":"https://api.github.com/repos/bmhatfield/carbon/forks","keys_url":"https://api.github.com/repos/bmhatfield/carbon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bmhatfield/carbon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bmhatfield/carbon/teams","hooks_url":"https://api.github.com/repos/bmhatfield/carbon/hooks","issue_events_url":"https://api.github.com/repos/bmhatfield/carbon/issues/events{/number}","events_url":"https://api.github.com/repos/bmhatfield/carbon/events","assignees_url":"https://api.github.com/repos/bmhatfield/carbon/assignees{/user}","branches_url":"https://api.github.com/repos/bmhatfield/carbon/branches{/branch}","tags_url":"https://api.github.com/repos/bmhatfield/carbon/tags","blobs_url":"https://api.github.com/repos/bmhatfield/carbon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bmhatfield/carbon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bmhatfield/carbon/git/refs{/sha}","trees_url":"https://api.github.com/repos/bmhatfield/carbon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bmhatfield/carbon/statuses/{sha}","languages_url":"https://api.github.com/repos/bmhatfield/carbon/languages","stargazers_url":"https://api.github.com/repos/bmhatfield/carbon/stargazers","contributors_url":"https://api.github.com/repos/bmhatfield/carbon/contributors","subscribers_url":"https://api.github.com/repos/bmhatfield/carbon/subscribers","subscription_url":"https://api.github.com/repos/bmhatfield/carbon/subscription","commits_url":"https://api.github.com/repos/bmhatfield/carbon/commits{/sha}","git_commits_url":"https://api.github.com/repos/bmhatfield/carbon/git/commits{/sha}","comments_url":"https://api.github.com/repos/bmhatfield/carbon/comments{/number}","issue_comment_url":"https://api.github.com/repos/bmhatfield/carbon/issues/comments{/number}","contents_url":"https://api.github.com/repos/bmhatfield/carbon/contents/{+path}","compare_url":"https://api.github.com/repos/bmhatfield/carbon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bmhatfield/carbon/merges","archive_url":"https://api.github.com/repos/bmhatfield/carbon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bmhatfield/carbon/downloads","issues_url":"https://api.github.com/repos/bmhatfield/carbon/issues{/number}","pulls_url":"https://api.github.com/repos/bmhatfield/carbon/pulls{/number}","milestones_url":"https://api.github.com/repos/bmhatfield/carbon/milestones{/number}","notifications_url":"https://api.github.com/repos/bmhatfield/carbon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bmhatfield/carbon/labels{/name}","releases_url":"https://api.github.com/repos/bmhatfield/carbon/releases{/id}","deployments_url":"https://api.github.com/repos/bmhatfield/carbon/deployments","created_at":"2015-11-17T21:34:52Z","updated_at":"2016-01-19T16:34:31Z","pushed_at":"2016-12-15T20:34:26Z","git_url":"git://github.com/bmhatfield/carbon.git","ssh_url":"git@github.com:bmhatfield/carbon.git","clone_url":"https://github.com/bmhatfield/carbon.git","svn_url":"https://github.com/bmhatfield/carbon","homepage":"http://graphite.readthedocs.org/","size":1340,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/1"},"html":{"href":"https://github.com/bmhatfield/carbon/pull/1"},"issue":{"href":"https://api.github.com/repos/bmhatfield/carbon/issues/1"},"comments":{"href":"https://api.github.com/repos/bmhatfield/carbon/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bmhatfield/carbon/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/bmhatfield/carbon/statuses/e7840b3f86e2e10e3066dbf9a9531255ffb3030b"}}}}
{"actor":{"display_login":"adamvduke"}}