{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/45815377","id":45815377,"diff_hunk":"@@ -16,14 +16,208 @@ limitations under the License.\n \n package v1alpha1\n \n-import \"k8s.io/kubernetes/pkg/api/unversioned\"\n+import (\n+\t\"k8s.io/kubernetes/pkg/api/resource\"\n+\t\"k8s.io/kubernetes/pkg/api/unversioned\"\n+\t\"k8s.io/kubernetes/pkg/types\"\n+)\n \n-// Placeholder top-level node resource metrics.\n-type RawNode struct {\n+// MetricsMeta describes metadata that top-level metrics resources must have.\n+// Metrics data is a synthetic collection of Samples, and thus does not use ObjectMeta.\n+// All metrics data is read-only.\n+type MetricsMeta struct {\n+\t// SelfLink is a URL representing this object.\n+\t// Populated by the system.\n+\tSelfLink string `json:\"selfLink,omitempty\"`\n+}\n+\n+// RawNode holds node-level unprocessed sample metrics.\n+type RawNodeMetrics struct {\n+\tunversioned.TypeMeta `json:\",inline\"`\n+\t// Standard list metadata, since this is a synthetic resource.\n+\t// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\n+\tunversioned.ListMeta `json:\"metadata\"`\n+\t// Reference to the measured Node.\n+\tNodeName string `json:\"nodeName\"`\n+\t// Overall node metrics.\n+\tTotal []AggregateSample `json:\"total,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"sampleTime\"`\n+\t// Metrics of system daemons tracked as raw containers, which may include:\n+\t//   \"/kubelet\", \"/docker-daemon\", \"kube-proxy\" - Tracks respective component metrics\n+\t//   \"/system\" - Tracks metrics of non-kubernetes and non-kernel processes (grouped together)\n+\tSystemContainers []RawContainerMetrics `json:\"systemContainers,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\"`\n+}\n+\n+// RawNodeMetricsList holds a list of RawNodeMetrics.\n+// Endpoints which return this type respect unversioned.ListOptions\n+type RawNodeMetricsList struct {\n \tunversioned.TypeMeta `json:\",inline\"`\n+\t// Standard list metadata.\n+\t// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\n+\tunversioned.ListMeta `json:\"metadata,omitempty\"`\n+\t// List of raw node metrics.\n+\tItems []RawNodeMetrics `json:\"items\"`\n }\n \n-// Placeholder top-level pod resource metrics.\n-type RawPod struct {\n+// RawPod holds pod-level unprocessed sample metrics.\n+type RawPodMetrics struct {\n \tunversioned.TypeMeta `json:\",inline\"`\n+\t// Standard list metadata, since this is a synthetic resource.\n+\t// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\n+\tunversioned.ListMeta `json:\"metadata\"`\n+\t// Reference to the measured Pod.\n+\tPodRef NonLocalObjectReference `json:\"podRef\"`\n+\t// Metrics of containers in the measured pod.\n+\tContainers []RawContainerMetrics `json:\"containers\" patchStrategy:\"merge\" patchMergeKey:\"name\"`\n+\t// Historical metric samples of pod-level resources.\n+\tSamples []PodSample `json:\"samples\" patchStrategy:\"merge\" patchMergeKey:\"sampleTime\"`\n+}\n+\n+// RawPodMetricsList holds a list of RawPodMetrics.\n+// Endpoints which return this type respect unversioned.ListOptions\n+type RawPodMetricsList struct {\n+\tunversioned.TypeMeta `json:\",inline\"`\n+\t// Standard list metadata.\n+\t// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds\n+\tunversioned.ListMeta `json:\"metadata,omitempty\"`\n+\t// List of raw pod metrics.\n+\tItems []RawPodMetrics `json:\"items\"`\n+}\n+\n+// RawContainerMetrics holds container-level unprocessed sample metrics.\n+type RawContainerMetrics struct {\n+\t// Reference to the measured container.\n+\tName string `json:\"name\"`\n+\t// Metadata labels associated with this container (not Kubernetes labels).\n+\t// For example, docker labels.\n+\tLabels map[string]string `json:\"labels,omitempty\"`\n+\t// Historical metric samples gathered from the container.\n+\tSamples []ContainerSample `json:\"samples\" patchStrategy:\"merge\" patchMergeKey:\"sampleTime\"`\n+\t// Application-specific metrics.\n+\tCustomMetrics []CustomMetric `json:\"customMetrics,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"name\"`\n+}\n+\n+// NonLocalObjectReference contains enough information to locate the referenced object.\n+type NonLocalObjectReference struct {\n+\tName      string    `json:\"name\"`\n+\tNamespace string    `json:\"namespace\"`\n+\tUID       types.UID `json:\"uid,omitempty\"`\n+}\n+\n+// Sample defines metadata common to all sample types.\n+// Samples may not be nested within other samples.\n+type Sample struct {\n+\t// The time this data point was collected at.\n+\tSampleTime unversioned.Time `json:\"sampleTime\"`\n+}\n+\n+// AggregateSample contains a metric sample point of data aggregated across containers.\n+type AggregateSample struct {\n+\tSample `json:\",inline\"`\n+\t// Metrics pertaining to CPU resources.\n+\tCPU *CPUMetrics `json:\"cpu,omitempty\"`\n+\t// Metrics pertaining to memory (RAM) resources.\n+\tMemory *MemoryMetrics `json:\"memory,omitempty\"`\n+\t// Metrics pertaining to network resources.\n+\tNetwork *NetworkMetrics `json:\"network,omitempty\"`\n+}\n+\n+// PodSample contains a metric sample point of pod-level resources.\n+type PodSample struct {\n+\tSample `json:\",inline\"`\n+\t// Metrics pertaining to network resources.\n+\tNetwork *NetworkMetrics `json:\"network,omitempty\"`\n+}\n+\n+// ContainerSample contains a metric sample point of container-level resources.\n+type ContainerSample struct {\n+\tSample `json:\",inline\"`\n+\t// Metrics pertaining to CPU resources.\n+\tCPU *CPUMetrics `json:\"cpu,omitempty\"`\n+\t// Metrics pertaining to memory (RAM) resources.\n+\tMemory *MemoryMetrics `json:\"memory,omitempty\"`\n+}\n+\n+// NetworkMetrics contains data about network resources.\n+type NetworkMetrics struct {\n+\t// Cumulative count of bytes received.\n+\tRxBytes *resource.Quantity `json:\"rxBytes,omitempty\"`\n+\t// Cumulative count of receive errors encountered.\n+\tRxErrors *int64 `json:\"rxErrors,omitempty\"`\n+\t// Cumulative count of bytes transmitted.\n+\tTxBytes *resource.Quantity `json:\"txBytes,omitempty\"`\n+\t// Cumulative count of transmit errors encountered.\n+\tTxErrors *int64 `json:\"txErrors,omitempty\"`\n+}\n+\n+// CPUMetrics contains data about CPU usage.\n+type CPUMetrics struct {\n+\t// Total CPU usage (sum of all cores) averaged over the sample window.\n+\t// The \"core\" unit can be interpreted as CPU core-seconds per second.\n+\tTotalCores *resource.Quantity `json:\"totalCores,omitempty\"`\n+\t// CPU load that the container is experiencing, represented as a smoothed average of number of\n+\t// runnable threads.  Load is averaged over the sampling window.\n+\tLoadAverage *resource.Quantity `json:\"loadAverage,omitempty\"`\n+}\n+\n+// MemoryMetrics contains data about memory usage.\n+type MemoryMetrics struct {\n+\t// Total memory in use. This includes all memory regardless of when it was accessed.\n+\tTotalBytes *resource.Quantity `json:\"totalBytes,omitempty\"`\n+\t// The amount of working set memory. This includes recently accessed memory,\n+\t// dirty memory, and kernel memory. UsageBytes is <= TotalBytes.\n+\tUsageBytes *resource.Quantity `json:\"usageBytes,omitempty\"`\n+\t// Cumulative number of minor page faults.\n+\tPageFaults *int64 `json:\"pageFaults,omitempty\"`\n+\t// Cumulative number of major page faults.\n+\tMajorPageFaults *int64 `json:\"majorPageFaults,omitempty\"`\n+}\n+\n+// CustomMetricType specifies the type of metric being exported.\n+type CustomMetricType string\n+\n+const (\n+\t// Instantaneous value. May increase or decrease.\n+\tCustomMetricGauge CustomMetricType = \"Gauge\"\n+\t// A counter-like value that increases monotonically.\n+\tCustomMetricCumulative CustomMetricType = \"Cumulative\"","path":"pkg/apis/metrics/v1alpha1/types.go","position":172,"original_position":172,"commit_id":"11bfec83c9fed83b5bc2f69ad99afb6c89d1652e","original_commit_id":"11bfec83c9fed83b5bc2f69ad99afb6c89d1652e","user":{"login":"timstclair","id":3272040,"avatar_url":"https://avatars.githubusercontent.com/u/3272040?v=3","gravatar_id":"","url":"https://api.github.com/users/timstclair","html_url":"https://github.com/timstclair","followers_url":"https://api.github.com/users/timstclair/followers","following_url":"https://api.github.com/users/timstclair/following{/other_user}","gists_url":"https://api.github.com/users/timstclair/gists{/gist_id}","starred_url":"https://api.github.com/users/timstclair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timstclair/subscriptions","organizations_url":"https://api.github.com/users/timstclair/orgs","repos_url":"https://api.github.com/users/timstclair/repos","events_url":"https://api.github.com/users/timstclair/events{/privacy}","received_events_url":"https://api.github.com/users/timstclair/received_events","type":"User","site_admin":false},"body":"I don't have an opinion either way on this issue. If as Jimmi says the prometheus names are becoming standard, it may make sense to rename the cAdvisor types to match (in a V3 API, if we ever do that).","created_at":"2015-11-25T00:25:47Z","updated_at":"2015-11-25T00:25:47Z","html_url":"https://github.com/kubernetes/kubernetes/pull/17708#discussion_r45815377","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/45815377"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/17708#discussion_r45815377"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708","id":51614127,"html_url":"https://github.com/kubernetes/kubernetes/pull/17708","diff_url":"https://github.com/kubernetes/kubernetes/pull/17708.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/17708.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17708","number":17708,"state":"open","locked":false,"title":"Fill in kubelet raw metrics API","user":{"login":"timstclair","id":3272040,"avatar_url":"https://avatars.githubusercontent.com/u/3272040?v=3","gravatar_id":"","url":"https://api.github.com/users/timstclair","html_url":"https://github.com/timstclair","followers_url":"https://api.github.com/users/timstclair/followers","following_url":"https://api.github.com/users/timstclair/following{/other_user}","gists_url":"https://api.github.com/users/timstclair/gists{/gist_id}","starred_url":"https://api.github.com/users/timstclair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timstclair/subscriptions","organizations_url":"https://api.github.com/users/timstclair/orgs","repos_url":"https://api.github.com/users/timstclair/repos","events_url":"https://api.github.com/users/timstclair/events{/privacy}","received_events_url":"https://api.github.com/users/timstclair/received_events","type":"User","site_admin":false},"body":"This is an initial specification of the raw metrics kubelet API. The\r\ninitial customer of the API will be Heapster, so the fields have been\r\nrestricted to those that are necessary to move Heapster off the old\r\n/stats endpoint.\r\n\r\nIssue: https://github.com/kubernetes/kubernetes/issues/12483\r\nProposal (modified to match this PR): https://github.com/timstclair/kubernetes/blob/metrics-beta2/docs/proposals/compute-resource-metrics-api.md\r\n\r\n@vishh @bgrant0607 @kubernetes/goog-node @mwielgus @jszczepkowski @piosz @jimmidyson ","created_at":"2015-11-24T03:48:49Z","updated_at":"2015-11-25T00:25:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e0337ff9ad161387aa9bf31882686668d06ca61b","assignee":{"login":"dchen1107","id":7740897,"avatar_url":"https://avatars.githubusercontent.com/u/7740897?v=3","gravatar_id":"","url":"https://api.github.com/users/dchen1107","html_url":"https://github.com/dchen1107","followers_url":"https://api.github.com/users/dchen1107/followers","following_url":"https://api.github.com/users/dchen1107/following{/other_user}","gists_url":"https://api.github.com/users/dchen1107/gists{/gist_id}","starred_url":"https://api.github.com/users/dchen1107/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchen1107/subscriptions","organizations_url":"https://api.github.com/users/dchen1107/orgs","repos_url":"https://api.github.com/users/dchen1107/repos","events_url":"https://api.github.com/users/dchen1107/events{/privacy}","received_events_url":"https://api.github.com/users/dchen1107/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/17708/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/11bfec83c9fed83b5bc2f69ad99afb6c89d1652e","head":{"label":"timstclair:metrics-beta2","ref":"metrics-beta2","sha":"11bfec83c9fed83b5bc2f69ad99afb6c89d1652e","user":{"login":"timstclair","id":3272040,"avatar_url":"https://avatars.githubusercontent.com/u/3272040?v=3","gravatar_id":"","url":"https://api.github.com/users/timstclair","html_url":"https://github.com/timstclair","followers_url":"https://api.github.com/users/timstclair/followers","following_url":"https://api.github.com/users/timstclair/following{/other_user}","gists_url":"https://api.github.com/users/timstclair/gists{/gist_id}","starred_url":"https://api.github.com/users/timstclair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timstclair/subscriptions","organizations_url":"https://api.github.com/users/timstclair/orgs","repos_url":"https://api.github.com/users/timstclair/repos","events_url":"https://api.github.com/users/timstclair/events{/privacy}","received_events_url":"https://api.github.com/users/timstclair/received_events","type":"User","site_admin":false},"repo":{"id":36760336,"name":"kubernetes","full_name":"timstclair/kubernetes","owner":{"login":"timstclair","id":3272040,"avatar_url":"https://avatars.githubusercontent.com/u/3272040?v=3","gravatar_id":"","url":"https://api.github.com/users/timstclair","html_url":"https://github.com/timstclair","followers_url":"https://api.github.com/users/timstclair/followers","following_url":"https://api.github.com/users/timstclair/following{/other_user}","gists_url":"https://api.github.com/users/timstclair/gists{/gist_id}","starred_url":"https://api.github.com/users/timstclair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timstclair/subscriptions","organizations_url":"https://api.github.com/users/timstclair/orgs","repos_url":"https://api.github.com/users/timstclair/repos","events_url":"https://api.github.com/users/timstclair/events{/privacy}","received_events_url":"https://api.github.com/users/timstclair/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/timstclair/kubernetes","description":"Container Cluster Manager from Google","fork":true,"url":"https://api.github.com/repos/timstclair/kubernetes","forks_url":"https://api.github.com/repos/timstclair/kubernetes/forks","keys_url":"https://api.github.com/repos/timstclair/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/timstclair/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/timstclair/kubernetes/teams","hooks_url":"https://api.github.com/repos/timstclair/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/timstclair/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/timstclair/kubernetes/events","assignees_url":"https://api.github.com/repos/timstclair/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/timstclair/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/timstclair/kubernetes/tags","blobs_url":"https://api.github.com/repos/timstclair/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/timstclair/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/timstclair/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/timstclair/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/timstclair/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/timstclair/kubernetes/languages","stargazers_url":"https://api.github.com/repos/timstclair/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/timstclair/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/timstclair/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/timstclair/kubernetes/subscription","commits_url":"https://api.github.com/repos/timstclair/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/timstclair/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/timstclair/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/timstclair/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/timstclair/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/timstclair/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/timstclair/kubernetes/merges","archive_url":"https://api.github.com/repos/timstclair/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/timstclair/kubernetes/downloads","issues_url":"https://api.github.com/repos/timstclair/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/timstclair/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/timstclair/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/timstclair/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/timstclair/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/timstclair/kubernetes/releases{/id}","created_at":"2015-06-02T20:36:50Z","updated_at":"2015-06-13T04:34:00Z","pushed_at":"2015-11-24T18:48:39Z","git_url":"git://github.com/timstclair/kubernetes.git","ssh_url":"git@github.com:timstclair/kubernetes.git","clone_url":"https://github.com/timstclair/kubernetes.git","svn_url":"https://github.com/timstclair/kubernetes","homepage":"http://kubernetes.io","size":138550,"stargazers_count":1,"watchers_count":1,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"315b9000e211221af00f177d20e1b334b4f339a1","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/kubernetes","description":"Container Cluster Manager from Google","fork":false,"url":"https://api.github.com/repos/kubernetes/kubernetes","forks_url":"https://api.github.com/repos/kubernetes/kubernetes/forks","keys_url":"https://api.github.com/repos/kubernetes/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/kubernetes/teams","hooks_url":"https://api.github.com/repos/kubernetes/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/kubernetes/events","assignees_url":"https://api.github.com/repos/kubernetes/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/kubernetes/tags","blobs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/kubernetes/languages","stargazers_url":"https://api.github.com/repos/kubernetes/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/kubernetes/subscription","commits_url":"https://api.github.com/repos/kubernetes/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/kubernetes/merges","archive_url":"https://api.github.com/repos/kubernetes/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/kubernetes/downloads","issues_url":"https://api.github.com/repos/kubernetes/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/kubernetes/releases{/id}","created_at":"2014-06-06T22:56:04Z","updated_at":"2015-11-24T22:26:52Z","pushed_at":"2015-11-25T00:23:10Z","git_url":"git://github.com/kubernetes/kubernetes.git","ssh_url":"git@github.com:kubernetes/kubernetes.git","clone_url":"https://github.com/kubernetes/kubernetes.git","svn_url":"https://github.com/kubernetes/kubernetes","homepage":"http://kubernetes.io","size":289770,"stargazers_count":11423,"watchers_count":11423,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":3048,"mirror_url":null,"open_issues_count":2396,"forks":3048,"open_issues":2396,"watchers":11423,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/17708"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/17708"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/17708/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/17708/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/11bfec83c9fed83b5bc2f69ad99afb6c89d1652e"}}}}