{"action":"created","comment":{"url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/comments/23231777","id":23231777,"diff_hunk":"@@ -0,0 +1,439 @@\n+/*##############################################################################\n+#   HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems.\n+#\n+#   Licensed under the Apache License, Version 2.0 (the \"License\");\n+#   you may not use this file except in compliance with the License.\n+#   You may obtain a copy of the License at\n+#\n+#      http://www.apache.org/licenses/LICENSE-2.0\n+#\n+#   Unless required by applicable law or agreed to in writing, software\n+#   distributed under the License is distributed on an \"AS IS\" BASIS,\n+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+#   See the License for the specific language governing permissions and\n+#   limitations under the License.\n+############################################################################## */\n+define([\n+    \"dojo/_base/declare\",\n+    \"dojo/_base/array\",\n+    \"dojo/_base/lang\",\n+    \"dojo/i18n\",\n+    \"dojo/i18n!./nls/ganglia\",\n+    \"dojo/dom\",\n+    \"dojo/_base/array\",\n+    \"dojo/dom-construct\",\n+    \"dojo/dom-attr\",\n+    \"dojo/promise/all\",\n+    \"dojo/store/Memory\",\n+    \"dojo/request/xhr\",\n+    \"dojo/query\",\n+\n+    \"dijit/registry\",\n+    \"dijit/Menu\",\n+    \"dijit/MenuItem\",\n+\n+    \"dgrid/OnDemandGrid\",\n+    \"dgrid/Keyboard\",\n+    \"dgrid/Selection\",\n+    \"dgrid/selector\",\n+    \"dgrid/extensions/ColumnResizer\",\n+    \"dgrid/extensions/DijitRegistry\",\n+\n+    \"./GangliaFilterDropDownWidget\",\n+    \"./WsRrd\",\n+    \"hpcc/_TabContainerWidget\",\n+\n+    \"dojo/text!./templates/GangliaWidget.html\",\n+\n+    \"dijit/layout/BorderContainer\",\n+    \"dijit/layout/TabContainer\",\n+    \"dijit/layout/ContentPane\",\n+    \"dijit/Toolbar\",\n+    \"dijit/form/Button\",\n+    \"dijit/form/Textarea\",\n+    \"dijit/Dialog\",\n+    \"dijit/form/Button\",\n+    \"dijit/form/CheckBox\",\n+    \"dijit/ToolbarSeparator\",\n+    \"dijit/TooltipDialog\",\n+    \"dijit/TitlePane\",\n+    \"dijit/form/DropDownButton\",\n+    \"dijit/form/FilteringSelect\",\n+    \"dijit/CheckedMenuItem\",\n+    \"dijit/MenuSeparator\",\n+    \"dijit/PopupMenuItem\"\n+\n+], function (declare, arrayUtil, lang, i18n, nlsHPCC, dom, arrayUtil, domConstruct, domAttr, all, Memory, xhr, query,\n+                registry, Menu, MenuItem,\n+                OnDemandGrid, Keyboard, Selection, selector, ColumnResizer, DijitRegistry,\n+                GangliaFilterDropDownWidget, WsRrd, _TabContainerWidget,\n+                template,\n+                BorderContainer, TabContainer, ContentPane, Toolbar, Button) {\n+    return declare(\"GangliaWidget\", [_TabContainerWidget], {\n+        templateString: template,\n+        baseClass: \"GangliaWidget\",\n+        i18n: nlsHPCC,\n+\n+        initalized: false,\n+\n+        filter: null,\n+        server: \"\",\n+        cluster: \"\",\n+        metrics: null,\n+        epochFilter: null,\n+        epochNow: null,\n+\n+        postCreate: function (args) {\n+            this.inherited(arguments);\n+            this.clusterTargetSelect = registry.byId(this.id + \"ClusterTargetSelect\");\n+            this.serverTargetSelect = registry.byId(this.id + \"ServerTargetSelect\");\n+            this.metricsTargetSelect = registry.byId(this.id + \"MetricsTargetSelect\");\n+            this.fromGanliaDateRange = registry.byId(this.id + \"FromGanliaDateRange\");\n+            this.tabContainer = registry.byId(this.id + \"TabContainer\");\n+            this.defaultTab = registry.byId(this.id + \"_Custom\");\n+            this.filter = registry.byId(this.id + \"Filter\");\n+        },\n+\n+        //  Hitched actions  ---\n+\n+        //  Implementation  ---\n+        init: function (params) {\n+            var context = this;\n+            if (this.inherited(arguments))\n+                return;\n+\n+            this._buildClusters();\n+            this._buildMetrics();\n+            this._buildTabs();\n+\n+            this.clusterTargetSelect.on('change', function (newValue) {\n+                context.serverTargetSelect.set(\"value\", \"\");\n+                context.cluster = newValue;\n+                context._buildServers();\n+            });\n+\n+            this.serverTargetSelect.on('change', function (newValue) {\n+                context.server = newValue;\n+                context._buildMetrics();\n+            });\n+\n+            this.metricsTargetSelect.on('change', function (newValue) {\n+                context.metrics = newValue;\n+            });\n+\n+            this.filter.on(\"clear\", function (evt) {\n+                context._onFilterType();\n+                context.refreshGrid();\n+            });\n+            this.filter.on(\"apply\", function (evt) {\n+                context._onFilterApply();\n+            });\n+\n+            this.fromGanliaDateRange.set(name, value);\n+\n+            this.fromGanliaDateRange.on('change', function (newValue) {\n+                context._calculateEpoch(newValue);\n+            });\n+        },\n+\n+         initTab: function () {\n+            var currSel = this.getSelectedChild();\n+        },\n+\n+        stringTrim: function () {\n+\n+        },\n+\n+        _calculateEpoch: function(newValue){\n+            var context = this;\n+            this.epochNow = Math.round(new Date().getTime()/1000.0);\n+                switch(newValue) {\n+                    case \"Year\":\n+                        context.epochFilter = context.epochNow - 31556926\n+                    break;\n+                    case \"Month\":\n+                        context.epochFilter = context.epochNow - 2629743\n+                    break;\n+                    case \"Week\":\n+                        context.epochFilter = context.epochNow - 604800\n+                    break;\n+                    case \"Day\":\n+                        context.epochFilter = context.epochNow - 86400\n+                    break;\n+                    case \"Hour\":\n+                        context.epochFilter = context.epochNow - 3600\n+                    break;\n+                    default:\n+                        context.epocFilter = context.epochNow - 31556926;\n+            }\n+        },\n+\n+        _buildClusters: function () {\n+            var context = this;\n+            this.clusterTargetSelect.required = false;\n+            WsRrd.GangliaClusterList({\n+                request:{\n+                    Cluster:\"\",\n+                    Server:\"\"\n+                },\n+            }).then(function (response) {\n+                if (lang.exists(\"GetAvailableClustersResponse\", response)) {\n+                    var output = arrayUtil.map(response.GetAvailableClustersResponse.Clusters.Item, function(item, idx) {\n+                        return {\n+                            name: item,\n+                            id: item\n+                        };\n+                    });\n+                    var myStore = new Memory({\n+                        data: output\n+                    });\n+                    context.clusterTargetSelect.set(\"store\", myStore);\n+                }\n+            });\n+        },\n+\n+        _buildServers: function (newValue) {\n+            var context = this;\n+            console.log(this.serverTargetSelect);\n+            this.serverTargetSelect.required = false;\n+            WsRrd.GangliaServerList({\n+                request:{\n+                    Cluster: context.cluster\n+                },\n+            }).then(function (response) {\n+                if (lang.exists(\"GetAvailableServersForMetricsResponse\", response)) {\n+                    var output = arrayUtil.map(response.GetAvailableServersForMetricsResponse.Servers.Item, function(item, idx) {\n+                        return {\n+                            name: item,\n+                            id: item\n+                        };\n+                    });\n+                    var myStore = new Memory({\n+                        data: output\n+                    });\n+                    context.serverTargetSelect.set(\"store\", myStore);\n+                }\n+            });\n+        },\n+\n+        _buildMetrics: function (newValue) {\n+            var context = this;\n+            this.metricsTargetSelect.required = true;\n+            WsRrd.GangliaMetricList({\n+                request:{\n+                    Cluster:context.cluster,\n+                    Server:context.server\n+                },\n+            }).then(function (response) {\n+                if (lang.exists(\"GetAvailableMetricsResponse.Metrics\", response)) {\n+                    var output = arrayUtil.map(response.GetAvailableMetricsResponse.Metrics.Item.sort(), function(item, idx) {\n+                        return {\n+                            name: item,\n+                            id: item\n+                        };\n+                    });\n+\n+                    var myStore = new Memory({\n+                        data: output\n+                    });\n+                    context.metricsTargetSelect.set(\"store\", myStore);\n+                }\n+            });\n+        },\n+\n+        _buildTabs: function () {\n+            var context = this;\n+            var tabs = registry.byId(this.id + \"TabContainer\");\n+            xhr(\"esp/files/ganglia/ganglia.json\", {\n+                handleAs: \"json\"\n+            }).then(function (data){\n+                arrayUtil.forEach(data.tabs, function(tabItem, idx) {\n+                    arrayUtil.forEach(tabItem.metrics, function(metricItem) {\n+                        arrayUtil.forEach(tabItem.time, function(timeItem) {\n+                            var clean = metricItem.join('\\n');\n+                            var cleanId = tabItem.name.split(' ').join('_');\n+                            context._calculateEpoch(timeItem)\n+                            WsRrd.GangliaRRDGraphList({\n+                                request:{\n+                                    Clusters: \"\",\n+                                    Servers: \"\",\n+                                    RRDMetrics: clean,\n+                                    StartTime: context.epochFilter,\n+                                    EndTime: context.epochNow,\n+                                    Width: data.width,\n+                                    Height: data.height,\n+                                    Title: timeItem\n+                                },\n+                            }).then(function (response) {\n+                                if (lang.exists(\"GraphSVGDataResponse.Graph\", response)) {\n+                                    var node = dom.byId(tabItem.name+idx);\n+                                    var graph = domConstruct.create(\"div\", {\n+                                        innerHTML: response.GraphSVGDataResponse.Graph,\n+                                        id: cleanId+node.children.length,\n+                                        class:'left'\n+                                    }, tabItem.name+idx);\n+                                }\n+                            });\n+                        });\n+                    });\n+                    var bordercontainer = new BorderContainer({\n+                        style: \"height: 100%; width: 100%;\",\n+                        title: tabItem.name.split(' ').join('_'),\n+                        id: tabItem.name.split(' ').join('_'),\n+                        closable: true\n+                    });\n+                    var toolbar = new Toolbar({\n+                        region: \"top\"\n+                    });\n+                    var button = new Button({\n+                        label: \"Refresh\",\n+                        showLabel: true,\n+                        iconClass: \"iconRefresh\",\n+                        onClick: function(){\n+                            var node = dom.byId(tabItem.name+idx);\n+                            query(\".left\", node).forEach(domConstruct.destroy);\n+                            if(node.children.length === 0){\n+                                context._genGraphRefresh(tabItem.name+idx);\n+                            }\n+                        }\n+                    });\n+                    var contentpane = new ContentPane({\n+                        id: tabItem.name+idx,\n+                        region: \"center\"\n+                    });\n+\n+                    bordercontainer.addChild(contentpane);\n+                    bordercontainer.addChild(toolbar);\n+                    toolbar.addChild(button);\n+                    bordercontainer.placeAt(context.tabContainer, idx);\n+                    bordercontainer.startup();\n+                });\n+                context.tabContainer.selectChild(data.tabs[0].name.split(' ').join('_'));\n+                /*setInterval(function () {\n+                    var node = dom.byId(tabItem.name+idx);\n+                    query(\".left\", node).forEach(domConstruct.destroy);\n+                    context._genGraphRefresh();\n+                }, data.refreshInterval);*/\n+            });\n+        },\n+\n+        _genGraphRefresh : function (id) {\n+            var context = this;\n+            xhr(\"esp/files/ganglia/ganglia.json\", {\n+                handleAs: \"json\"\n+            }).then(function (data){\n+                arrayUtil.forEach(data.tabs, function(tabItem, idx) {\n+                    arrayUtil.forEach(tabItem.metrics, function(metricItem) {\n+                        arrayUtil.forEach(tabItem.time, function(timeItem) {\n+                            var clean = metricItem.join('\\n');\n+                            context._calculateEpoch(timeItem)\n+                            WsRrd.GangliaRRDGraphList({\n+                                request:{\n+                                    Clusters: \"\",\n+                                    Servers: \"\",\n+                                    RRDMetrics: clean,\n+                                    StartTime: context.epochFilter,\n+                                    EndTime: context.epochNow,\n+                                    Width: data.width,\n+                                    Height: data.height,\n+                                    Title: timeItem\n+                                },\n+                            }).then(function (response) {\n+                                if (lang.exists(\"GraphSVGDataResponse.Graph\", response)) {\n+                                    var graph = domConstruct.create(\"div\", {\n+                                        innerHTML: response.GraphSVGDataResponse.Graph,\n+                                        class:'left'\n+                                    }, tabItem.name+idx);\n+                                }\n+                            });\n+                        });\n+                    });\n+                });\n+            });\n+        },\n+\n+        _onRefresh: function (id) {\n+\n+        },\n+\n+        _onFilterApply: function () {\n+            var context = this;\n+            var cluster = context.cluster;","path":"esp/src/ganglia/GangliaWidget.js","position":361,"original_position":361,"commit_id":"ace9fb0cf0a6f4c52faa97011964a5d92f9acd3d","original_commit_id":"ace9fb0cf0a6f4c52faa97011964a5d92f9acd3d","user":{"login":"GordonSmith","id":966863,"avatar_url":"https://avatars.githubusercontent.com/u/966863?v=3","gravatar_id":"","url":"https://api.github.com/users/GordonSmith","html_url":"https://github.com/GordonSmith","followers_url":"https://api.github.com/users/GordonSmith/followers","following_url":"https://api.github.com/users/GordonSmith/following{/other_user}","gists_url":"https://api.github.com/users/GordonSmith/gists{/gist_id}","starred_url":"https://api.github.com/users/GordonSmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GordonSmith/subscriptions","organizations_url":"https://api.github.com/users/GordonSmith/orgs","repos_url":"https://api.github.com/users/GordonSmith/repos","events_url":"https://api.github.com/users/GordonSmith/events{/privacy}","received_events_url":"https://api.github.com/users/GordonSmith/received_events","type":"User","site_admin":false},"body":"should be \"this\" (for the next few lines)","created_at":"2015-01-20T16:02:16Z","updated_at":"2015-01-20T16:02:16Z","html_url":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1#discussion_r23231777","pull_request_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/comments/23231777"},"html":{"href":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1#discussion_r23231777"},"pull_request":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1","id":27127698,"html_url":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1","diff_url":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1.diff","patch_url":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1.patch","issue_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/1","number":1,"state":"open","locked":false,"title":"HPCC-10088 Ganglia Web Service","user":{"login":"garonsky","id":1322284,"avatar_url":"https://avatars.githubusercontent.com/u/1322284?v=3","gravatar_id":"","url":"https://api.github.com/users/garonsky","html_url":"https://github.com/garonsky","followers_url":"https://api.github.com/users/garonsky/followers","following_url":"https://api.github.com/users/garonsky/following{/other_user}","gists_url":"https://api.github.com/users/garonsky/gists{/gist_id}","starred_url":"https://api.github.com/users/garonsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garonsky/subscriptions","organizations_url":"https://api.github.com/users/garonsky/orgs","repos_url":"https://api.github.com/users/garonsky/repos","events_url":"https://api.github.com/users/garonsky/events{/privacy}","received_events_url":"https://api.github.com/users/garonsky/received_events","type":"User","site_admin":false},"body":"Signed-off-by: Gleb Aronsky <gleb.aronsky@lexisnexis.com>","created_at":"2015-01-09T20:42:28Z","updated_at":"2015-01-20T16:02:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ec9e632db68399aa3aabbf3b3e0b461d18b3840d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1/commits","review_comments_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1/comments","review_comment_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/comments/{number}","comments_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/1/comments","statuses_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/statuses/ace9fb0cf0a6f4c52faa97011964a5d92f9acd3d","head":{"label":"garonsky:umaster","ref":"umaster","sha":"ace9fb0cf0a6f4c52faa97011964a5d92f9acd3d","user":{"login":"garonsky","id":1322284,"avatar_url":"https://avatars.githubusercontent.com/u/1322284?v=3","gravatar_id":"","url":"https://api.github.com/users/garonsky","html_url":"https://github.com/garonsky","followers_url":"https://api.github.com/users/garonsky/followers","following_url":"https://api.github.com/users/garonsky/following{/other_user}","gists_url":"https://api.github.com/users/garonsky/gists{/gist_id}","starred_url":"https://api.github.com/users/garonsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garonsky/subscriptions","organizations_url":"https://api.github.com/users/garonsky/orgs","repos_url":"https://api.github.com/users/garonsky/repos","events_url":"https://api.github.com/users/garonsky/events{/privacy}","received_events_url":"https://api.github.com/users/garonsky/received_events","type":"User","site_admin":false},"repo":{"id":12897180,"name":"ganglia-monitoring","full_name":"garonsky/ganglia-monitoring","owner":{"login":"garonsky","id":1322284,"avatar_url":"https://avatars.githubusercontent.com/u/1322284?v=3","gravatar_id":"","url":"https://api.github.com/users/garonsky","html_url":"https://github.com/garonsky","followers_url":"https://api.github.com/users/garonsky/followers","following_url":"https://api.github.com/users/garonsky/following{/other_user}","gists_url":"https://api.github.com/users/garonsky/gists{/gist_id}","starred_url":"https://api.github.com/users/garonsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garonsky/subscriptions","organizations_url":"https://api.github.com/users/garonsky/orgs","repos_url":"https://api.github.com/users/garonsky/repos","events_url":"https://api.github.com/users/garonsky/events{/privacy}","received_events_url":"https://api.github.com/users/garonsky/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/garonsky/ganglia-monitoring","description":"","fork":false,"url":"https://api.github.com/repos/garonsky/ganglia-monitoring","forks_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/forks","keys_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/teams","hooks_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/hooks","issue_events_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/issues/events{/number}","events_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/events","assignees_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/assignees{/user}","branches_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/branches{/branch}","tags_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/tags","blobs_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/git/refs{/sha}","trees_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/statuses/{sha}","languages_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/languages","stargazers_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/stargazers","contributors_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/contributors","subscribers_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/subscribers","subscription_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/subscription","commits_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/commits{/sha}","git_commits_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/git/commits{/sha}","comments_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/comments{/number}","issue_comment_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/issues/comments/{number}","contents_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/contents/{+path}","compare_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/merges","archive_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/downloads","issues_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/issues{/number}","pulls_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/pulls{/number}","milestones_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/milestones{/number}","notifications_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/labels{/name}","releases_url":"https://api.github.com/repos/garonsky/ganglia-monitoring/releases{/id}","created_at":"2013-09-17T14:15:38Z","updated_at":"2014-12-18T21:21:10Z","pushed_at":"2015-01-15T21:05:33Z","git_url":"git://github.com/garonsky/ganglia-monitoring.git","ssh_url":"git@github.com:garonsky/ganglia-monitoring.git","clone_url":"https://github.com/garonsky/ganglia-monitoring.git","svn_url":"https://github.com/garonsky/ganglia-monitoring","homepage":null,"size":758,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"hpcc-systems:master","ref":"master","sha":"2538ebead52db07d8094a057945524fa0e033c6a","user":{"login":"hpcc-systems","id":900867,"avatar_url":"https://avatars.githubusercontent.com/u/900867?v=3","gravatar_id":"","url":"https://api.github.com/users/hpcc-systems","html_url":"https://github.com/hpcc-systems","followers_url":"https://api.github.com/users/hpcc-systems/followers","following_url":"https://api.github.com/users/hpcc-systems/following{/other_user}","gists_url":"https://api.github.com/users/hpcc-systems/gists{/gist_id}","starred_url":"https://api.github.com/users/hpcc-systems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hpcc-systems/subscriptions","organizations_url":"https://api.github.com/users/hpcc-systems/orgs","repos_url":"https://api.github.com/users/hpcc-systems/repos","events_url":"https://api.github.com/users/hpcc-systems/events{/privacy}","received_events_url":"https://api.github.com/users/hpcc-systems/received_events","type":"Organization","site_admin":false},"repo":{"id":13621989,"name":"ganglia-monitoring","full_name":"hpcc-systems/ganglia-monitoring","owner":{"login":"hpcc-systems","id":900867,"avatar_url":"https://avatars.githubusercontent.com/u/900867?v=3","gravatar_id":"","url":"https://api.github.com/users/hpcc-systems","html_url":"https://github.com/hpcc-systems","followers_url":"https://api.github.com/users/hpcc-systems/followers","following_url":"https://api.github.com/users/hpcc-systems/following{/other_user}","gists_url":"https://api.github.com/users/hpcc-systems/gists{/gist_id}","starred_url":"https://api.github.com/users/hpcc-systems/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hpcc-systems/subscriptions","organizations_url":"https://api.github.com/users/hpcc-systems/orgs","repos_url":"https://api.github.com/users/hpcc-systems/repos","events_url":"https://api.github.com/users/hpcc-systems/events{/privacy}","received_events_url":"https://api.github.com/users/hpcc-systems/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hpcc-systems/ganglia-monitoring","description":"","fork":true,"url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring","forks_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/forks","keys_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/teams","hooks_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/hooks","issue_events_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/events{/number}","events_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/events","assignees_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/assignees{/user}","branches_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/branches{/branch}","tags_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/tags","blobs_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/git/refs{/sha}","trees_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/statuses/{sha}","languages_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/languages","stargazers_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/stargazers","contributors_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/contributors","subscribers_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/subscribers","subscription_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/subscription","commits_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/commits{/sha}","git_commits_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/git/commits{/sha}","comments_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/comments{/number}","issue_comment_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/comments/{number}","contents_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/contents/{+path}","compare_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/merges","archive_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/downloads","issues_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues{/number}","pulls_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls{/number}","milestones_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/milestones{/number}","notifications_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/labels{/name}","releases_url":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/releases{/id}","created_at":"2013-10-16T14:52:25Z","updated_at":"2014-06-05T12:34:38Z","pushed_at":"2014-12-18T17:20:20Z","git_url":"git://github.com/hpcc-systems/ganglia-monitoring.git","ssh_url":"git@github.com:hpcc-systems/ganglia-monitoring.git","clone_url":"https://github.com/hpcc-systems/ganglia-monitoring.git","svn_url":"https://github.com/hpcc-systems/ganglia-monitoring","homepage":null,"size":385,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"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/hpcc-systems/ganglia-monitoring/pulls/1"},"html":{"href":"https://github.com/hpcc-systems/ganglia-monitoring/pull/1"},"issue":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/1"},"comments":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/hpcc-systems/ganglia-monitoring/statuses/ace9fb0cf0a6f4c52faa97011964a5d92f9acd3d"}}}}