{"action":"created","comment":{"url":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments/58918025","id":58918025,"diff_hunk":"@@ -0,0 +1,381 @@\n+'''\n+Spark Job Metrics\n+-----------------\n+spark.job.num_tasks\n+spark.job.num_active_tasks\n+spark.job.num_completed_tasks\n+spark.job.num_skipped_tasks\n+spark.job.num_failed_tasks\n+spark.job.num_active_stages\n+spark.job.num_completed_stages\n+spark.job.num_skipped_stages\n+spark.job.num_failed_stages\n+\n+Spark Stage Metrics\n+-------------------\n+spark.stage.num_active_tasks\n+spark.stage.num_complete_tasks\n+spark.stage.num_failed_tasks\n+spark.stage.executor_run_time\n+spark.stage.input_bytes\n+spark.stage.input_records\n+spark.stage.output_bytes\n+spark.stage.output_records\n+spark.stage.shuffle_read_bytes\n+spark.stage.shuffle_read_records\n+spark.stage.shuffle_write_bytes\n+spark.stage.shuffle_write_records\n+spark.stage.memory_bytes_spilled\n+spark.stage.disk_bytes_spilled\n+\n+Spark Executor Metrics\n+----------------------\n+spark.executor.rdd_blocks\n+spark.executor.memory_used\n+spark.executor.disk_used\n+spark.executor.active_tasks\n+spark.executor.failed_tasks\n+spark.executor.completed_tasks\n+spark.executor.total_tasks\n+spark.executor.total_duration\n+spark.executor.total_input_bytes\n+spark.executor.total_shuffle_read\n+spark.executor.total_shuffle_write\n+spark.executor.max_memory\n+\n+Spark RDD Metrics\n+-----------------\n+spark.rdd.num_partitions\n+spark.rdd.num_cached_partitions\n+spark.memory_used\n+spark.rdd.disk_used\n+'''\n+\n+# stdlib\n+from urlparse import urljoin\n+from urlparse import urlsplit\n+from urlparse import urlunsplit\n+\n+# 3rd party\n+import requests\n+from requests.exceptions import Timeout, HTTPError, InvalidURL, ConnectionError\n+from simplejson import JSONDecodeError\n+\n+# Project\n+from checks import AgentCheck\n+\n+# Service Check Names\n+YARN_SERVICE_CHECK = 'spark.resource_manager.can_connect'\n+SPARK_SERVICE_CHECK = 'spark.application_master.can_connect'\n+\n+# URL Paths\n+INFO_PATH = 'ws/v1/cluster/info'\n+YARN_APPS_PATH = 'ws/v1/cluster/apps'\n+SPARK_JOBS_PATH = 'api/v1/applications'\n+\n+# Application type and states to collect\n+YARN_APPLICATION_TYPES = 'SPARK'\n+YARN_APPLICATION_STATES = 'RUNNING'\n+\n+# Metric types\n+HISTOGRAM = 'histogram'\n+\n+# Metrics to collect\n+SPARK_JOB_METRICS = {\n+    'numTasks': ('spark.job.num_tasks', HISTOGRAM),\n+    'numActiveTasks': ('spark.job.num_active_tasks', HISTOGRAM),\n+    'numCompletedTasks': ('spark.job.num_completed_tasks', HISTOGRAM),\n+    'numSkippedTasks': ('spark.job.num_skipped_tasks', HISTOGRAM),\n+    'numFailedTasks': ('spark.job.num_failed_tasks', HISTOGRAM),\n+    'numActiveStages': ('spark.job.num_active_stages', HISTOGRAM),\n+    'numCompletedStages': ('spark.job.num_completed_stages', HISTOGRAM),\n+    'numSkippedStages': ('spark.job.num_skipped_stages', HISTOGRAM),\n+    'numFailedStages': ('spark.job.num_failed_stages', HISTOGRAM)\n+}\n+\n+SPARK_STAGE_METRICS = {\n+    'numActiveTasks': ('spark.stage.num_active_tasks', HISTOGRAM),\n+    'numCompleteTasks': ('spark.stage.num_complete_tasks', HISTOGRAM),\n+    'numFailedTasks': ('spark.stage.num_failed_tasks', HISTOGRAM),\n+    'executorRunTime': ('spark.stage.executor_run_time', HISTOGRAM),\n+    'inputBytes': ('spark.stage.input_bytes', HISTOGRAM),\n+    'inputRecords': ('spark.stage.input_records', HISTOGRAM),\n+    'outputBytes': ('spark.stage.output_bytes', HISTOGRAM),\n+    'outputRecords': ('spark.stage.output_records', HISTOGRAM),\n+    'shuffleReadBytes': ('spark.stage.shuffle_read_bytes', HISTOGRAM),\n+    'shuffleReadRecords': ('spark.stage.shuffle_read_records', HISTOGRAM),\n+    'shuffleWriteBytes': ('spark.stage.shuffle_write_bytes', HISTOGRAM),\n+    'shuffleWriteRecords': ('spark.stage.shuffle_write_records', HISTOGRAM),\n+    'memoryBytesSpilled': ('spark.stage.memory_bytes_spilled', HISTOGRAM),\n+    'diskBytesSpilled': ('spark.stage.disk_bytes_spilled', HISTOGRAM)\n+}\n+\n+SPARK_EXECUTOR_METRICS = {\n+    'rddBlocks': ('spark.executor.rdd_blocks', HISTOGRAM),\n+    'memoryUsed': ('spark.executor.memory_used', HISTOGRAM),\n+    'diskUsed': ('spark.executor.disk_used', HISTOGRAM),\n+    'activeTasks': ('spark.executor.active_tasks', HISTOGRAM),\n+    'failedTasks': ('spark.executor.failed_tasks', HISTOGRAM),\n+    'completedTasks': ('spark.executor.completed_tasks', HISTOGRAM),\n+    'totalTasks': ('spark.executor.total_tasks', HISTOGRAM),\n+    'totalDuration': ('spark.executor.total_duration', HISTOGRAM),\n+    'totalInputBytes': ('spark.executor.total_input_bytes', HISTOGRAM),\n+    'totalShuffleRead': ('spark.executor.total_shuffle_read', HISTOGRAM),\n+    'totalShuffleWrite': ('spark.executor.HISTOGRAM', HISTOGRAM),","path":"checks.d/spark.py","position":124,"original_position":124,"commit_id":"9737dbbcdfe3616278a88ffbea343899e7562075","original_commit_id":"9737dbbcdfe3616278a88ffbea343899e7562075","user":{"login":"olivielpeau","id":4912500,"avatar_url":"https://avatars.githubusercontent.com/u/4912500?v=3","gravatar_id":"","url":"https://api.github.com/users/olivielpeau","html_url":"https://github.com/olivielpeau","followers_url":"https://api.github.com/users/olivielpeau/followers","following_url":"https://api.github.com/users/olivielpeau/following{/other_user}","gists_url":"https://api.github.com/users/olivielpeau/gists{/gist_id}","starred_url":"https://api.github.com/users/olivielpeau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivielpeau/subscriptions","organizations_url":"https://api.github.com/users/olivielpeau/orgs","repos_url":"https://api.github.com/users/olivielpeau/repos","events_url":"https://api.github.com/users/olivielpeau/events{/privacy}","received_events_url":"https://api.github.com/users/olivielpeau/received_events","type":"User","site_admin":false},"body":"typo in the metric name here","created_at":"2016-04-07T18:08:51Z","updated_at":"2016-04-07T18:08:51Z","html_url":"https://github.com/DataDog/dd-agent/pull/2407#discussion_r58918025","pull_request_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407","_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments/58918025"},"html":{"href":"https://github.com/DataDog/dd-agent/pull/2407#discussion_r58918025"},"pull_request":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407"}}},"pull_request":{"url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407","id":65408178,"html_url":"https://github.com/DataDog/dd-agent/pull/2407","diff_url":"https://github.com/DataDog/dd-agent/pull/2407.diff","patch_url":"https://github.com/DataDog/dd-agent/pull/2407.patch","issue_url":"https://api.github.com/repos/DataDog/dd-agent/issues/2407","number":2407,"state":"open","locked":false,"title":"Minerkasch/spark","user":{"login":"zachradtka","id":6179033,"avatar_url":"https://avatars.githubusercontent.com/u/6179033?v=3","gravatar_id":"","url":"https://api.github.com/users/zachradtka","html_url":"https://github.com/zachradtka","followers_url":"https://api.github.com/users/zachradtka/followers","following_url":"https://api.github.com/users/zachradtka/following{/other_user}","gists_url":"https://api.github.com/users/zachradtka/gists{/gist_id}","starred_url":"https://api.github.com/users/zachradtka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zachradtka/subscriptions","organizations_url":"https://api.github.com/users/zachradtka/orgs","repos_url":"https://api.github.com/users/zachradtka/repos","events_url":"https://api.github.com/users/zachradtka/events{/privacy}","received_events_url":"https://api.github.com/users/zachradtka/received_events","type":"User","site_admin":false},"body":"An AgentCheck that gathers metrics for Apache Spark\r\n\r\nThe metrics collected are:\r\n```\r\nSpark Job Metrics\r\n-----------------\r\nspark.job.num_tasks\r\nspark.job.num_active_tasks\r\nspark.job.num_completed_tasks\r\nspark.job.num_skipped_tasks\r\nspark.job.num_failed_tasks\r\nspark.job.num_active_stages\r\nspark.job.num_completed_stages\r\nspark.job.num_skipped_stages\r\nspark.job.num_failed_stages\r\n\r\nSpark Stage Metrics\r\n-------------------\r\nspark.stage.num_active_tasks\r\nspark.stage.num_complete_tasks\r\nspark.stage.num_failed_tasks\r\nspark.stage.executor_run_time\r\nspark.stage.input_bytes\r\nspark.stage.input_records\r\nspark.stage.output_bytes\r\nspark.stage.output_records\r\nspark.stage.shuffle_read_bytes\r\nspark.stage.shuffle_read_records\r\nspark.stage.shuffle_write_bytes\r\nspark.stage.shuffle_write_records\r\nspark.stage.memory_bytes_spilled\r\nspark.stage.disk_bytes_spilled\r\n\r\nSpark Executor Metrics\r\n----------------------\r\nspark.executor.rdd_blocks\r\nspark.executor.memory_used\r\nspark.executor.disk_used\r\nspark.executor.active_tasks\r\nspark.executor.failed_tasks\r\nspark.executor.completed_tasks\r\nspark.executor.total_tasks\r\nspark.executor.total_duration\r\nspark.executor.total_input_bytes\r\nspark.executor.total_shuffle_read\r\nspark.executor.total_shuffle_write\r\nspark.executor.max_memory\r\n\r\nSpark RDD Metrics\r\n-----------------\r\nspark.rdd.num_partitions\r\nspark.rdd.num_cached_partitions\r\nspark.memory_used\r\nspark.rdd.disk_used\r\n```","created_at":"2016-04-06T04:20:44Z","updated_at":"2016-04-07T18:08:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"94e808d1dfdefe608e68d08af9d8ccd14044bac2","assignee":{"login":"olivielpeau","id":4912500,"avatar_url":"https://avatars.githubusercontent.com/u/4912500?v=3","gravatar_id":"","url":"https://api.github.com/users/olivielpeau","html_url":"https://github.com/olivielpeau","followers_url":"https://api.github.com/users/olivielpeau/followers","following_url":"https://api.github.com/users/olivielpeau/following{/other_user}","gists_url":"https://api.github.com/users/olivielpeau/gists{/gist_id}","starred_url":"https://api.github.com/users/olivielpeau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivielpeau/subscriptions","organizations_url":"https://api.github.com/users/olivielpeau/orgs","repos_url":"https://api.github.com/users/olivielpeau/repos","events_url":"https://api.github.com/users/olivielpeau/events{/privacy}","received_events_url":"https://api.github.com/users/olivielpeau/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/DataDog/dd-agent/milestones/58","html_url":"https://github.com/DataDog/dd-agent/milestones/5.8.0","labels_url":"https://api.github.com/repos/DataDog/dd-agent/milestones/58/labels","id":1465870,"number":58,"title":"5.8.0","description":null,"creator":{"login":"remh","id":1311477,"avatar_url":"https://avatars.githubusercontent.com/u/1311477?v=3","gravatar_id":"","url":"https://api.github.com/users/remh","html_url":"https://github.com/remh","followers_url":"https://api.github.com/users/remh/followers","following_url":"https://api.github.com/users/remh/following{/other_user}","gists_url":"https://api.github.com/users/remh/gists{/gist_id}","starred_url":"https://api.github.com/users/remh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remh/subscriptions","organizations_url":"https://api.github.com/users/remh/orgs","repos_url":"https://api.github.com/users/remh/repos","events_url":"https://api.github.com/users/remh/events{/privacy}","received_events_url":"https://api.github.com/users/remh/received_events","type":"User","site_admin":false},"open_issues":58,"closed_issues":13,"state":"open","created_at":"2015-12-17T22:49:17Z","updated_at":"2016-04-07T17:50:29Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407/commits","review_comments_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407/comments","review_comment_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments{/number}","comments_url":"https://api.github.com/repos/DataDog/dd-agent/issues/2407/comments","statuses_url":"https://api.github.com/repos/DataDog/dd-agent/statuses/9737dbbcdfe3616278a88ffbea343899e7562075","head":{"label":"MinerKasch:minerkasch/spark","ref":"minerkasch/spark","sha":"9737dbbcdfe3616278a88ffbea343899e7562075","user":{"login":"MinerKasch","id":12733574,"avatar_url":"https://avatars.githubusercontent.com/u/12733574?v=3","gravatar_id":"","url":"https://api.github.com/users/MinerKasch","html_url":"https://github.com/MinerKasch","followers_url":"https://api.github.com/users/MinerKasch/followers","following_url":"https://api.github.com/users/MinerKasch/following{/other_user}","gists_url":"https://api.github.com/users/MinerKasch/gists{/gist_id}","starred_url":"https://api.github.com/users/MinerKasch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MinerKasch/subscriptions","organizations_url":"https://api.github.com/users/MinerKasch/orgs","repos_url":"https://api.github.com/users/MinerKasch/repos","events_url":"https://api.github.com/users/MinerKasch/events{/privacy}","received_events_url":"https://api.github.com/users/MinerKasch/received_events","type":"Organization","site_admin":false},"repo":{"id":47306535,"name":"dd-agent","full_name":"MinerKasch/dd-agent","owner":{"login":"MinerKasch","id":12733574,"avatar_url":"https://avatars.githubusercontent.com/u/12733574?v=3","gravatar_id":"","url":"https://api.github.com/users/MinerKasch","html_url":"https://github.com/MinerKasch","followers_url":"https://api.github.com/users/MinerKasch/followers","following_url":"https://api.github.com/users/MinerKasch/following{/other_user}","gists_url":"https://api.github.com/users/MinerKasch/gists{/gist_id}","starred_url":"https://api.github.com/users/MinerKasch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MinerKasch/subscriptions","organizations_url":"https://api.github.com/users/MinerKasch/orgs","repos_url":"https://api.github.com/users/MinerKasch/repos","events_url":"https://api.github.com/users/MinerKasch/events{/privacy}","received_events_url":"https://api.github.com/users/MinerKasch/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/MinerKasch/dd-agent","description":"Datadog Agent","fork":true,"url":"https://api.github.com/repos/MinerKasch/dd-agent","forks_url":"https://api.github.com/repos/MinerKasch/dd-agent/forks","keys_url":"https://api.github.com/repos/MinerKasch/dd-agent/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MinerKasch/dd-agent/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MinerKasch/dd-agent/teams","hooks_url":"https://api.github.com/repos/MinerKasch/dd-agent/hooks","issue_events_url":"https://api.github.com/repos/MinerKasch/dd-agent/issues/events{/number}","events_url":"https://api.github.com/repos/MinerKasch/dd-agent/events","assignees_url":"https://api.github.com/repos/MinerKasch/dd-agent/assignees{/user}","branches_url":"https://api.github.com/repos/MinerKasch/dd-agent/branches{/branch}","tags_url":"https://api.github.com/repos/MinerKasch/dd-agent/tags","blobs_url":"https://api.github.com/repos/MinerKasch/dd-agent/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MinerKasch/dd-agent/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MinerKasch/dd-agent/git/refs{/sha}","trees_url":"https://api.github.com/repos/MinerKasch/dd-agent/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MinerKasch/dd-agent/statuses/{sha}","languages_url":"https://api.github.com/repos/MinerKasch/dd-agent/languages","stargazers_url":"https://api.github.com/repos/MinerKasch/dd-agent/stargazers","contributors_url":"https://api.github.com/repos/MinerKasch/dd-agent/contributors","subscribers_url":"https://api.github.com/repos/MinerKasch/dd-agent/subscribers","subscription_url":"https://api.github.com/repos/MinerKasch/dd-agent/subscription","commits_url":"https://api.github.com/repos/MinerKasch/dd-agent/commits{/sha}","git_commits_url":"https://api.github.com/repos/MinerKasch/dd-agent/git/commits{/sha}","comments_url":"https://api.github.com/repos/MinerKasch/dd-agent/comments{/number}","issue_comment_url":"https://api.github.com/repos/MinerKasch/dd-agent/issues/comments{/number}","contents_url":"https://api.github.com/repos/MinerKasch/dd-agent/contents/{+path}","compare_url":"https://api.github.com/repos/MinerKasch/dd-agent/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MinerKasch/dd-agent/merges","archive_url":"https://api.github.com/repos/MinerKasch/dd-agent/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MinerKasch/dd-agent/downloads","issues_url":"https://api.github.com/repos/MinerKasch/dd-agent/issues{/number}","pulls_url":"https://api.github.com/repos/MinerKasch/dd-agent/pulls{/number}","milestones_url":"https://api.github.com/repos/MinerKasch/dd-agent/milestones{/number}","notifications_url":"https://api.github.com/repos/MinerKasch/dd-agent/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MinerKasch/dd-agent/labels{/name}","releases_url":"https://api.github.com/repos/MinerKasch/dd-agent/releases{/id}","deployments_url":"https://api.github.com/repos/MinerKasch/dd-agent/deployments","created_at":"2015-12-03T03:59:28Z","updated_at":"2016-01-15T14:33:35Z","pushed_at":"2016-04-06T04:18:24Z","git_url":"git://github.com/MinerKasch/dd-agent.git","ssh_url":"git@github.com:MinerKasch/dd-agent.git","clone_url":"https://github.com/MinerKasch/dd-agent.git","svn_url":"https://github.com/MinerKasch/dd-agent","homepage":"http://docs.datadoghq.com/","size":34073,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":false,"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":"DataDog:master","ref":"master","sha":"42cb0dd057f17dbe78a073979cf8651464ae573a","user":{"login":"DataDog","id":365230,"avatar_url":"https://avatars.githubusercontent.com/u/365230?v=3","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"repo":{"id":1210071,"name":"dd-agent","full_name":"DataDog/dd-agent","owner":{"login":"DataDog","id":365230,"avatar_url":"https://avatars.githubusercontent.com/u/365230?v=3","gravatar_id":"","url":"https://api.github.com/users/DataDog","html_url":"https://github.com/DataDog","followers_url":"https://api.github.com/users/DataDog/followers","following_url":"https://api.github.com/users/DataDog/following{/other_user}","gists_url":"https://api.github.com/users/DataDog/gists{/gist_id}","starred_url":"https://api.github.com/users/DataDog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DataDog/subscriptions","organizations_url":"https://api.github.com/users/DataDog/orgs","repos_url":"https://api.github.com/users/DataDog/repos","events_url":"https://api.github.com/users/DataDog/events{/privacy}","received_events_url":"https://api.github.com/users/DataDog/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/DataDog/dd-agent","description":"Datadog Agent","fork":false,"url":"https://api.github.com/repos/DataDog/dd-agent","forks_url":"https://api.github.com/repos/DataDog/dd-agent/forks","keys_url":"https://api.github.com/repos/DataDog/dd-agent/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DataDog/dd-agent/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DataDog/dd-agent/teams","hooks_url":"https://api.github.com/repos/DataDog/dd-agent/hooks","issue_events_url":"https://api.github.com/repos/DataDog/dd-agent/issues/events{/number}","events_url":"https://api.github.com/repos/DataDog/dd-agent/events","assignees_url":"https://api.github.com/repos/DataDog/dd-agent/assignees{/user}","branches_url":"https://api.github.com/repos/DataDog/dd-agent/branches{/branch}","tags_url":"https://api.github.com/repos/DataDog/dd-agent/tags","blobs_url":"https://api.github.com/repos/DataDog/dd-agent/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DataDog/dd-agent/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DataDog/dd-agent/git/refs{/sha}","trees_url":"https://api.github.com/repos/DataDog/dd-agent/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DataDog/dd-agent/statuses/{sha}","languages_url":"https://api.github.com/repos/DataDog/dd-agent/languages","stargazers_url":"https://api.github.com/repos/DataDog/dd-agent/stargazers","contributors_url":"https://api.github.com/repos/DataDog/dd-agent/contributors","subscribers_url":"https://api.github.com/repos/DataDog/dd-agent/subscribers","subscription_url":"https://api.github.com/repos/DataDog/dd-agent/subscription","commits_url":"https://api.github.com/repos/DataDog/dd-agent/commits{/sha}","git_commits_url":"https://api.github.com/repos/DataDog/dd-agent/git/commits{/sha}","comments_url":"https://api.github.com/repos/DataDog/dd-agent/comments{/number}","issue_comment_url":"https://api.github.com/repos/DataDog/dd-agent/issues/comments{/number}","contents_url":"https://api.github.com/repos/DataDog/dd-agent/contents/{+path}","compare_url":"https://api.github.com/repos/DataDog/dd-agent/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DataDog/dd-agent/merges","archive_url":"https://api.github.com/repos/DataDog/dd-agent/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DataDog/dd-agent/downloads","issues_url":"https://api.github.com/repos/DataDog/dd-agent/issues{/number}","pulls_url":"https://api.github.com/repos/DataDog/dd-agent/pulls{/number}","milestones_url":"https://api.github.com/repos/DataDog/dd-agent/milestones{/number}","notifications_url":"https://api.github.com/repos/DataDog/dd-agent/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DataDog/dd-agent/labels{/name}","releases_url":"https://api.github.com/repos/DataDog/dd-agent/releases{/id}","deployments_url":"https://api.github.com/repos/DataDog/dd-agent/deployments","created_at":"2010-12-31T03:02:47Z","updated_at":"2016-04-07T12:12:22Z","pushed_at":"2016-04-07T13:50:27Z","git_url":"git://github.com/DataDog/dd-agent.git","ssh_url":"git@github.com:DataDog/dd-agent.git","clone_url":"https://github.com/DataDog/dd-agent.git","svn_url":"https://github.com/DataDog/dd-agent","homepage":"http://docs.datadoghq.com/","size":37694,"stargazers_count":479,"watchers_count":479,"language":"Python","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":431,"mirror_url":null,"open_issues_count":164,"forks":431,"open_issues":164,"watchers":479,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407"},"html":{"href":"https://github.com/DataDog/dd-agent/pull/2407"},"issue":{"href":"https://api.github.com/repos/DataDog/dd-agent/issues/2407"},"comments":{"href":"https://api.github.com/repos/DataDog/dd-agent/issues/2407/comments"},"review_comments":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407/comments"},"review_comment":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2407/commits"},"statuses":{"href":"https://api.github.com/repos/DataDog/dd-agent/statuses/9737dbbcdfe3616278a88ffbea343899e7562075"}}}}