{"action":"created","comment":{"url":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments/50147600","id":50147600,"diff_hunk":"@@ -141,134 +387,241 @@ def _connect(self, host, port, mysql_sock, user, password, defaults_file):\n         return db\n \n     def _collect_metrics(self, host, db, tags, options, queries):\n-        cursor = db.cursor()\n-        cursor.execute(\"SHOW /*!50002 GLOBAL */ STATUS;\")\n-        status_results = dict(cursor.fetchall())\n-        self._rate_or_gauge_statuses(STATUS_VARS, status_results, tags)\n-        cursor.execute(\"SHOW VARIABLES LIKE 'Key%';\")\n-        variables_results = dict(cursor.fetchall())\n-        cursor.close()\n-        del cursor\n+\n+        # Get aggregate of all VARS we want to collect\n+        metrics = STATUS_VARS\n+\n+        # collect results from db\n+        results = self._get_stats_from_status(db)\n+        results.update(self._get_stats_from_variables(db))\n+\n+        if self._is_innodb_engine_enabled(db):\n+            results.update(self._get_stats_from_innodb_status(db))\n+            innodb_page_size = self._collect_scalar(\n+                'Innodb_page_size', results)\n+            innodb_buffer_pool_pages_data = self._collect_scalar(\n+                'Innodb_buffer_pool_pages_data', results)\n+            innodb_buffer_pool_pages_dirty = self._collect_scalar(\n+                'Innodb_buffer_pool_pages_dirty', results)\n+            innodb_buffer_pool_pages_total = self._collect_scalar(\n+                'Innodb_buffer_pool_pages_total', results)\n+            innodb_buffer_pool_pages_free = self._collect_scalar(\n+                'Innodb_buffer_pool_pages_free', results)\n+            innodb_buffer_pool_pages_used = innodb_buffer_pool_pages_total - \\\n+                innodb_buffer_pool_pages_free\n+\n+            if 'Innodb_buffer_pool_bytes_data' not in results:\n+                results[\n+                    'Innodb_buffer_pool_bytes_data'] = innodb_buffer_pool_pages_data * innodb_page_size\n+\n+            if 'Innodb_buffer_pool_bytes_dirty' not in results:\n+                results[\n+                    'Innodb_buffer_pool_bytes_dirty'] = innodb_buffer_pool_pages_dirty * innodb_page_size\n+\n+            if 'Innodb_buffer_pool_bytes_free' not in results:\n+                results[\n+                    'Innodb_buffer_pool_bytes_free'] = innodb_buffer_pool_pages_free * innodb_page_size\n+\n+            if 'Innodb_buffer_pool_bytes_total' not in results:\n+                results[\n+                    'Innodb_buffer_pool_bytes_total'] = innodb_buffer_pool_pages_total * innodb_page_size\n+\n+            if 'Innodb_buffer_pool_pages_utilization' not in results:\n+                results['Innodb_buffer_pool_pages_utilization'] = innodb_buffer_pool_pages_used / \\\n+                    innodb_buffer_pool_pages_total\n+\n+            if 'Innodb_buffer_pool_bytes_used' not in results:\n+                results[\n+                    'Innodb_buffer_pool_bytes_used'] = innodb_buffer_pool_pages_used * innodb_page_size\n+\n+            if 'extra_innodb_metrics' in options and options['extra_innodb_metrics']:\n+                self.log.debug(\"Collecting Extra Innodb Metrics\")\n+                metrics.update(OPTIONAL_INNODB_VARS)\n+\n+        # Binary log statistics\n+        binlog_enabled = self._collect_string('log_bin', results)\n+        if binlog_enabled is not None and binlog_enabled.lower().strip() == 'on':\n+            results[\n+                'Binlog_space_usage_bytes'] = self._get_binary_log_stats(db)\n \n         # Compute key cache utilization metric\n-        key_blocks_unused = self._collect_scalar('Key_blocks_unused', status_results)\n-        key_cache_block_size = self._collect_scalar('key_cache_block_size', variables_results)\n-        key_buffer_size = self._collect_scalar('key_buffer_size', variables_results)\n-        key_cache_utilization = 1 - ((key_blocks_unused * key_cache_block_size) / key_buffer_size)\n-        self.gauge(\"mysql.performance.key_cache_utilization\", key_cache_utilization, tags=tags)\n-\n-        # Compute InnoDB buffer metrics\n-        # Be sure InnoDB is enabled\n-        if 'Innodb_page_size' in status_results:\n-            page_size = self._collect_scalar('Innodb_page_size', status_results)\n-            innodb_buffer_pool_pages_total = self._collect_scalar('Innodb_buffer_pool_pages_total',\n-                                                                  status_results)\n-            innodb_buffer_pool_pages_free = self._collect_scalar('Innodb_buffer_pool_pages_free',\n-                                                                 status_results)\n-            innodb_buffer_pool_pages_total = innodb_buffer_pool_pages_total * page_size\n-            innodb_buffer_pool_pages_free = innodb_buffer_pool_pages_free * page_size\n-            innodb_buffer_pool_pages_used = \\\n-                innodb_buffer_pool_pages_total - innodb_buffer_pool_pages_free\n-\n-            self.gauge(\"mysql.innodb.buffer_pool_free\", innodb_buffer_pool_pages_free, tags=tags)\n-            self.gauge(\"mysql.innodb.buffer_pool_used\", innodb_buffer_pool_pages_used, tags=tags)\n-            self.gauge(\"mysql.innodb.buffer_pool_total\", innodb_buffer_pool_pages_total, tags=tags)\n-\n-            if innodb_buffer_pool_pages_total != 0:\n-                innodb_buffer_pool_pages_utilization = \\\n-                    innodb_buffer_pool_pages_used / innodb_buffer_pool_pages_total\n-                self.gauge(\"mysql.innodb.buffer_pool_utilization\",\n-                           innodb_buffer_pool_pages_utilization, tags=tags)\n-\n-        if 'galera_cluster' in options and options['galera_cluster']:\n-            value = self._collect_scalar('wsrep_cluster_size', status_results)\n-            self.gauge('mysql.galera.wsrep_cluster_size', value, tags=tags)\n-\n-        if 'replication' in options and options['replication']:\n+        key_blocks_unused = self._collect_scalar('Key_blocks_unused', results)\n+        key_cache_block_size = self._collect_scalar(\n+            'key_cache_block_size', results)\n+        key_buffer_size = self._collect_scalar('key_buffer_size', results)\n+        key_cache_utilization = 1 - \\\n+            ((key_blocks_unused * key_cache_block_size) / key_buffer_size)\n+\n+        results['Key_buffer_size'] = key_buffer_size\n+        results['Key_buffer_bytes_used'] = self._collect_scalar(\n+            'Key_blocks_used', results) * key_cache_block_size\n+        results['Key_buffer_bytes_unflushed'] = self._collect_scalar(\n+            'Key_blocks_not_flushed', results) * key_cache_block_size\n+        results['Key_cache_utilization'] = key_cache_utilization\n+\n+        metrics.update(VARIABLES_VARS)\n+        metrics.update(INNODB_VARS)\n+        metrics.update(BINLOG_VARS)\n+\n+        if options.get('extra_status_metrics'):\n+            self.log.debug(\"Collecting Extra Status Metrics\")\n+            metrics.update(OPTIONAL_STATUS_VARS)\n+\n+            if self._version_compatible(db, host, \"5.6.6\"):\n+                metrics.update(OPTIONAL_STATUS_VARS_5_6_6)\n+\n+        if options.get('galera_cluster'):\n+            # already in result-set after 'SHOW STATUS' just add vars to collect\n+            self.log.debug(\"Collecting Galera Metrics.\")\n+            metrics.update(GALERA_VARS)\n+\n+        if options.get('extra_performance_metrics') and self._version_compatible(db, host, \"5.6.0\"):","path":"checks.d/mysql.py","position":null,"original_position":546,"commit_id":"d40223a50715d7458a2599aca2ae4066ea5f3d90","original_commit_id":"817d05f8cd40cfec04b104e4212c240db6ef04f4","user":{"login":"truthbk","id":448216,"avatar_url":"https://avatars.githubusercontent.com/u/448216?v=3","gravatar_id":"","url":"https://api.github.com/users/truthbk","html_url":"https://github.com/truthbk","followers_url":"https://api.github.com/users/truthbk/followers","following_url":"https://api.github.com/users/truthbk/following{/other_user}","gists_url":"https://api.github.com/users/truthbk/gists{/gist_id}","starred_url":"https://api.github.com/users/truthbk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/truthbk/subscriptions","organizations_url":"https://api.github.com/users/truthbk/orgs","repos_url":"https://api.github.com/users/truthbk/repos","events_url":"https://api.github.com/users/truthbk/events{/privacy}","received_events_url":"https://api.github.com/users/truthbk/received_events","type":"User","site_admin":false},"body":"@ovaistariq thanks for the observation! Adding it.","created_at":"2016-01-19T17:53:15Z","updated_at":"2016-01-19T17:53:15Z","html_url":"https://github.com/DataDog/dd-agent/pull/2116#discussion_r50147600","pull_request_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116","_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/comments/50147600"},"html":{"href":"https://github.com/DataDog/dd-agent/pull/2116#discussion_r50147600"},"pull_request":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116"}}},"pull_request":{"url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116","id":52334752,"html_url":"https://github.com/DataDog/dd-agent/pull/2116","diff_url":"https://github.com/DataDog/dd-agent/pull/2116.diff","patch_url":"https://github.com/DataDog/dd-agent/pull/2116.patch","issue_url":"https://api.github.com/repos/DataDog/dd-agent/issues/2116","number":2116,"state":"open","locked":false,"title":"[mysql] enhancing the catalog of metrics reported.","user":{"login":"truthbk","id":448216,"avatar_url":"https://avatars.githubusercontent.com/u/448216?v=3","gravatar_id":"","url":"https://api.github.com/users/truthbk","html_url":"https://github.com/truthbk","followers_url":"https://api.github.com/users/truthbk/followers","following_url":"https://api.github.com/users/truthbk/following{/other_user}","gists_url":"https://api.github.com/users/truthbk/gists{/gist_id}","starred_url":"https://api.github.com/users/truthbk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/truthbk/subscriptions","organizations_url":"https://api.github.com/users/truthbk/orgs","repos_url":"https://api.github.com/users/truthbk/repos","events_url":"https://api.github.com/users/truthbk/events{/privacy}","received_events_url":"https://api.github.com/users/truthbk/received_events","type":"User","site_admin":false},"body":"# MySQL Check Enhancement\r\n\r\nThis PR combines multiple efforts by @ovaistariq (huge effort!) @garnermccloud @c960657 @zdannar @polynomial @leucos to greatly improve the catalog of MySQL metrics reported. Metrics have been added to provide additional insight into:\r\n\r\n* Performance Schema\r\n* Replication\r\n* Galera Cluster\r\n* Per schema performance and size metrics\r\n\r\nAdditional work has gone into improving the test and attempt to test the entire catalog. \r\n\r\nThis overhaul will now allow us to provide the following new metrics (hang tight):\r\n\r\n## New Status Metrics\r\n```\r\n* MySQL name: 'Com_replace' - Datadog metric name: 'mysql.performance.com_replace' - Metric type: RATE\r\n* MySQL name: 'Com_load' - Datadog metric name: 'mysql.performance.com_load' - Metric type: RATE\r\n* MySQL name: 'Aborted_clients' - Datadog metric name: 'mysql.net.aborted_clients' - Metric type: RATE\r\n* MySQL name: 'Aborted_connects' - Datadog metric name: 'mysql.net.aborted_connects' - Metric type: RATE\r\n* MySQL name: 'Bytes_sent' - Datadog metric name: 'mysql.performance.bytes_sent' - Metric type: RATE\r\n* MySQL name: 'Bytes_received' - Datadog metric name: 'mysql.performance.bytes_received' - Metric type: RATE\r\n* MySQL name: 'Qcache_hits' - Datadog metric name: 'mysql.performance.qcache_hits' - Metric type: RATE\r\n* MySQL name: 'Qcache_inserts' - Datadog metric name: 'mysql.performance.qcache_inserts' - Metric type: RATE\r\n* MySQL name: 'Qcache_lowmem_prunes' - Datadog metric name: 'mysql.performance.qcache_lowmem_prunes' - Metric type: RATE\r\n```\r\n\r\n### MyISAM Metrics\r\n```\r\n* MySQL name: 'Key_buffer_bytes_unflushed' - Datadog metric name: 'mysql.myisam.key_buffer_bytes_unflushed' - Metric type: RATE\r\n* MySQL name: 'Key_buffer_bytes_used' - Datadog metric name: 'mysql.myisam.key_buffer_bytes_used' - Metric type: GAUGE\r\n* MySQL name: 'Key_read_requests' - Datadog metric name: 'mysql.myisam.key_read_requests' - Metric type: RATE\r\n* MySQL name: 'Key_reads' - Datadog metric name: 'mysql.myisam.key_reads' - Metric type: RATE\r\n* MySQL name: 'Key_write_requests' - Datadog metric name: 'mysql.myisam.key_write_requests' - Metric type: RATE\r\n* MySQL name: 'Key_writes' - Datadog metric name: 'mysql.myisam.key_writes' - Metric type: RATE\r\n```\r\n\r\n## Global Variable Metrics \r\n```\r\n* MySQL name: 'Key_buffer_size' - Datadog metric name: 'mysql.myisam.key_buffer_size' - Metric type: GAUGE\r\n* MySQL name: 'Key_cache_utilization' - Datadog metric name: 'mysql.performance.key_cache_utilization' - Metric type: GAUGE\r\n* MySQL name: 'max_connections' - Datadog metric name: 'mysql.net.max_connections_available' - Metric type: GAUGE\r\n* MySQL name: 'query_cache_size' - Datadog metric name: 'mysql.performance.qcache_size' - Metric type: GAUGE\r\n* MySQL name: 'table_open_cache' - Datadog metric name: 'mysql.performance.table_open_cache' - Metric type: GAUGE\r\n* MySQL name: 'thread_cache_size' - Datadog metric name: 'mysql.performance.thread_cache_size' - Metric type: GAUGE\r\n```\r\n\r\n## InnoDB Metrics\r\n```\r\n* MySQL name: 'Innodb_data_reads' - Datadog metric name: 'mysql.innodb.data_reads' - Metric type: RATE\r\n* MySQL name: 'Innodb_data_writes' - Datadog metric name: 'mysql.innodb.data_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_log_fsyncs' - Datadog metric name: 'mysql.innodb.os_log_fsyncs' - Metric type: RATE\r\n* MySQL name: 'Innodb_mutex_spin_waits' - Datadog metric name: 'mysql.innodb.mutex_spin_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_mutex_spin_rounds' - Datadog metric name: 'mysql.innodb.mutex_spin_rounds' - Metric type: RATE\r\n* MySQL name: 'Innodb_mutex_os_waits' - Datadog metric name: 'mysql.innodb.mutex_os_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_row_lock_waits' - Datadog metric name: 'mysql.innodb.row_lock_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_row_lock_time' - Datadog metric name: 'mysql.innodb.row_lock_time' - Metric type: RATE\r\n* MySQL name: 'Innodb_row_lock_current_waits' - Datadog metric name: 'mysql.innodb.row_lock_current_waits' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_current_row_locks' - Datadog metric name: 'mysql.innodb.current_row_locks' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_bytes_dirty' - Datadog metric name: 'mysql.innodb.buffer_pool_dirty' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_bytes_free' - Datadog metric name: 'mysql.innodb.buffer_pool_free' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_bytes_used' - Datadog metric name: 'mysql.innodb.buffer_pool_used' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_bytes_total' - Datadog metric name: 'mysql.innodb.buffer_pool_total' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_read_requests' - Datadog metric name: 'mysql.innodb.buffer_pool_read_requests' - Metric type: RATE\r\n* MySQL name: 'Innodb_buffer_pool_reads' - Datadog metric name: 'mysql.innodb.buffer_pool_reads' - Metric type: RATE\r\n* MySQL name: 'Innodb_buffer_pool_pages_utilization' - Datadog metric name: 'mysql.innodb.buffer_pool_utilization' - Metric type: GAUGE\r\n```\r\n\r\n## BINLog Metrics\r\n```\r\n* MySQL name: 'Binlog_space_usage_bytes' - Datadog metric name: 'mysql.binlog.disk_use' - Metric type: GAUGE\r\n```\r\n\r\n## Additional (and optional) Status Metrics\r\n```\r\n* MySQL name: 'Binlog_cache_disk_use' - Datadog metric name: 'mysql.binlog.cache_disk_use' - Metric type: GAUGE\r\n* MySQL name: 'Binlog_cache_use' - Datadog metric name: 'mysql.binlog.cache_use' - Metric type: GAUGE\r\n* MySQL name: 'Handler_commit' - Datadog metric name: 'mysql.performance.handler_commit' - Metric type: RATE\r\n* MySQL name: 'Handler_delete' - Datadog metric name: 'mysql.performance.handler_delete' - Metric type: RATE\r\n* MySQL name: 'Handler_prepare' - Datadog metric name: 'mysql.performance.handler_prepare' - Metric type: RATE\r\n* MySQL name: 'Handler_read_first' - Datadog metric name: 'mysql.performance.handler_read_first' - Metric type: RATE\r\n* MySQL name: 'Handler_read_key' - Datadog metric name: 'mysql.performance.handler_read_key' - Metric type: RATE\r\n* MySQL name: 'Handler_read_next' - Datadog metric name: 'mysql.performance.handler_read_next' - Metric type: RATE\r\n* MySQL name: 'Handler_read_prev' - Datadog metric name: 'mysql.performance.handler_read_prev' - Metric type: RATE\r\n* MySQL name: 'Handler_read_rnd' - Datadog metric name: 'mysql.performance.handler_read_rnd' - Metric type: RATE\r\n* MySQL name: 'Handler_read_rnd_next' - Datadog metric name: 'mysql.performance.handler_read_rnd_next' - Metric type: RATE\r\n* MySQL name: 'Handler_rollback' - Datadog metric name: 'mysql.performance.handler_rollback' - Metric type: RATE\r\n* MySQL name: 'Handler_update' - Datadog metric name: 'mysql.performance.handler_update' - Metric type: RATE\r\n* MySQL name: 'Handler_write' - Datadog metric name: 'mysql.performance.handler_write' - Metric type: RATE\r\n* MySQL name: 'Opened_tables' - Datadog metric name: 'mysql.performance.opened_tables' - Metric type: RATE\r\n* MySQL name: 'Qcache_total_blocks' - Datadog metric name: 'mysql.performance.qcache_total_blocks' - Metric type: GAUGE\r\n* MySQL name: 'Qcache_free_blocks' - Datadog metric name: 'mysql.performance.qcache_free_blocks' - Metric type: GAUGE\r\n* MySQL name: 'Qcache_free_memory' - Datadog metric name: 'mysql.performance.qcache_free_memory' - Metric type: GAUGE\r\n* MySQL name: 'Qcache_not_cached' - Datadog metric name: 'mysql.performance.qcache_not_cached' - Metric type: RATE\r\n* MySQL name: 'Qcache_queries_in_cache' - Datadog metric name: 'mysql.performance.qcache_queries_in_cache' - Metric type: GAUGE\r\n* MySQL name: 'Select_full_join' - Datadog metric name: 'mysql.performance.select_full_join' - Metric type: RATE\r\n* MySQL name: 'Select_full_range_join' - Datadog metric name: 'mysql.performance.select_full_range_join' - Metric type: RATE\r\n* MySQL name: 'Select_range' - Datadog metric name: 'mysql.performance.select_range' - Metric type: RATE\r\n* MySQL name: 'Select_range_check' - Datadog metric name: 'mysql.performance.select_range_check' - Metric type: RATE\r\n* MySQL name: 'Select_scan' - Datadog metric name: 'mysql.performance.select_scan' - Metric type: RATE\r\n* MySQL name: 'Sort_merge_passes' - Datadog metric name: 'mysql.performance.sort_merge_passes' - Metric type: RATE\r\n* MySQL name: 'Sort_range' - Datadog metric name: 'mysql.performance.sort_range' - Metric type: RATE\r\n* MySQL name: 'Sort_rows' - Datadog metric name: 'mysql.performance.sort_rows' - Metric type: RATE\r\n* MySQL name: 'Sort_scan' - Datadog metric name: 'mysql.performance.sort_scan' - Metric type: RATE\r\n* MySQL name: 'Table_locks_immediate' - Datadog metric name: 'mysql.performance.table_locks_immediate' - Metric type: RATE\r\n* MySQL name: 'Threads_cached' - Datadog metric name: 'mysql.performance.threads_cached' - Metric type: GAUGE\r\n* MySQL name: 'Threads_created' - Datadog metric name: 'mysql.performance.threads_created' - Metric type: GAUGE)\r\n```\r\n\r\n## Optional Status metrics available for MySQL >= 5.6.6\r\n```\r\n* MySQL name: 'Table_open_cache_hits' - Datadog metric name: 'mysql.performance.table_cache_hits' - Metric type: RATE\r\n* MySQL name: 'Table_open_cache_misses' - Datadog metric name: 'mysql.performance.table_cache_misses' - Metric type: RATE\r\n```\r\n\r\n## Optional InnoDB Metrics\r\n```\r\n* MySQL name: 'Innodb_active_transactions' - Datadog metric name: 'mysql.innodb.active_transactions' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_bytes_data' - Datadog metric name: 'mysql.innodb.buffer_pool_data' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_pages_data' - Datadog metric name: 'mysql.innodb.buffer_pool_pages_data' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_pages_dirty' - Datadog metric name: 'mysql.innodb.buffer_pool_pages_dirty' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_pages_flushed' - Datadog metric name: 'mysql.innodb.buffer_pool_pages_flushed' - Metric type: RATE\r\n* MySQL name: 'Innodb_buffer_pool_pages_free' - Datadog metric name: 'mysql.innodb.buffer_pool_pages_free' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_pages_total' - Datadog metric name: 'mysql.innodb.buffer_pool_pages_total' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_read_ahead' - Datadog metric name: 'mysql.innodb.buffer_pool_read_ahead' - Metric type: RATE\r\n* MySQL name: 'Innodb_buffer_pool_read_ahead_evicted' - Datadog metric name: 'mysql.innodb.buffer_pool_read_ahead_evicted' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_read_ahead_rnd' - Datadog metric name: 'mysql.innodb.buffer_pool_read_ahead_rnd' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_wait_free' - Datadog metric name: 'mysql.innodb.buffer_pool_wait_free' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_buffer_pool_write_requests' - Datadog metric name: 'mysql.innodb.buffer_pool_write_requests' - Metric type: RATE\r\n* MySQL name: 'Innodb_checkpoint_age' - Datadog metric name: 'mysql.innodb.checkpoint_age' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_current_transactions' - Datadog metric name: 'mysql.innodb.current_transactions' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_fsyncs' - Datadog metric name: 'mysql.innodb.data_fsyncs' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_pending_fsyncs' - Datadog metric name: 'mysql.innodb.data_pending_fsyncs' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_pending_reads' - Datadog metric name: 'mysql.innodb.data_pending_reads' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_pending_writes' - Datadog metric name: 'mysql.innodb.data_pending_writes' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_read' - Datadog metric name: 'mysql.innodb.data_read' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_data_written' - Datadog metric name: 'mysql.innodb.data_written' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_dblwr_pages_written' - Datadog metric name: 'mysql.innodb.dblwr_pages_written' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_dblwr_writes' - Datadog metric name: 'mysql.innodb.dblwr_writes' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_hash_index_cells_total' - Datadog metric name: 'mysql.innodb.hash_index_cells_total' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_hash_index_cells_used' - Datadog metric name: 'mysql.innodb.hash_index_cells_used' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_history_list_length' - Datadog metric name: 'mysql.innodb.history_list_length' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_ibuf_free_list' - Datadog metric name: 'mysql.innodb.ibuf_free_list' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_ibuf_merged' - Datadog metric name: 'mysql.innodb.ibuf_merged' - Metric type: RATE\r\n* MySQL name: 'Innodb_ibuf_merged_delete_marks' - Datadog metric name: 'mysql.innodb.ibuf_merged_delete_marks' - Metric type: RATE\r\n* MySQL name: 'Innodb_ibuf_merged_deletes' - Datadog metric name: 'mysql.innodb.ibuf_merged_deletes' - Metric type: RATE\r\n* MySQL name: 'Innodb_ibuf_merged_inserts' - Datadog metric name: 'mysql.innodb.ibuf_merged_inserts' - Metric type: RATE\r\n* MySQL name: 'Innodb_ibuf_merges' - Datadog metric name: 'mysql.innodb.ibuf_merges' - Metric type: RATE\r\n* MySQL name: 'Innodb_ibuf_segment_size' - Datadog metric name: 'mysql.innodb.ibuf_segment_size' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_ibuf_size' - Datadog metric name: 'mysql.innodb.ibuf_size' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_lock_structs' - Datadog metric name: 'mysql.innodb.lock_structs' - Metric type: RATE\r\n* MySQL name: 'Innodb_locked_tables' - Datadog metric name: 'mysql.innodb.locked_tables' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_locked_transactions' - Datadog metric name: 'mysql.innodb.locked_transactions' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_log_waits' - Datadog metric name: 'mysql.innodb.log_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_log_write_requests' - Datadog metric name: 'mysql.innodb.log_write_requests' - Metric type: RATE\r\n* MySQL name: 'Innodb_log_writes' - Datadog metric name: 'mysql.innodb.log_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_lsn_current' - Datadog metric name: 'mysql.innodb.lsn_current' - Metric type: RATE\r\n* MySQL name: 'Innodb_lsn_flushed' - Datadog metric name: 'mysql.innodb.lsn_flushed' - Metric type: RATE\r\n* MySQL name: 'Innodb_lsn_last_checkpoint' - Datadog metric name: 'mysql.innodb.lsn_last_checkpoint' - Metric type: RATE\r\n* MySQL name: 'Innodb_mem_adaptive_hash' - Datadog metric name: 'mysql.innodb.mem_adaptive_hash' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_additional_pool' - Datadog metric name: 'mysql.innodb.mem_additional_pool' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_dictionary' - Datadog metric name: 'mysql.innodb.mem_dictionary' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_file_system' - Datadog metric name: 'mysql.innodb.mem_file_system' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_lock_system' - Datadog metric name: 'mysql.innodb.mem_lock_system' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_page_hash' - Datadog metric name: 'mysql.innodb.mem_page_hash' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_recovery_system' - Datadog metric name: 'mysql.innodb.mem_recovery_system' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_thread_hash' - Datadog metric name: 'mysql.innodb.mem_thread_hash' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_mem_total' - Datadog metric name: 'mysql.innodb.mem_total' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_os_file_fsyncs' - Datadog metric name: 'mysql.innodb.os_file_fsyncs' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_file_reads' - Datadog metric name: 'mysql.innodb.os_file_reads' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_file_writes' - Datadog metric name: 'mysql.innodb.os_file_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_log_pending_fsyncs' - Datadog metric name: 'mysql.innodb.os_log_pending_fsyncs' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_log_pending_writes' - Datadog metric name: 'mysql.innodb.os_log_pending_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_os_log_written' - Datadog metric name: 'mysql.innodb.os_log_written' - Metric type: RATE\r\n* MySQL name: 'Innodb_pages_created' - Datadog metric name: 'mysql.innodb.pages_created' - Metric type: RATE\r\n* MySQL name: 'Innodb_pages_read' - Datadog metric name: 'mysql.innodb.pages_read' - Metric type: RATE\r\n* MySQL name: 'Innodb_pages_written' - Datadog metric name: 'mysql.innodb.pages_written' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_aio_log_ios' - Datadog metric name: 'mysql.innodb.pending_aio_log_ios' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_aio_sync_ios' - Datadog metric name: 'mysql.innodb.pending_aio_sync_ios' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_buffer_pool_flushes' - Datadog metric name: 'mysql.innodb.pending_buffer_pool_flushes' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_checkpoint_writes' - Datadog metric name: 'mysql.innodb.pending_checkpoint_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_ibuf_aio_reads' - Datadog metric name: 'mysql.innodb.pending_ibuf_aio_reads' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_log_flushes' - Datadog metric name: 'mysql.innodb.pending_log_flushes' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_log_writes' - Datadog metric name: 'mysql.innodb.pending_log_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_normal_aio_reads' - Datadog metric name: 'mysql.innodb.pending_normal_aio_reads' - Metric type: RATE\r\n* MySQL name: 'Innodb_pending_normal_aio_writes' - Datadog metric name: 'mysql.innodb.pending_normal_aio_writes' - Metric type: RATE\r\n* MySQL name: 'Innodb_queries_inside' - Datadog metric name: 'mysql.innodb.queries_inside' - Metric type: RATE\r\n* MySQL name: 'Innodb_queries_queued' - Datadog metric name: 'mysql.innodb.queries_queued' - Metric type: RATE\r\n* MySQL name: 'Innodb_read_views' - Datadog metric name: 'mysql.innodb.read_views' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_rows_deleted' - Datadog metric name: 'mysql.innodb.rows_deleted' - Metric type: RATE\r\n* MySQL name: 'Innodb_rows_inserted' - Datadog metric name: 'mysql.innodb.rows_inserted' - Metric type: RATE\r\n* MySQL name: 'Innodb_rows_read' - Datadog metric name: 'mysql.innodb.rows_read' - Metric type: RATE\r\n* MySQL name: 'Innodb_rows_updated' - Datadog metric name: 'mysql.innodb.rows_updated' - Metric type: RATE\r\n* MySQL name: 'Innodb_s_lock_os_waits' - Datadog metric name: 'mysql.innodb.s_lock_os_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_s_lock_spin_rounds' - Datadog metric name: 'mysql.innodb.s_lock_spin_rounds' - Metric type: RATE\r\n* MySQL name: 'Innodb_s_lock_spin_waits' - Datadog metric name: 'mysql.innodb.s_lock_spin_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_semaphore_wait_time' - Datadog metric name: 'mysql.innodb.semaphore_wait_time' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_semaphore_waits' - Datadog metric name: 'mysql.innodb.semaphore_waits' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_tables_in_use' - Datadog metric name: 'mysql.innodb.tables_in_use' - Metric type: GAUGE\r\n* MySQL name: 'Innodb_x_lock_os_waits' - Datadog metric name: 'mysql.innodb.x_lock_os_waits' - Metric type: RATE\r\n* MySQL name: 'Innodb_x_lock_spin_rounds' - Datadog metric name: 'mysql.innodb.x_lock_spin_rounds' - Metric type: RATE\r\n* MySQL name: 'Innodb_x_lock_spin_waits' - Datadog metric name: 'mysql.innodb.x_lock_spin_waits' - Metric type: RATE\r\n```\r\n\r\n## Galera Cluster Metrics\r\n```\r\n* MySQL name: 'wsrep_cluster_size' - Datadog metric name: 'mysql.galera.wsrep_cluster_size' - Metric type: GAUGE\r\n* MySQL name: 'wsrep_local_recv_queue_avg' - Datadog metric name: 'mysql.galera.wsrep_local_recv_queue_avg' - Metric type: GAUGE\r\n* MySQL name: 'wsrep_flow_control_paused' - Datadog metric name: 'mysql.galera.wsrep_flow_control_paused' - Metric type: GAUGE\r\n* MySQL name: 'wsrep_cert_deps_distance' - Datadog metric name: 'mysql.galera.wsrep_cert_deps_distance' - Metric type: GAUGE\r\n* MySQL name: 'wsrep_local_send_queue_avg' - Datadog metric name: 'mysql.galera.wsrep_local_send_queue_avg' - Metric type: GAUGE\r\n```\r\n\r\n## Performance Metrics\r\n```\r\n* MySQL name: 'query_run_time_avg' : 'mysql.performance.query_run_time.avg' - Metric type: GAUGE\r\n* MySQL name: 'perf_digest_95th_percentile_avg_us' - Datadog metric name: 'mysql.performance.digest_95th_percentile.avg_us' - Metric type: GAUGE\r\n```\r\n\r\n## Schema Metrics\r\n```\r\n* MySQL name: 'information_schema_size' - Datadog metric name: 'mysql.info.schema.size' - Metric type: GAUGE\r\n```\r\n\r\n## Replication Metrics\r\n```\r\n* MySQL name: 'Seconds_Behind_Master' - Datadog metric name: 'mysql.replication.seconds_behind_master' - Metric type: GAUGE\r\n```\r\n\r\n## PRs referenced:\r\n* #1284\r\n* #1869\r\n* #2012 \r\n* #2024 \r\n* #2027","created_at":"2015-12-01T23:55:50Z","updated_at":"2016-01-19T17:53:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5cd86b0ba9906f14470914dab8fdc2e574136b8d","assignee":{"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},"milestone":{"url":"https://api.github.com/repos/DataDog/dd-agent/milestones/54","html_url":"https://github.com/DataDog/dd-agent/milestones/5.7.0","labels_url":"https://api.github.com/repos/DataDog/dd-agent/milestones/54/labels","id":1360063,"number":54,"title":"5.7.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":23,"closed_issues":83,"state":"open","created_at":"2015-10-16T19:06:06Z","updated_at":"2016-01-19T16:18:39Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116/commits","review_comments_url":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116/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/2116/comments","statuses_url":"https://api.github.com/repos/DataDog/dd-agent/statuses/d40223a50715d7458a2599aca2ae4066ea5f3d90","head":{"label":"DataDog:jaime/mysql_cons","ref":"jaime/mysql_cons","sha":"d40223a50715d7458a2599aca2ae4066ea5f3d90","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}","created_at":"2010-12-31T03:02:47Z","updated_at":"2016-01-15T19:39:03Z","pushed_at":"2016-01-19T17:52:16Z","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":33004,"stargazers_count":407,"watchers_count":407,"language":"Python","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":377,"mirror_url":null,"open_issues_count":126,"forks":377,"open_issues":126,"watchers":407,"default_branch":"master"}},"base":{"label":"DataDog:master","ref":"master","sha":"b90766bfd2d02e7abf0ac34ecf085720bcb03edb","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}","created_at":"2010-12-31T03:02:47Z","updated_at":"2016-01-15T19:39:03Z","pushed_at":"2016-01-19T17:52:16Z","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":33004,"stargazers_count":407,"watchers_count":407,"language":"Python","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":377,"mirror_url":null,"open_issues_count":126,"forks":377,"open_issues":126,"watchers":407,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116"},"html":{"href":"https://github.com/DataDog/dd-agent/pull/2116"},"issue":{"href":"https://api.github.com/repos/DataDog/dd-agent/issues/2116"},"comments":{"href":"https://api.github.com/repos/DataDog/dd-agent/issues/2116/comments"},"review_comments":{"href":"https://api.github.com/repos/DataDog/dd-agent/pulls/2116/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/2116/commits"},"statuses":{"href":"https://api.github.com/repos/DataDog/dd-agent/statuses/d40223a50715d7458a2599aca2ae4066ea5f3d90"}}}}