{"action":"created","comment":{"url":"https://api.github.com/repos/AppScale/appscale/pulls/comments/116110630","pull_request_review_id":37694771,"id":116110630,"diff_hunk":"@@ -222,11 +224,11 @@ def create_br_json_data(role, type, bucket_name, index, storage):\n   if role == 'db_master':\n     data[JSONTags.TYPE] = 'cassandra_{0}'.format(type)\n     data[JSONTags.OBJECT_NAME] = \"gs://{0}{1}\".format(bucket_name,\n-      hermes_constants.DB_MASTER_OBJECT_NAME)\n+                                                      constants.DB_MASTER_OBJECT_NAME)\n   elif role == 'db_slave':\n     data[JSONTags.TYPE] = 'cassandra_{0}'.format(type)\n     data[JSONTags.OBJECT_NAME] = \"gs://{0}{1}\".format(bucket_name,\n-      hermes_constants.DB_SLAVE_OBJECT_NAME.format(index))\n+                                                      constants.DB_SLAVE_OBJECT_NAME.format(index))","path":"Hermes/appscale/hermes/helper.py","position":93,"original_position":93,"commit_id":"fdf1dc561b54d72b43929b005bb6958219baedc0","original_commit_id":"fdf1dc561b54d72b43929b005bb6958219baedc0","user":{"login":"tmarballi","id":2028904,"avatar_url":"https://avatars1.githubusercontent.com/u/2028904?v=3","gravatar_id":"","url":"https://api.github.com/users/tmarballi","html_url":"https://github.com/tmarballi","followers_url":"https://api.github.com/users/tmarballi/followers","following_url":"https://api.github.com/users/tmarballi/following{/other_user}","gists_url":"https://api.github.com/users/tmarballi/gists{/gist_id}","starred_url":"https://api.github.com/users/tmarballi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmarballi/subscriptions","organizations_url":"https://api.github.com/users/tmarballi/orgs","repos_url":"https://api.github.com/users/tmarballi/repos","events_url":"https://api.github.com/users/tmarballi/events{/privacy}","received_events_url":"https://api.github.com/users/tmarballi/received_events","type":"User","site_admin":false},"body":"Same here.","created_at":"2017-05-11T21:48:17Z","updated_at":"2017-05-11T21:51:46Z","html_url":"https://github.com/AppScale/appscale/pull/2424#discussion_r116110630","pull_request_url":"https://api.github.com/repos/AppScale/appscale/pulls/2424","_links":{"self":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/comments/116110630"},"html":{"href":"https://github.com/AppScale/appscale/pull/2424#discussion_r116110630"},"pull_request":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/2424"}}},"pull_request":{"url":"https://api.github.com/repos/AppScale/appscale/pulls/2424","id":118160531,"html_url":"https://github.com/AppScale/appscale/pull/2424","diff_url":"https://github.com/AppScale/appscale/pull/2424.diff","patch_url":"https://github.com/AppScale/appscale/pull/2424.patch","issue_url":"https://api.github.com/repos/AppScale/appscale/issues/2424","number":2424,"state":"open","locked":false,"title":"New hermes stats","user":{"login":"jeanleonov","id":1332456,"avatar_url":"https://avatars3.githubusercontent.com/u/1332456?v=3","gravatar_id":"","url":"https://api.github.com/users/jeanleonov","html_url":"https://github.com/jeanleonov","followers_url":"https://api.github.com/users/jeanleonov/followers","following_url":"https://api.github.com/users/jeanleonov/following{/other_user}","gists_url":"https://api.github.com/users/jeanleonov/gists{/gist_id}","starred_url":"https://api.github.com/users/jeanleonov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeanleonov/subscriptions","organizations_url":"https://api.github.com/users/jeanleonov/orgs","repos_url":"https://api.github.com/users/jeanleonov/repos","events_url":"https://api.github.com/users/jeanleonov/events{/privacy}","received_events_url":"https://api.github.com/users/jeanleonov/received_events","type":"User","site_admin":false},"body":"Here you can see changes to Hermes only (at least AppController need to be changed to make appscale work - will do next week).\r\n\r\nThe structure stats modules is following:\r\n```\r\nhermes\r\n  stats\r\n    producers\r\n       cluster_stats        gets stats from other nodes (reads using timestamp as cursor)\r\n       node_stats           gets nodes stats\r\n       processes_stats     gets processes stats for all monit processes\r\n       proxies_stats      gets proxies stats from haproxy\r\n    subscribers\r\n       cache             receives different kinds of stats and writes it to cache (limited size and TTL are implemented\r\n       portal          will send stats to portal\r\n       profile         will write stats to csv tables\r\n    stats_app        module responsible for configuring all pubsubs and api handlers (process stats can be disabled, proxies stats is available on LB nodes only, cluster stats is available only on master node)\r\n    handlers          handlers to provide access to stats caches, current stats and to cluster stats\r\n    pubsub_base\r\n    unified_service_names  \r\n```\r\nReview volunteers are welcome, but I'll write more docs later, so it makes to wait unless you're want to see what's going on with stats now. \r\n\r\n\r\np.s.: have to go.. will try to add more comments and respond on your comments during weekend and my day-offs","created_at":"2017-04-28T14:09:10Z","updated_at":"2017-05-11T21:51:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fbdc95462b14b048ccffd2c2e5a9702bab98ee30","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/AppScale/appscale/pulls/2424/commits","review_comments_url":"https://api.github.com/repos/AppScale/appscale/pulls/2424/comments","review_comment_url":"https://api.github.com/repos/AppScale/appscale/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AppScale/appscale/issues/2424/comments","statuses_url":"https://api.github.com/repos/AppScale/appscale/statuses/fdf1dc561b54d72b43929b005bb6958219baedc0","head":{"label":"jeanleonov:new-hermes-stats","ref":"new-hermes-stats","sha":"fdf1dc561b54d72b43929b005bb6958219baedc0","user":{"login":"jeanleonov","id":1332456,"avatar_url":"https://avatars3.githubusercontent.com/u/1332456?v=3","gravatar_id":"","url":"https://api.github.com/users/jeanleonov","html_url":"https://github.com/jeanleonov","followers_url":"https://api.github.com/users/jeanleonov/followers","following_url":"https://api.github.com/users/jeanleonov/following{/other_user}","gists_url":"https://api.github.com/users/jeanleonov/gists{/gist_id}","starred_url":"https://api.github.com/users/jeanleonov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeanleonov/subscriptions","organizations_url":"https://api.github.com/users/jeanleonov/orgs","repos_url":"https://api.github.com/users/jeanleonov/repos","events_url":"https://api.github.com/users/jeanleonov/events{/privacy}","received_events_url":"https://api.github.com/users/jeanleonov/received_events","type":"User","site_admin":false},"repo":{"id":79106451,"name":"appscale","full_name":"jeanleonov/appscale","owner":{"login":"jeanleonov","id":1332456,"avatar_url":"https://avatars3.githubusercontent.com/u/1332456?v=3","gravatar_id":"","url":"https://api.github.com/users/jeanleonov","html_url":"https://github.com/jeanleonov","followers_url":"https://api.github.com/users/jeanleonov/followers","following_url":"https://api.github.com/users/jeanleonov/following{/other_user}","gists_url":"https://api.github.com/users/jeanleonov/gists{/gist_id}","starred_url":"https://api.github.com/users/jeanleonov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeanleonov/subscriptions","organizations_url":"https://api.github.com/users/jeanleonov/orgs","repos_url":"https://api.github.com/users/jeanleonov/repos","events_url":"https://api.github.com/users/jeanleonov/events{/privacy}","received_events_url":"https://api.github.com/users/jeanleonov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jeanleonov/appscale","description":"The Open Source Implementation of Google App Engine -- Take your apps everywhere.","fork":true,"url":"https://api.github.com/repos/jeanleonov/appscale","forks_url":"https://api.github.com/repos/jeanleonov/appscale/forks","keys_url":"https://api.github.com/repos/jeanleonov/appscale/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jeanleonov/appscale/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jeanleonov/appscale/teams","hooks_url":"https://api.github.com/repos/jeanleonov/appscale/hooks","issue_events_url":"https://api.github.com/repos/jeanleonov/appscale/issues/events{/number}","events_url":"https://api.github.com/repos/jeanleonov/appscale/events","assignees_url":"https://api.github.com/repos/jeanleonov/appscale/assignees{/user}","branches_url":"https://api.github.com/repos/jeanleonov/appscale/branches{/branch}","tags_url":"https://api.github.com/repos/jeanleonov/appscale/tags","blobs_url":"https://api.github.com/repos/jeanleonov/appscale/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jeanleonov/appscale/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jeanleonov/appscale/git/refs{/sha}","trees_url":"https://api.github.com/repos/jeanleonov/appscale/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jeanleonov/appscale/statuses/{sha}","languages_url":"https://api.github.com/repos/jeanleonov/appscale/languages","stargazers_url":"https://api.github.com/repos/jeanleonov/appscale/stargazers","contributors_url":"https://api.github.com/repos/jeanleonov/appscale/contributors","subscribers_url":"https://api.github.com/repos/jeanleonov/appscale/subscribers","subscription_url":"https://api.github.com/repos/jeanleonov/appscale/subscription","commits_url":"https://api.github.com/repos/jeanleonov/appscale/commits{/sha}","git_commits_url":"https://api.github.com/repos/jeanleonov/appscale/git/commits{/sha}","comments_url":"https://api.github.com/repos/jeanleonov/appscale/comments{/number}","issue_comment_url":"https://api.github.com/repos/jeanleonov/appscale/issues/comments{/number}","contents_url":"https://api.github.com/repos/jeanleonov/appscale/contents/{+path}","compare_url":"https://api.github.com/repos/jeanleonov/appscale/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jeanleonov/appscale/merges","archive_url":"https://api.github.com/repos/jeanleonov/appscale/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jeanleonov/appscale/downloads","issues_url":"https://api.github.com/repos/jeanleonov/appscale/issues{/number}","pulls_url":"https://api.github.com/repos/jeanleonov/appscale/pulls{/number}","milestones_url":"https://api.github.com/repos/jeanleonov/appscale/milestones{/number}","notifications_url":"https://api.github.com/repos/jeanleonov/appscale/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jeanleonov/appscale/labels{/name}","releases_url":"https://api.github.com/repos/jeanleonov/appscale/releases{/id}","deployments_url":"https://api.github.com/repos/jeanleonov/appscale/deployments","created_at":"2017-01-16T10:12:28Z","updated_at":"2017-01-16T10:13:18Z","pushed_at":"2017-05-11T17:03:25Z","git_url":"git://github.com/jeanleonov/appscale.git","ssh_url":"git@github.com:jeanleonov/appscale.git","clone_url":"https://github.com/jeanleonov/appscale.git","svn_url":"https://github.com/jeanleonov/appscale","homepage":"https://www.appscale.com","size":128334,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"AppScale:master","ref":"master","sha":"4a8de3c2348d9c283b04288564c755e7e05c731c","user":{"login":"AppScale","id":1486044,"avatar_url":"https://avatars3.githubusercontent.com/u/1486044?v=3","gravatar_id":"","url":"https://api.github.com/users/AppScale","html_url":"https://github.com/AppScale","followers_url":"https://api.github.com/users/AppScale/followers","following_url":"https://api.github.com/users/AppScale/following{/other_user}","gists_url":"https://api.github.com/users/AppScale/gists{/gist_id}","starred_url":"https://api.github.com/users/AppScale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AppScale/subscriptions","organizations_url":"https://api.github.com/users/AppScale/orgs","repos_url":"https://api.github.com/users/AppScale/repos","events_url":"https://api.github.com/users/AppScale/events{/privacy}","received_events_url":"https://api.github.com/users/AppScale/received_events","type":"Organization","site_admin":false},"repo":{"id":3803067,"name":"appscale","full_name":"AppScale/appscale","owner":{"login":"AppScale","id":1486044,"avatar_url":"https://avatars3.githubusercontent.com/u/1486044?v=3","gravatar_id":"","url":"https://api.github.com/users/AppScale","html_url":"https://github.com/AppScale","followers_url":"https://api.github.com/users/AppScale/followers","following_url":"https://api.github.com/users/AppScale/following{/other_user}","gists_url":"https://api.github.com/users/AppScale/gists{/gist_id}","starred_url":"https://api.github.com/users/AppScale/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AppScale/subscriptions","organizations_url":"https://api.github.com/users/AppScale/orgs","repos_url":"https://api.github.com/users/AppScale/repos","events_url":"https://api.github.com/users/AppScale/events{/privacy}","received_events_url":"https://api.github.com/users/AppScale/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/AppScale/appscale","description":"The Open Source Implementation of Google App Engine -- Take your apps everywhere.","fork":false,"url":"https://api.github.com/repos/AppScale/appscale","forks_url":"https://api.github.com/repos/AppScale/appscale/forks","keys_url":"https://api.github.com/repos/AppScale/appscale/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AppScale/appscale/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AppScale/appscale/teams","hooks_url":"https://api.github.com/repos/AppScale/appscale/hooks","issue_events_url":"https://api.github.com/repos/AppScale/appscale/issues/events{/number}","events_url":"https://api.github.com/repos/AppScale/appscale/events","assignees_url":"https://api.github.com/repos/AppScale/appscale/assignees{/user}","branches_url":"https://api.github.com/repos/AppScale/appscale/branches{/branch}","tags_url":"https://api.github.com/repos/AppScale/appscale/tags","blobs_url":"https://api.github.com/repos/AppScale/appscale/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AppScale/appscale/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AppScale/appscale/git/refs{/sha}","trees_url":"https://api.github.com/repos/AppScale/appscale/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AppScale/appscale/statuses/{sha}","languages_url":"https://api.github.com/repos/AppScale/appscale/languages","stargazers_url":"https://api.github.com/repos/AppScale/appscale/stargazers","contributors_url":"https://api.github.com/repos/AppScale/appscale/contributors","subscribers_url":"https://api.github.com/repos/AppScale/appscale/subscribers","subscription_url":"https://api.github.com/repos/AppScale/appscale/subscription","commits_url":"https://api.github.com/repos/AppScale/appscale/commits{/sha}","git_commits_url":"https://api.github.com/repos/AppScale/appscale/git/commits{/sha}","comments_url":"https://api.github.com/repos/AppScale/appscale/comments{/number}","issue_comment_url":"https://api.github.com/repos/AppScale/appscale/issues/comments{/number}","contents_url":"https://api.github.com/repos/AppScale/appscale/contents/{+path}","compare_url":"https://api.github.com/repos/AppScale/appscale/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AppScale/appscale/merges","archive_url":"https://api.github.com/repos/AppScale/appscale/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AppScale/appscale/downloads","issues_url":"https://api.github.com/repos/AppScale/appscale/issues{/number}","pulls_url":"https://api.github.com/repos/AppScale/appscale/pulls{/number}","milestones_url":"https://api.github.com/repos/AppScale/appscale/milestones{/number}","notifications_url":"https://api.github.com/repos/AppScale/appscale/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AppScale/appscale/labels{/name}","releases_url":"https://api.github.com/repos/AppScale/appscale/releases{/id}","deployments_url":"https://api.github.com/repos/AppScale/appscale/deployments","created_at":"2012-03-22T22:35:50Z","updated_at":"2017-05-11T20:55:11Z","pushed_at":"2017-05-11T21:05:15Z","git_url":"git://github.com/AppScale/appscale.git","ssh_url":"git@github.com:AppScale/appscale.git","clone_url":"https://github.com/AppScale/appscale.git","svn_url":"https://github.com/AppScale/appscale","homepage":"https://www.appscale.com/community/","size":128036,"stargazers_count":2262,"watchers_count":2262,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":267,"mirror_url":null,"open_issues_count":13,"forks":267,"open_issues":13,"watchers":2262,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/2424"},"html":{"href":"https://github.com/AppScale/appscale/pull/2424"},"issue":{"href":"https://api.github.com/repos/AppScale/appscale/issues/2424"},"comments":{"href":"https://api.github.com/repos/AppScale/appscale/issues/2424/comments"},"review_comments":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/2424/comments"},"review_comment":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AppScale/appscale/pulls/2424/commits"},"statuses":{"href":"https://api.github.com/repos/AppScale/appscale/statuses/fdf1dc561b54d72b43929b005bb6958219baedc0"}}}}
{"actor":{"display_login":"tmarballi"}}