)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"213f2a2817f984e1e2a04780bb46dffdf4b8a848","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andrea Adams \u003caadams@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-21 15:41:00 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Mesos plugins to monitor all aspects of mesos"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifa6dc9fd163576e52c4b2e443e184b06fde11504"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6895a0_bbbabc08","line":7,"range":{"start_line":7,"start_character":29,"end_line":7,"end_character":36},"updated":"2016-10-24 19:02:12.000000000","message":"maybe a bit more descriptive","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andrea Adams \u003caadams@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-10-21 15:41:00 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Mesos plugins to monitor all aspects of mesos"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifa6dc9fd163576e52c4b2e443e184b06fde11504"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6895a0_eee0f0ce","line":7,"range":{"start_line":7,"start_character":29,"end_line":7,"end_character":36},"in_reply_to":"da6895a0_bbbabc08","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"}],"conf.d/mesos_agent.yaml.example":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"init_config:"},{"line_number":2,"context_line":"  default_timeout: 10"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_b81c82c2","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"updated":"2016-10-24 19:01:47.000000000","message":"copyright","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":1,"context_line":"init_config:"},{"line_number":2,"context_line":"  default_timeout: 10"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_6ec6a04a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"in_reply_to":"da6895a0_b81c82c2","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":5,"context_line":"  - url: \"http://localhost:5051\""},{"line_number":6,"context_line":"    #  master_port: 5050"},{"line_number":7,"context_line":"    #  tasks:"},{"line_number":8,"context_line":"    #    - \"hello\""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    # The (optional) disable_ssl_validation will instruct the check"},{"line_number":11,"context_line":"    # to skip the validation of the SSL certificate of the slave metric endpoint."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_7822ea02","line":8,"range":{"start_line":8,"start_character":12,"end_line":8,"end_character":17},"updated":"2016-10-24 19:01:47.000000000","message":"what does this mean?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":5,"context_line":"  - url: \"http://localhost:5051\""},{"line_number":6,"context_line":"    #  master_port: 5050"},{"line_number":7,"context_line":"    #  tasks:"},{"line_number":8,"context_line":"    #    - \"hello\""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    # The (optional) disable_ssl_validation will instruct the check"},{"line_number":11,"context_line":"    # to skip the validation of the SSL certificate of the slave metric endpoint."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_ceddec15","line":8,"range":{"start_line":8,"start_character":12,"end_line":8,"end_character":17},"in_reply_to":"da6895a0_7822ea02","updated":"2016-10-24 20:32:16.000000000","message":"I\u0027ll get a better example of what a task should look like","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"init_config:"},{"line_number":4,"context_line":"  default_timeout: 10"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"instances:"},{"line_number":7,"context_line":"  - url: \"http://localhost:5051\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ba5da102_5a9d3f64","line":4,"range":{"start_line":4,"start_character":19,"end_line":4,"end_character":21},"updated":"2016-10-28 03:29:31.000000000","message":"The code timeout is 5 not 10","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"init_config:"},{"line_number":4,"context_line":"  default_timeout: 10"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"instances:"},{"line_number":7,"context_line":"  - url: \"http://localhost:5051\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ba5da102_9196c34a","line":4,"range":{"start_line":4,"start_character":19,"end_line":4,"end_character":21},"in_reply_to":"ba5da102_5a9d3f64","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":6,"context_line":"instances:"},{"line_number":7,"context_line":"  - url: \"http://localhost:5051\""},{"line_number":8,"context_line":"    #  master_port: 5050"},{"line_number":9,"context_line":"    #  tasks:"},{"line_number":10,"context_line":"    #    - \"task_to_monitor\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    # Note: Task monitoring can take exponential time. Caution should be taken"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ba5da102_9abb57c4","line":9,"range":{"start_line":9,"start_character":7,"end_line":9,"end_character":12},"updated":"2016-10-28 03:29:31.000000000","message":"There is no documentation of this parameter in Plugins.md","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":6,"context_line":"instances:"},{"line_number":7,"context_line":"  - url: \"http://localhost:5051\""},{"line_number":8,"context_line":"    #  master_port: 5050"},{"line_number":9,"context_line":"    #  tasks:"},{"line_number":10,"context_line":"    #    - \"task_to_monitor\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    # Note: Task monitoring can take exponential time. Caution should be taken"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ba5da102_b1910755","line":9,"range":{"start_line":9,"start_character":7,"end_line":9,"end_character":12},"in_reply_to":"ba5da102_9abb57c4","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    #    - \"task_to_monitor\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    # Specifing a task by name here means resources consumed by the task will"},{"line_number":13,"context_line":"    # be monitored and reported with \"task_to_monitor\" in the dimensions."},{"line_number":14,"context_line":"    # Note: Task monitoring can take exponential time. Caution should be taken"},{"line_number":15,"context_line":"    # when monitoring multiple tasks."},{"line_number":16,"context_line":"    #"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"ba5da102_61180176","line":13,"updated":"2016-11-03 04:29:37.000000000","message":"\"task_to_monitor\" seems like a lengthy and slightly cumbersome dimension name. Would \"task_name\" be acceptable?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    # Specifing a task by name here means resources consumed by the task will"},{"line_number":13,"context_line":"    # be monitored and reported with \"task_to_monitor\" in the dimensions."},{"line_number":14,"context_line":"    # Note: Task monitoring can take exponential time. Caution should be taken"},{"line_number":15,"context_line":"    # when monitoring multiple tasks."},{"line_number":16,"context_line":"    #"},{"line_number":17,"context_line":"    # The (optional) disable_ssl_validation will instruct the check"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"ba5da102_c11f0d59","line":14,"updated":"2016-11-03 04:29:37.000000000","message":"Why would task monitoring take exponential time? I guess I was expecting constant time per task, but maybe I don\u0027t know what a task is. If there are N tasks, then wouldn\u0027t the time be O(N).","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fed6b1cec48c9c732f713e2688faa9567964ce0a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    #  tasks:"},{"line_number":10,"context_line":"    #    - \"task_name\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    # Specifing a task by name here means resources consumed by the task will"},{"line_number":13,"context_line":"    # be monitored and reported with \"task_name\" in the dimensions."},{"line_number":14,"context_line":"    #"},{"line_number":15,"context_line":"    # The (optional) disable_ssl_validation will instruct the check"},{"line_number":16,"context_line":"    # to skip the validation of the SSL certificate of the slave metric endpoint."}],"source_content_type":"application/octet-stream","patch_set":8,"id":"1a6eadb0_309e1157","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":67},"updated":"2016-12-12 21:27:27.000000000","message":"Should be above tasks. Also, specifying is misspelled","commit_id":"46dc9a09b12ffc539a3ee2d5d47fbdbc184e4b72"}],"conf.d/mesos_master.yaml.example":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"init_config:"},{"line_number":2,"context_line":"  default_timeout: 10"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_d87936fe","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"updated":"2016-10-24 19:01:47.000000000","message":"copyright","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":1,"context_line":"init_config:"},{"line_number":2,"context_line":"  default_timeout: 10"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"instances:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"da6895a0_0eb1a4e1","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":11},"in_reply_to":"da6895a0_d87936fe","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"}],"docs/Plugins.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1041,"context_line":"| mesos.cluster.total_frameworks | | Number of frameworks in a cluster |"},{"line_number":1042,"context_line":"| mesos.framework.total_tasks | framework_name | Number of tasks specific to a framework |"},{"line_number":1043,"context_line":"| mesos.role.frameworks.count | framework_name  | Number of frameworks in a specific role |"},{"line_number":1044,"context_line":"| mesos.role.weight | mesos_role | Weight of a role |"},{"line_number":1045,"context_line":"| mesos.framework.cpu | framework_name | Number of CPUs specific to a framework |"},{"line_number":1046,"context_line":"| mesos.framework.mem | framework_name | Memory in MB specific to a framework |"},{"line_number":1047,"context_line":"| mesos.framework.disk | framework_name | Disk space in MB specific to a framework |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_e17ed168","line":1044,"updated":"2016-11-03 04:29:37.000000000","message":"Should mesos_role be either \"name\", \"role\" or \"role_name\"? The mesos prefix seems redundant as this Agent is for monitoring mesos.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"| mesos.role.weight | mesos_role | Weight of a role |"},{"line_number":1045,"context_line":"| mesos.framework.cpu | framework_name | Number of CPUs specific to a framework |"},{"line_number":1046,"context_line":"| mesos.framework.mem | framework_name | Memory in MB specific to a framework |"},{"line_number":1047,"context_line":"| mesos.framework.disk | framework_name | Disk space in MB specific to a framework |"},{"line_number":1048,"context_line":"| mesos.role.cpu | mesos_role | Number of CPUs specific to a role |"},{"line_number":1049,"context_line":"| mesos.role.mem | mesos_role | Memory in MB specific to a role |"},{"line_number":1050,"context_line":"| mesos.role.disk | mesos_role | Disk space in MB specific to a role |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_e1f5f1ec","line":1047,"updated":"2016-11-03 04:29:37.000000000","message":"Should role me moved down and these frameworks moved up so the sections are grouped?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1045,"context_line":"| mesos.framework.cpu | framework_name | Number of CPUs specific to a framework |"},{"line_number":1046,"context_line":"| mesos.framework.mem | framework_name | Memory in MB specific to a framework |"},{"line_number":1047,"context_line":"| mesos.framework.disk | framework_name | Disk space in MB specific to a framework |"},{"line_number":1048,"context_line":"| mesos.role.cpu | mesos_role | Number of CPUs specific to a role |"},{"line_number":1049,"context_line":"| mesos.role.mem | mesos_role | Memory in MB specific to a role |"},{"line_number":1050,"context_line":"| mesos.role.disk | mesos_role | Disk space in MB specific to a role |"},{"line_number":1051,"context_line":"| mesos.cluster.tasks_error | | Number of tasks that were invalid |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_21dc4972","line":1048,"range":{"start_line":1048,"start_character":8,"end_line":1048,"end_character":12},"updated":"2016-11-03 04:29:37.000000000","message":"Possible cpu_total or cpu_count would be a better name.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"| mesos.framework.mem | framework_name | Memory in MB specific to a framework |"},{"line_number":1047,"context_line":"| mesos.framework.disk | framework_name | Disk space in MB specific to a framework |"},{"line_number":1048,"context_line":"| mesos.role.cpu | mesos_role | Number of CPUs specific to a role |"},{"line_number":1049,"context_line":"| mesos.role.mem | mesos_role | Memory in MB specific to a role |"},{"line_number":1050,"context_line":"| mesos.role.disk | mesos_role | Disk space in MB specific to a role |"},{"line_number":1051,"context_line":"| mesos.cluster.tasks_error | | Number of tasks that were invalid |"},{"line_number":1052,"context_line":"| mesos.cluster.tasks_failed | | Number of failed tasks |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_81d3555f","line":1049,"updated":"2016-11-03 04:29:37.000000000","message":"Possibly mem_mbytes would be a better name that mathches what we\u0027ve done for other metrics.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1047,"context_line":"| mesos.framework.disk | framework_name | Disk space in MB specific to a framework |"},{"line_number":1048,"context_line":"| mesos.role.cpu | mesos_role | Number of CPUs specific to a role |"},{"line_number":1049,"context_line":"| mesos.role.mem | mesos_role | Memory in MB specific to a role |"},{"line_number":1050,"context_line":"| mesos.role.disk | mesos_role | Disk space in MB specific to a role |"},{"line_number":1051,"context_line":"| mesos.cluster.tasks_error | | Number of tasks that were invalid |"},{"line_number":1052,"context_line":"| mesos.cluster.tasks_failed | | Number of failed tasks |"},{"line_number":1053,"context_line":"| mesos.cluster.tasks_finished | | Number of finished tasks |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_c1c9cdad","line":1050,"updated":"2016-11-03 04:29:37.000000000","message":"Possibly disk_mbytes would be better.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1070,"context_line":"| mesos.cluster.cpus_total | | Number of CPUs |"},{"line_number":1071,"context_line":"| mesos.cluster.cpus_used | | Number of allocated CPUs |"},{"line_number":1072,"context_line":"| mesos.cluster.disk_percent | | Percentage of allocated disk space |"},{"line_number":1073,"context_line":"| mesos.cluster.disk_total | | Disk space in MB |"},{"line_number":1074,"context_line":"| mesos.cluster.disk_used | | Allocated disk space in MB |"},{"line_number":1075,"context_line":"| mesos.cluster.mem_percent | | Percentage of allocated memory |"},{"line_number":1076,"context_line":"| mesos.cluster.mem_total | | Revocable memory in MB |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_a13db990","line":1073,"updated":"2016-11-03 04:29:37.000000000","message":"disk_total_mbytes I beleive.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1072,"context_line":"| mesos.cluster.disk_percent | | Percentage of allocated disk space |"},{"line_number":1073,"context_line":"| mesos.cluster.disk_total | | Disk space in MB |"},{"line_number":1074,"context_line":"| mesos.cluster.disk_used | | Allocated disk space in MB |"},{"line_number":1075,"context_line":"| mesos.cluster.mem_percent | | Percentage of allocated memory |"},{"line_number":1076,"context_line":"| mesos.cluster.mem_total | | Revocable memory in MB |"},{"line_number":1077,"context_line":"| mesos.cluster.mem_used | | Allocated revocable memory in MB |"},{"line_number":1078,"context_line":"| mesos.registrar.queued_operations | | Number of queued operations |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_21c3698a","line":1075,"updated":"2016-11-03 04:29:37.000000000","message":"Please see the convention that we\u0027ve established, but possibly mem_perc would match better. I don\u0027t think we use the full name percent anywher.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1074,"context_line":"| mesos.cluster.disk_used | | Allocated disk space in MB |"},{"line_number":1075,"context_line":"| mesos.cluster.mem_percent | | Percentage of allocated memory |"},{"line_number":1076,"context_line":"| mesos.cluster.mem_total | | Revocable memory in MB |"},{"line_number":1077,"context_line":"| mesos.cluster.mem_used | | Allocated revocable memory in MB |"},{"line_number":1078,"context_line":"| mesos.registrar.queued_operations | | Number of queued operations |"},{"line_number":1079,"context_line":"| mesos.registrar.registry_size_bytes | | Size of the registrar in bytes |"},{"line_number":1080,"context_line":"| mesos.registrar.state_fetch_ms | | Registry read latency in ms |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_014f4537","line":1077,"updated":"2016-11-03 04:29:37.000000000","message":"In all the above \"cluster\" metrics should there be a dimension such as cluster_name?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1096,"context_line":"| mesos.stats.system.load_1min | | Load average for the past minute |"},{"line_number":1097,"context_line":"| mesos.stats.system.load_5min | | Load average for the past 5 minutes |"},{"line_number":1098,"context_line":"| mesos.stats.system.mem_free_bytes | | Free memory in bytes |"},{"line_number":1099,"context_line":"| mesos.stats.system.mem_total_bytes | | Total memory in bytes |"},{"line_number":1100,"context_line":"| mesos.stats.elected | | Whether this is the elected master |"},{"line_number":1101,"context_line":"| mesos.stats.uptime_secs | | Uptime in seconds |"},{"line_number":1102,"context_line":"| mesos.cluster.dropped_messages | | Number of dropped messages |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_4155bdc3","line":1099,"updated":"2016-11-03 04:29:37.000000000","message":"I\u0027m lazy, but I\u0027m wondering if this should be bytes or mbytes?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1097,"context_line":"| mesos.stats.system.load_5min | | Load average for the past 5 minutes |"},{"line_number":1098,"context_line":"| mesos.stats.system.mem_free_bytes | | Free memory in bytes |"},{"line_number":1099,"context_line":"| mesos.stats.system.mem_total_bytes | | Total memory in bytes |"},{"line_number":1100,"context_line":"| mesos.stats.elected | | Whether this is the elected master |"},{"line_number":1101,"context_line":"| mesos.stats.uptime_secs | | Uptime in seconds |"},{"line_number":1102,"context_line":"| mesos.cluster.dropped_messages | | Number of dropped messages |"},{"line_number":1103,"context_line":"| mesos.cluster.outstanding_offers | | Number of outstanding resource offers |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_a164d9b8","line":1100,"updated":"2016-11-03 04:29:37.000000000","message":"Whether what is the elected master? How does this metric work?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1113,"context_line":"The Mesos agent check returns the following metrics:"},{"line_number":1114,"context_line":"| Metric Name | Dimensions | Semantics |"},{"line_number":1115,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1116,"context_line":"| mesos.state.task.cpu | task_name |  Number of CPUs specific to a task |"},{"line_number":1117,"context_line":"| mesos.state.task.mem | task_name | Memory in MB specific to a task |"},{"line_number":1118,"context_line":"| mesos.state.task.disk | task_name | Disk space in MB specific to a task |"},{"line_number":1119,"context_line":"| mesos.agent.tasks_failed | | Number of failed tasks |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_0176656f","line":1116,"updated":"2016-11-03 04:29:37.000000000","message":"total_cpu or cpu_count?","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1114,"context_line":"| Metric Name | Dimensions | Semantics |"},{"line_number":1115,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1116,"context_line":"| mesos.state.task.cpu | task_name |  Number of CPUs specific to a task |"},{"line_number":1117,"context_line":"| mesos.state.task.mem | task_name | Memory in MB specific to a task |"},{"line_number":1118,"context_line":"| mesos.state.task.disk | task_name | Disk space in MB specific to a task |"},{"line_number":1119,"context_line":"| mesos.agent.tasks_failed | | Number of failed tasks |"},{"line_number":1120,"context_line":"| mesos.agent.tasks_finished | | Number of finished tasks |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_616721b7","line":1117,"updated":"2016-11-03 04:29:37.000000000","message":"mem_used_bytes or mem_used_mbytes","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1115,"context_line":"| ----------- | ---------- | --------- |"},{"line_number":1116,"context_line":"| mesos.state.task.cpu | task_name |  Number of CPUs specific to a task |"},{"line_number":1117,"context_line":"| mesos.state.task.mem | task_name | Memory in MB specific to a task |"},{"line_number":1118,"context_line":"| mesos.state.task.disk | task_name | Disk space in MB specific to a task |"},{"line_number":1119,"context_line":"| mesos.agent.tasks_failed | | Number of failed tasks |"},{"line_number":1120,"context_line":"| mesos.agent.tasks_finished | | Number of finished tasks |"},{"line_number":1121,"context_line":"| mesos.agent.tasks_killed | | Number of killed tasks |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_8108b5db","line":1118,"updated":"2016-11-03 04:29:37.000000000","message":"disk_mbytes or disk_bytes","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1131,"context_line":"| mesos.stats.system.mem_total_bytes | | Total memory in bytes |"},{"line_number":1132,"context_line":"| mesos.stats.registered | | Whether this agent is registered with a master |"},{"line_number":1133,"context_line":"| mesos.stats.uptime_secs | | Uptime in seconds |"},{"line_number":1134,"context_line":"| mesos.agent.cpus_percent | | Percentage of allocated CPUs |"},{"line_number":1135,"context_line":"| mesos.agent.cpus_total | | Number of CPUs |"},{"line_number":1136,"context_line":"| mesos.agent.cpus_used | | Number of allocated CPUs |"},{"line_number":1137,"context_line":"| mesos.agent.disk_percent | | Percentage of allocated disk space |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_01fd85b3","line":1134,"updated":"2016-11-03 04:29:37.000000000","message":"cpus_allocated_perc or cpus_used_perc would possibly be better. Please see the names we\u0027ve used already.","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1135,"context_line":"| mesos.agent.cpus_total | | Number of CPUs |"},{"line_number":1136,"context_line":"| mesos.agent.cpus_used | | Number of allocated CPUs |"},{"line_number":1137,"context_line":"| mesos.agent.disk_percent | | Percentage of allocated disk space |"},{"line_number":1138,"context_line":"| mesos.agent.disk_total | | Disk space in MB |"},{"line_number":1139,"context_line":"| mesos.agent.disk_used | | Allocated disk space in MB |"},{"line_number":1140,"context_line":"| mesos.agent.mem_percent | | Percentage of allocated memory |"},{"line_number":1141,"context_line":"| mesos.agent.mem_total | | Memory in MB |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_61fe41af","line":1138,"updated":"2016-11-03 04:29:37.000000000","message":"disk_total_mbytes","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1136,"context_line":"| mesos.agent.cpus_used | | Number of allocated CPUs |"},{"line_number":1137,"context_line":"| mesos.agent.disk_percent | | Percentage of allocated disk space |"},{"line_number":1138,"context_line":"| mesos.agent.disk_total | | Disk space in MB |"},{"line_number":1139,"context_line":"| mesos.agent.disk_used | | Allocated disk space in MB |"},{"line_number":1140,"context_line":"| mesos.agent.mem_percent | | Percentage of allocated memory |"},{"line_number":1141,"context_line":"| mesos.agent.mem_total | | Memory in MB |"},{"line_number":1142,"context_line":"| mesos.agent.mem_used | | Allocated memory in MB |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_812fd53d","line":1139,"updated":"2016-11-03 04:29:37.000000000","message":"disk_used_mbytes","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":1139,"context_line":"| mesos.agent.disk_used | | Allocated disk space in MB |"},{"line_number":1140,"context_line":"| mesos.agent.mem_percent | | Percentage of allocated memory |"},{"line_number":1141,"context_line":"| mesos.agent.mem_total | | Memory in MB |"},{"line_number":1142,"context_line":"| mesos.agent.mem_used | | Allocated memory in MB |"},{"line_number":1143,"context_line":"| mesos.agent.executors_registering | | Number of executors registering |"},{"line_number":1144,"context_line":"| mesos.agent.executors_running | | Number of executors running |"},{"line_number":1145,"context_line":"| mesos.agent.executors_terminated | | Number of terminated executors |"}],"source_content_type":"text/x-markdown","patch_set":3,"id":"ba5da102_e1289135","line":1142,"updated":"2016-11-03 04:29:37.000000000","message":"mem_used_mbytes","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"01f4cead762a882e7d1fb4bc6d3c37a3ad2bf110","unresolved":false,"context_lines":[{"line_number":1097,"context_line":"| mesos.stats.system.mem_free_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Free memory in bytes |"},{"line_number":1098,"context_line":"| mesos.stats.system.mem_total_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Total memory in bytes |"},{"line_number":1099,"context_line":"| mesos.registrar.queued_operations | mesos_pid, mesos_node\u003dmaster, cluster_name | Number of queued operations |"},{"line_number":1100,"context_line":"| mesos.registrar.registry_size_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Size of the registrar in bytes |"},{"line_number":1101,"context_line":"| mesos.registrar.state_fetch_ms | mesos_pid, mesos_node\u003dmaster, cluster_name | Registry read latency in ms |"},{"line_number":1102,"context_line":"| mesos.registrar.state_store_ms | mesos_pid, mesos_node\u003dmaster, cluster_name | Registry write latency in ms |"},{"line_number":1103,"context_line":"| mesos.registrar.state_store_ms.count | mesos_pid, mesos_node\u003dmaster, cluster_name | |"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"7a77a97e_ba3e62b6","line":1100,"range":{"start_line":1100,"start_character":98,"end_line":1100,"end_character":107},"updated":"2016-11-15 14:38:11.000000000","message":"typo?","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":1097,"context_line":"| mesos.stats.system.mem_free_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Free memory in bytes |"},{"line_number":1098,"context_line":"| mesos.stats.system.mem_total_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Total memory in bytes |"},{"line_number":1099,"context_line":"| mesos.registrar.queued_operations | mesos_pid, mesos_node\u003dmaster, cluster_name | Number of queued operations |"},{"line_number":1100,"context_line":"| mesos.registrar.registry_size_mbytes | mesos_pid, mesos_node\u003dmaster, cluster_name | Size of the registrar in bytes |"},{"line_number":1101,"context_line":"| mesos.registrar.state_fetch_ms | mesos_pid, mesos_node\u003dmaster, cluster_name | Registry read latency in ms |"},{"line_number":1102,"context_line":"| mesos.registrar.state_store_ms | mesos_pid, mesos_node\u003dmaster, cluster_name | Registry write latency in ms |"},{"line_number":1103,"context_line":"| mesos.registrar.state_store_ms.count | mesos_pid, mesos_node\u003dmaster, cluster_name | |"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"5a74a57a_cbd5eb1b","line":1100,"range":{"start_line":1100,"start_character":98,"end_line":1100,"end_character":107},"in_reply_to":"7a77a97e_ba3e62b6","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"9374c2324a00a4595a54069eff28f1780d9dd89e","unresolved":false,"context_lines":[{"line_number":1022,"context_line":"## Mesos"},{"line_number":1023,"context_line":"[Apache Mesos](http://mesos.apache.org/) is a cluster manager that abstracts hardware details of compute resources simplifying the creation of fault tolerant scalable systems. Monitoring is broken up by master and agent metrics."},{"line_number":1024,"context_line":"#### Mesos Master"},{"line_number":1025,"context_line":"The Mesos Master plugin monitors the master daemon, which is resopnsible for fine-grained sharing of resources across frameworks."},{"line_number":1026,"context_line":"Sample mesos_master.yaml config:"},{"line_number":1027,"context_line":"\u0027\u0027\u0027"},{"line_number":1028,"context_line":"init_config:"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"3a71b18c_f6a3cafd","line":1025,"range":{"start_line":1025,"start_character":61,"end_line":1025,"end_character":72},"updated":"2016-12-07 07:37:13.000000000","message":"typo","commit_id":"07ad0297b13fce9ea268a340061537a27863fb31"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cfa7c1a7bacaa5c00e314fcb179fadbe94fbd253","unresolved":false,"context_lines":[{"line_number":1022,"context_line":"## Mesos"},{"line_number":1023,"context_line":"[Apache Mesos](http://mesos.apache.org/) is a cluster manager that abstracts hardware details of compute resources simplifying the creation of fault tolerant scalable systems. Monitoring is broken up by master and agent metrics."},{"line_number":1024,"context_line":"#### Mesos Master"},{"line_number":1025,"context_line":"The Mesos Master plugin monitors the master daemon, which is resopnsible for fine-grained sharing of resources across frameworks."},{"line_number":1026,"context_line":"Sample mesos_master.yaml config:"},{"line_number":1027,"context_line":"\u0027\u0027\u0027"},{"line_number":1028,"context_line":"init_config:"}],"source_content_type":"text/x-markdown","patch_set":7,"id":"3a71b18c_3196d094","line":1025,"range":{"start_line":1025,"start_character":61,"end_line":1025,"end_character":72},"in_reply_to":"3a71b18c_f6a3cafd","updated":"2016-12-08 21:05:12.000000000","message":"Done","commit_id":"07ad0297b13fce9ea268a340061537a27863fb31"}],"monasca_agent/collector/checks_d/mesos_agent.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"854f040352fc821c16e558388ad82ffc8fbc44eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da6895a0_0378c8c3","updated":"2016-10-21 23:07:27.000000000","message":"Should this file be renamed to mesos_slave?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"72e4bccbb7a9fe4c6babbbfd63564516e72b2856","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da6895a0_d82cd64c","in_reply_to":"da6895a0_0378c8c3","updated":"2016-10-24 18:15:33.000000000","message":"We could, but the keyword \u0027slave\u0027 is deprecated in favor of ‘agent’, driver-based frameworks will still receive offers with slave ID, whereas frameworks using the v1 HTTP API receive offers with agent ID ( http://mesos.apache.org/documentation/latest/architecture/ )","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da6895a0_f8635a3f","in_reply_to":"da6895a0_d82cd64c","updated":"2016-10-24 19:01:47.000000000","message":"Little confusing the check and the file are names differently.","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da6895a0_9ba098a1","in_reply_to":"da6895a0_f8635a3f","updated":"2016-10-24 20:26:59.000000000","message":"Agree, I didn\u0027t see those left over ones and I\u0027ll change them to agent","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class MesosSlave(AgentCheck):"},{"line_number":21,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":22,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":23,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_slave.can_connect\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    TASK_METRICS \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_185bae88","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":19},"updated":"2016-10-24 19:01:47.000000000","message":"same as the gauge?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class MesosSlave(AgentCheck):"},{"line_number":21,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":22,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":23,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_slave.can_connect\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    TASK_METRICS \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_fb8b541c","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":19},"in_reply_to":"da6895a0_185bae88","updated":"2016-10-24 20:26:59.000000000","message":"Good point, Ill get rid of all of that pointless code","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class MesosSlave(AgentCheck):"},{"line_number":21,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":22,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":23,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_slave.can_connect\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    TASK_METRICS \u003d {"},{"line_number":26,"context_line":"        \u0027cpus\u0027: (\u0027mesos.state.task.cpu\u0027, GAUGE),"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_b84ac2aa","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":37},"updated":"2016-10-24 19:01:47.000000000","message":"mesos.connection_status","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class MesosSlave(AgentCheck):"},{"line_number":21,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":22,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":23,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_slave.can_connect\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    TASK_METRICS \u003d {"},{"line_number":26,"context_line":"        \u0027cpus\u0027: (\u0027mesos.state.task.cpu\u0027, GAUGE),"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_5b7d201b","line":23,"range":{"start_line":23,"start_character":26,"end_line":23,"end_character":37},"in_reply_to":"da6895a0_b84ac2aa","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def __init__(self, name, init_config, agent_config, instances\u003dNone):"},{"line_number":81,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":82,"context_line":"        self.cluster_name \u003d None"},{"line_number":83,"context_line":"        for instance in instances or []:"},{"line_number":84,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":85,"context_line":"            parsed_url \u003d urlparse(url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_585fe640","line":82,"range":{"start_line":82,"start_character":13,"end_line":82,"end_character":25},"updated":"2016-10-24 19:01:47.000000000","message":"what does this variable set get us here?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def __init__(self, name, init_config, agent_config, instances\u003dNone):"},{"line_number":81,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":82,"context_line":"        self.cluster_name \u003d None"},{"line_number":83,"context_line":"        for instance in instances or []:"},{"line_number":84,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":85,"context_line":"            parsed_url \u003d urlparse(url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_eed63026","line":82,"range":{"start_line":82,"start_character":13,"end_line":82,"end_character":25},"in_reply_to":"da6895a0_585fe640","updated":"2016-10-24 20:26:59.000000000","message":"The only point I see to setting this here is so that the method on line 118 only does most of it\u0027s work on the first run. I\u0027ll look into a better way to accomplish this.","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self.cluster_name \u003d None"},{"line_number":83,"context_line":"        for instance in instances or []:"},{"line_number":84,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":85,"context_line":"            parsed_url \u003d urlparse(url)"},{"line_number":86,"context_line":"            ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":87,"context_line":"            if not ssl_verify and parsed_url.scheme \u003d\u003d \u0027https\u0027:"},{"line_number":88,"context_line":"                log.warning(\u0027Skipping SSL cert validation for %s based on configuration.\u0027 % url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_b8e1e29c","line":85,"range":{"start_line":85,"start_character":34,"end_line":85,"end_character":37},"updated":"2016-10-24 19:01:47.000000000","message":"what happens if the url is empty? should we default to localhost? should we log any log messages?\n\nAlso do you use these variables again? looks like they fall out of scope after loop","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        self.cluster_name \u003d None"},{"line_number":83,"context_line":"        for instance in instances or []:"},{"line_number":84,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":85,"context_line":"            parsed_url \u003d urlparse(url)"},{"line_number":86,"context_line":"            ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":87,"context_line":"            if not ssl_verify and parsed_url.scheme \u003d\u003d \u0027https\u0027:"},{"line_number":88,"context_line":"                log.warning(\u0027Skipping SSL cert validation for %s based on configuration.\u0027 % url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ced32c37","line":85,"range":{"start_line":85,"start_character":34,"end_line":85,"end_character":37},"in_reply_to":"da6895a0_b8e1e29c","updated":"2016-10-24 20:26:59.000000000","message":"Good point. The only point I see for all 6 of these lines is the log a warning. Unless that warning is super important, I will just get rid of that whole section. Also defaulting to localhost is a good question. I\u0027ll look into the behavior of other plugins to see what the norm is. Right now the check just exits with an exception on line 140 if there is no url, but I want to make sure that I am doing things like all of the other checks do.","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            r \u003d requests.get(url, timeout\u003dtimeout, verify\u003dverify)"},{"line_number":93,"context_line":"            if r.status_code !\u003d 200:"},{"line_number":94,"context_line":"                log.debug(\"Got %s when hitting %s\" % (r.status_code, url))"},{"line_number":95,"context_line":"                raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":96,"context_line":"            else:"},{"line_number":97,"context_line":"                log.debug(\"Mesos master instance detected at %s \" % url)"},{"line_number":98,"context_line":"        except requests.exceptions.Timeout as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_d831360d","line":95,"range":{"start_line":95,"start_character":50,"end_line":95,"end_character":51},"updated":"2016-10-24 19:01:47.000000000","message":"might want to log more then just can not connect","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            r \u003d requests.get(url, timeout\u003dtimeout, verify\u003dverify)"},{"line_number":93,"context_line":"            if r.status_code !\u003d 200:"},{"line_number":94,"context_line":"                log.debug(\"Got %s when hitting %s\" % (r.status_code, url))"},{"line_number":95,"context_line":"                raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":96,"context_line":"            else:"},{"line_number":97,"context_line":"                log.debug(\"Mesos master instance detected at %s \" % url)"},{"line_number":98,"context_line":"        except requests.exceptions.Timeout as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_0ede043f","line":95,"range":{"start_line":95,"start_character":50,"end_line":95,"end_character":51},"in_reply_to":"da6895a0_d831360d","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":99,"context_line":"            # If there\u0027s a timeout"},{"line_number":100,"context_line":"            log.debug(\"%s seconds timeout when hitting %s\" % (timeout, url))"},{"line_number":101,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":102,"context_line":"        except Exception as e:"},{"line_number":103,"context_line":"            log.debug(str(e))"},{"line_number":104,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_f8343afc","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":43},"updated":"2016-10-24 19:01:47.000000000","message":"all these exceptions are the same to the user but have different causes","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":99,"context_line":"            # If there\u0027s a timeout"},{"line_number":100,"context_line":"            log.debug(\"%s seconds timeout when hitting %s\" % (timeout, url))"},{"line_number":101,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":102,"context_line":"        except Exception as e:"},{"line_number":103,"context_line":"            log.debug(str(e))"},{"line_number":104,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_2ee108ff","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":43},"in_reply_to":"da6895a0_f8343afc","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                    \u0027{0}://{1}:{2}\u0027.format(parsed_url.scheme,"},{"line_number":129,"context_line":"                                           state_metrics[\u0027master_hostname\u0027],"},{"line_number":130,"context_line":"                                           master_port),"},{"line_number":131,"context_line":"                    timeout,"},{"line_number":132,"context_line":"                    verify"},{"line_number":133,"context_line":"                )"},{"line_number":134,"context_line":"                if master_state is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_98597e5d","line":131,"range":{"start_line":131,"start_character":20,"end_line":131,"end_character":27},"updated":"2016-10-24 19:01:47.000000000","message":"formatting seems off","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                    \u0027{0}://{1}:{2}\u0027.format(parsed_url.scheme,"},{"line_number":129,"context_line":"                                           state_metrics[\u0027master_hostname\u0027],"},{"line_number":130,"context_line":"                                           master_port),"},{"line_number":131,"context_line":"                    timeout,"},{"line_number":132,"context_line":"                    verify"},{"line_number":133,"context_line":"                )"},{"line_number":134,"context_line":"                if master_state is not None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_2e0d8837","line":131,"range":{"start_line":131,"start_character":20,"end_line":131,"end_character":27},"in_reply_to":"da6895a0_98597e5d","updated":"2016-10-24 20:26:59.000000000","message":"I think this line is supposed to be formatted to line 128 instead of 130. Is there a better way to make that obvious?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":141,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":144,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":145,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":146,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_b8f8024b","line":143,"range":{"start_line":143,"start_character":14,"end_line":143,"end_character":22},"updated":"2016-10-24 19:01:47.000000000","message":"why do you get url here and in the init?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":141,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":144,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":145,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":146,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_6ee30006","line":143,"range":{"start_line":143,"start_character":14,"end_line":143,"end_character":22},"in_reply_to":"da6895a0_b8f8024b","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":145,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":146,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":147,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":148,"context_line":"        master_port \u003d instance.get(\"master_port\", DEFAULT_MASTER_PORT)"},{"line_number":149,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_58b1a68e","line":147,"range":{"start_line":147,"start_character":48,"end_line":147,"end_character":63},"updated":"2016-10-24 19:01:47.000000000","message":"should we make this a global constant like we have for port","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":145,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":146,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":147,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":148,"context_line":"        master_port \u003d instance.get(\"master_port\", DEFAULT_MASTER_PORT)"},{"line_number":149,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_8ef214d1","line":147,"range":{"start_line":147,"start_character":48,"end_line":147,"end_character":63},"in_reply_to":"da6895a0_58b1a68e","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        state_metrics \u003d self._get_constant_attributes(url, timeout, master_port, ssl_verify)"},{"line_number":152,"context_line":"        tags \u003d None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if state_metrics is None:"},{"line_number":155,"context_line":"            state_metrics \u003d self._get_state(url, timeout, ssl_verify)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_186e4e01","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":12},"updated":"2016-10-24 19:01:47.000000000","message":"dimensions?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        state_metrics \u003d self._get_constant_attributes(url, timeout, master_port, ssl_verify)"},{"line_number":152,"context_line":"        tags \u003d None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if state_metrics is None:"},{"line_number":155,"context_line":"            state_metrics \u003d self._get_state(url, timeout, ssl_verify)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ee2f103c","line":152,"range":{"start_line":152,"start_character":8,"end_line":152,"end_character":12},"in_reply_to":"da6895a0_186e4e01","updated":"2016-10-24 20:26:59.000000000","message":"Good point I\u0027ll change all tags to dimensions","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"            tags.update(instance_tags)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for task in tasks:"},{"line_number":169,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":170,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":171,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":172,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":173,"context_line":"                                task_tags \u003d [\u0027task_name:\u0027 + t[\u0027name\u0027]] + tags"},{"line_number":174,"context_line":"                                for key_name, (metric_name, metric_func) in self.TASK_METRICS.iteritems():"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_9b1ed861","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":51},"updated":"2016-10-24 19:01:47.000000000","message":"whats the performance of this running on a mesos environment?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"            tags.update(instance_tags)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"            for task in tasks:"},{"line_number":169,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":170,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":171,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":172,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":173,"context_line":"                                task_tags \u003d [\u0027task_name:\u0027 + t[\u0027name\u0027]] + tags"},{"line_number":174,"context_line":"                                for key_name, (metric_name, metric_func) in self.TASK_METRICS.iteritems():"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_8e04d4c0","line":171,"range":{"start_line":168,"start_character":0,"end_line":171,"end_character":51},"in_reply_to":"da6895a0_9b1ed861","updated":"2016-10-24 20:26:59.000000000","message":"This section checks for tasks that were specified in the yaml file. In my test environment, tasks is 0, but I suppose it could get really bad the more the user wants to monitor tasks. Should I make sure and add a little warning to the documentation?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":173,"context_line":"                                task_tags \u003d [\u0027task_name:\u0027 + t[\u0027name\u0027]] + tags"},{"line_number":174,"context_line":"                                for key_name, (metric_name, metric_func) in self.TASK_METRICS.iteritems():"},{"line_number":175,"context_line":"                                    metric_func(self, metric_name, t[\u0027resources\u0027][key_name], deminsions\u003dtask_tags)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":178,"context_line":"        if stats_metrics:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_db2690b9","line":175,"range":{"start_line":175,"start_character":93,"end_line":175,"end_character":103},"updated":"2016-10-24 19:01:47.000000000","message":"dimensions?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"c6c81923a5b5b2f8824b9516d51612c14c6960fd","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":173,"context_line":"                                task_tags \u003d [\u0027task_name:\u0027 + t[\u0027name\u0027]] + tags"},{"line_number":174,"context_line":"                                for key_name, (metric_name, metric_func) in self.TASK_METRICS.iteritems():"},{"line_number":175,"context_line":"                                    metric_func(self, metric_name, t[\u0027resources\u0027][key_name], deminsions\u003dtask_tags)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":178,"context_line":"        if stats_metrics:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_aeffd8a8","line":175,"range":{"start_line":175,"start_character":93,"end_line":175,"end_character":103},"in_reply_to":"da6895a0_db2690b9","updated":"2016-10-24 20:26:59.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            else:"},{"line_number":90,"context_line":"                log.debug(\"Mesos master instance detected at %s \" % url)"},{"line_number":91,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_9aa6f7bf","line":92,"range":{"start_line":92,"start_character":12,"end_line":92,"end_character":27},"updated":"2016-10-28 03:29:31.000000000","message":"I don\u0027t see anything catching this Exception in this plugin. Is it a good idea to just let it bubble up?","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            else:"},{"line_number":90,"context_line":"                log.debug(\"Mesos master instance detected at %s \" % url)"},{"line_number":91,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_364498b5","line":92,"range":{"start_line":92,"start_character":12,"end_line":92,"end_character":27},"in_reply_to":"ba5da102_9aa6f7bf","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_5ac61f68","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"updated":"2016-10-28 03:29:31.000000000","message":"Should use log.exception() here","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_5158ab32","line":95,"range":{"start_line":95,"start_character":16,"end_line":95,"end_character":29},"in_reply_to":"ba5da102_5ac61f68","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"},{"line_number":99,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_baabbb88","line":96,"range":{"start_line":96,"start_character":12,"end_line":96,"end_character":27},"updated":"2016-10-28 03:29:31.000000000","message":"See above","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"},{"line_number":99,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_56158c99","line":96,"range":{"start_line":96,"start_character":12,"end_line":96,"end_character":27},"in_reply_to":"ba5da102_baabbb88","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"},{"line_number":99,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_fa953340","line":97,"range":{"start_line":97,"start_character":28,"end_line":97,"end_character":59},"updated":"2016-10-28 03:29:31.000000000","message":"It could just be down and then this message doesn\u0027t make sense","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.debug(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s, \\"},{"line_number":97,"context_line":"                            please check your configuration.\" % url)"},{"line_number":98,"context_line":"        if r.encoding is None:"},{"line_number":99,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_3151770f","line":97,"range":{"start_line":97,"start_character":28,"end_line":97,"end_character":59},"in_reply_to":"ba5da102_fa953340","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            instance[\u0027url\u0027] \u003d \u0027https://127.0.0.1:5051\u0027"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":138,"context_line":"        dimensions \u003d instance.get(\u0027dimensions\u0027, {})"},{"line_number":139,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":140,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, DEFAULT_TIMEOUT)"},{"line_number":141,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_5a745f34","line":138,"range":{"start_line":138,"start_character":21,"end_line":138,"end_character":51},"updated":"2016-10-28 03:29:31.000000000","message":"You need to use:\n\nself._set_dimensions({}, instance)\n\nEither here or somewhere below after you have gathered up dimensions. Otherwise, you don\u0027t pull in the agent default dimensions","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            instance[\u0027url\u0027] \u003d \u0027https://127.0.0.1:5051\u0027"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":138,"context_line":"        dimensions \u003d instance.get(\u0027dimensions\u0027, {})"},{"line_number":139,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":140,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, DEFAULT_TIMEOUT)"},{"line_number":141,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_f147ff48","line":138,"range":{"start_line":138,"start_character":21,"end_line":138,"end_character":51},"in_reply_to":"ba5da102_5a745f34","updated":"2016-11-02 20:20:38.000000000","message":"Done","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":162,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":163,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":164,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":165,"context_line":"                               and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":166,"context_line":"                                task_dimensions \u003d dimensions.copy()"},{"line_number":167,"context_line":"                                task_dimensions[\u0027task_name:\u0027] \u003d t[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_3aaecb85","line":164,"range":{"start_line":164,"start_character":44,"end_line":164,"end_character":46},"updated":"2016-10-28 03:29:31.000000000","message":"Should this be in or \u003d\u003d?","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":161,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":162,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":163,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":164,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":165,"context_line":"                               and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":166,"context_line":"                                task_dimensions \u003d dimensions.copy()"},{"line_number":167,"context_line":"                                task_dimensions[\u0027task_name:\u0027] \u003d t[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_57d87f1d","line":164,"range":{"start_line":164,"start_character":44,"end_line":164,"end_character":46},"in_reply_to":"ba5da102_3aaecb85","updated":"2016-11-02 20:20:38.000000000","message":"I am pretty sure that it is checking for a substring. I still need to get a framework up and going with Mesos in order to test this bit of code though.","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"cb6421f62f09f3e04b64d8c92b0627c6789b0983","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                                                      master_port,"},{"line_number":148,"context_line":"                                                      ssl_verify)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        if state_metrics is None:"},{"line_number":151,"context_line":"            state_metrics \u003d self._get_state(url, timeout, ssl_verify)"},{"line_number":152,"context_line":"        if state_metrics:"},{"line_number":153,"context_line":"            # Need to strip characters the aggragator won\u0027t accept"},{"line_number":154,"context_line":"            mesos_pid \u003d state_metrics[\u0027pid\u0027].replace(\u0027(\u0027, \u0027\u0027).replace(\u0027)@\u0027, \u0027_\u0027)"},{"line_number":155,"context_line":"            dimensions[\u0027mesos_pid\u0027] \u003d mesos_pid"},{"line_number":156,"context_line":"            dimensions[\u0027mesos_node\u0027] \u003d \u0027agent\u0027"},{"line_number":157,"context_line":"            if self.cluster_name:"},{"line_number":158,"context_line":"                dimensions[\u0027mesos_cluster\u0027] \u003d self.cluster_name"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for task in tasks:"},{"line_number":161,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":162,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":163,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":164,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":165,"context_line":"                               and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":166,"context_line":"                                task_dimensions \u003d dimensions.copy()"},{"line_number":167,"context_line":"                                task_dimensions[\u0027task_name:\u0027] \u003d t[\u0027name\u0027]"},{"line_number":168,"context_line":"                                for key_name, metric_name in self.TASK_METRICS.iteritems():"},{"line_number":169,"context_line":"                                    AgentCheck.gauge(self,"},{"line_number":170,"context_line":"                                                     metric_name,"},{"line_number":171,"context_line":"                                                     t[\u0027resources\u0027][key_name],"},{"line_number":172,"context_line":"                                                     dimensions\u003dtask_dimensions)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":175,"context_line":"        if stats_metrics:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_faa3739c","line":172,"range":{"start_line":150,"start_character":0,"end_line":172,"end_character":80},"updated":"2016-10-28 03:29:31.000000000","message":"If tasks is an empty list, this is all a waste of time","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"12db7d015fed87b2e581bbd893ff64419a83937f","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                                                      master_port,"},{"line_number":148,"context_line":"                                                      ssl_verify)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        if state_metrics is None:"},{"line_number":151,"context_line":"            state_metrics \u003d self._get_state(url, timeout, ssl_verify)"},{"line_number":152,"context_line":"        if state_metrics:"},{"line_number":153,"context_line":"            # Need to strip characters the aggragator won\u0027t accept"},{"line_number":154,"context_line":"            mesos_pid \u003d state_metrics[\u0027pid\u0027].replace(\u0027(\u0027, \u0027\u0027).replace(\u0027)@\u0027, \u0027_\u0027)"},{"line_number":155,"context_line":"            dimensions[\u0027mesos_pid\u0027] \u003d mesos_pid"},{"line_number":156,"context_line":"            dimensions[\u0027mesos_node\u0027] \u003d \u0027agent\u0027"},{"line_number":157,"context_line":"            if self.cluster_name:"},{"line_number":158,"context_line":"                dimensions[\u0027mesos_cluster\u0027] \u003d self.cluster_name"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for task in tasks:"},{"line_number":161,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":162,"context_line":"                    for executor in framework[\u0027executors\u0027]:"},{"line_number":163,"context_line":"                        for t in executor[\u0027tasks\u0027]:"},{"line_number":164,"context_line":"                            if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":165,"context_line":"                               and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":166,"context_line":"                                task_dimensions \u003d dimensions.copy()"},{"line_number":167,"context_line":"                                task_dimensions[\u0027task_name:\u0027] \u003d t[\u0027name\u0027]"},{"line_number":168,"context_line":"                                for key_name, metric_name in self.TASK_METRICS.iteritems():"},{"line_number":169,"context_line":"                                    AgentCheck.gauge(self,"},{"line_number":170,"context_line":"                                                     metric_name,"},{"line_number":171,"context_line":"                                                     t[\u0027resources\u0027][key_name],"},{"line_number":172,"context_line":"                                                     dimensions\u003dtask_dimensions)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":175,"context_line":"        if stats_metrics:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_e2a7c1ba","line":172,"range":{"start_line":150,"start_character":0,"end_line":172,"end_character":80},"in_reply_to":"ba5da102_faa3739c","updated":"2016-11-02 20:20:38.000000000","message":"Agree, I will make it more readable by breaking this up into functions","commit_id":"8f23af77a4425d00cf04eac47ae84d4290310396"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"bebd49523cf558f4a4c353150e14383ed7463534","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def check(self, instance):"},{"line_number":149,"context_line":"        if \u0027url\u0027 not in instance or not instance[\u0027url\u0027]:"},{"line_number":150,"context_line":"            log.debug(\"No url found in configuration. Defaulting to localhost\")"},{"line_number":151,"context_line":"            instance[\u0027url\u0027] \u003d \u0027https://127.0.0.1:5051\u0027"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        url \u003d instance[\u0027url\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5da102_e1dfb137","line":150,"updated":"2016-11-03 04:29:37.000000000","message":"Maybe this should be a warning instead of a debug log statement","commit_id":"fe16ba9c4f7b0c6e95318c4f34de696938d89616"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"from monasca_agent.collector.checks import AgentCheck"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"log \u003d logging.getLogger(__name__)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DEFAULT_MASTER_PORT \u003d 5050"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_2ec43a3e","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":3},"updated":"2016-11-11 00:26:06.000000000","message":"You should use the logger inherited from AgentCheck, i.e. self.log","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"from monasca_agent.collector.checks import AgentCheck"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"log \u003d logging.getLogger(__name__)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"DEFAULT_MASTER_PORT \u003d 5050"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_037acd87","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":3},"in_reply_to":"9a629dbe_2ec43a3e","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":81,"context_line":"        self.cluster_name \u003d None"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _get_json(self, url, timeout, verify):"},{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            r \u003d requests.get(url, timeout\u003dtimeout, verify\u003dverify)"},{"line_number":86,"context_line":"            if r.status_code !\u003d 200:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_4e1b2eca","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":44},"updated":"2016-11-11 00:26:06.000000000","message":"timeout and verify don\u0027t vary across within an instance, good place to use instance variables to simplify methods","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":81,"context_line":"        self.cluster_name \u003d None"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _get_json(self, url, timeout, verify):"},{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            r \u003d requests.get(url, timeout\u003dtimeout, verify\u003dverify)"},{"line_number":86,"context_line":"            if r.status_code !\u003d 200:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_d5558fc6","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":44},"in_reply_to":"9a629dbe_4e1b2eca","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.exception(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s.\" % url)"},{"line_number":97,"context_line":"        if r.encoding is None:"},{"line_number":98,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_8e0aa688","line":95,"range":{"start_line":95,"start_character":26,"end_line":95,"end_character":32},"updated":"2016-11-11 00:26:06.000000000","message":"log.exception will already use the str(e), instead you should give some type of message to give context to the exception","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":93,"context_line":"                            % (timeout, url))"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            log.exception(str(e))"},{"line_number":96,"context_line":"            raise Exception(\"Cannot connect to mesos at %s.\" % url)"},{"line_number":97,"context_line":"        if r.encoding is None:"},{"line_number":98,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_d5fcaf40","line":95,"range":{"start_line":95,"start_character":26,"end_line":95,"end_character":32},"in_reply_to":"9a629dbe_8e0aa688","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"04cf7242d003ebff675834e245a57f56961e75fe","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def _report_task_stats(self, executor_task, dimensions):"},{"line_number":132,"context_line":"        dimensions[\u0027task_name:\u0027] \u003d executor_task[\u0027name\u0027]"},{"line_number":133,"context_line":"        for key_name, metric_name in self.TASK_METRICS.iteritems():"},{"line_number":134,"context_line":"            AgentCheck.gauge(self,"},{"line_number":135,"context_line":"                             metric_name,"},{"line_number":136,"context_line":"                             executor_task[\u0027resources\u0027][key_name],"},{"line_number":137,"context_line":"                             dimensions\u003ddimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_19407a06","line":134,"range":{"start_line":134,"start_character":12,"end_line":134,"end_character":22},"updated":"2016-11-11 20:30:30.000000000","message":"This should be self.gauge","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def _report_task_stats(self, executor_task, dimensions):"},{"line_number":132,"context_line":"        dimensions[\u0027task_name:\u0027] \u003d executor_task[\u0027name\u0027]"},{"line_number":133,"context_line":"        for key_name, metric_name in self.TASK_METRICS.iteritems():"},{"line_number":134,"context_line":"            AgentCheck.gauge(self,"},{"line_number":135,"context_line":"                             metric_name,"},{"line_number":136,"context_line":"                             executor_task[\u0027resources\u0027][key_name],"},{"line_number":137,"context_line":"                             dimensions\u003ddimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_b9fdceb2","line":134,"range":{"start_line":134,"start_character":12,"end_line":134,"end_character":22},"in_reply_to":"9a629dbe_19407a06","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":142,"context_line":"                for executor in framework[\u0027executors\u0027]:"},{"line_number":143,"context_line":"                    for t in executor[\u0027tasks\u0027]:"},{"line_number":144,"context_line":"                        if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":145,"context_line":"                           and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":146,"context_line":"                            self._report_task_stats(task, dimensions.copy())"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def check(self, instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_0e8856c4","line":145,"range":{"start_line":144,"start_character":24,"end_line":145,"end_character":68},"updated":"2016-11-11 00:26:06.000000000","message":"This if would be simpler if you iterated through tasks in the innermost loop because you could already exclude t[\u0027slave_id\u0027] !\u003d state_metrics[\u0027id\u0027]","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":141,"context_line":"            for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":142,"context_line":"                for executor in framework[\u0027executors\u0027]:"},{"line_number":143,"context_line":"                    for t in executor[\u0027tasks\u0027]:"},{"line_number":144,"context_line":"                        if task.lower() in t[\u0027name\u0027].lower() \\"},{"line_number":145,"context_line":"                           and t[\u0027slave_id\u0027] \u003d\u003d state_metrics[\u0027id\u0027]:"},{"line_number":146,"context_line":"                            self._report_task_stats(task, dimensions.copy())"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def check(self, instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_63754962","line":145,"range":{"start_line":144,"start_character":24,"end_line":145,"end_character":68},"in_reply_to":"9a629dbe_0e8856c4","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":154,"context_line":"        dimensions \u003d self._set_dimensions({}, instance)"},{"line_number":155,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":156,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, DEFAULT_TIMEOUT)"},{"line_number":157,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":158,"context_line":"        master_port \u003d instance.get(\"master_port\", DEFAULT_MASTER_PORT)"},{"line_number":159,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_ee70820d","line":156,"range":{"start_line":156,"start_character":8,"end_line":156,"end_character":23},"updated":"2016-11-11 00:26:06.000000000","message":"Could be set in __init__","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":154,"context_line":"        dimensions \u003d self._set_dimensions({}, instance)"},{"line_number":155,"context_line":"        tasks \u003d instance.get(\u0027tasks\u0027, [])"},{"line_number":156,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, DEFAULT_TIMEOUT)"},{"line_number":157,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":158,"context_line":"        master_port \u003d instance.get(\"master_port\", DEFAULT_MASTER_PORT)"},{"line_number":159,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_030badd6","line":156,"range":{"start_line":156,"start_character":8,"end_line":156,"end_character":23},"in_reply_to":"9a629dbe_ee70820d","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            dimensions[\u0027mesos_pid\u0027] \u003d mesos_pid"},{"line_number":172,"context_line":"            dimensions[\u0027mesos_node\u0027] \u003d \u0027agent\u0027"},{"line_number":173,"context_line":"            if self.cluster_name:"},{"line_number":174,"context_line":"                dimensions[\u0027mesos_cluster\u0027] \u003d self.cluster_name"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"            if tasks:"},{"line_number":177,"context_line":"                self._get_all_task_stats(tasks, state_metrics, dimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_ceeade73","line":174,"range":{"start_line":174,"start_character":16,"end_line":174,"end_character":43},"updated":"2016-11-11 00:26:06.000000000","message":"Does this dimension make sense for stats_metrics? It seems weird that it might only be set sometimes","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            dimensions[\u0027mesos_pid\u0027] \u003d mesos_pid"},{"line_number":172,"context_line":"            dimensions[\u0027mesos_node\u0027] \u003d \u0027agent\u0027"},{"line_number":173,"context_line":"            if self.cluster_name:"},{"line_number":174,"context_line":"                dimensions[\u0027mesos_cluster\u0027] \u003d self.cluster_name"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"            if tasks:"},{"line_number":177,"context_line":"                self._get_all_task_stats(tasks, state_metrics, dimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_1eb5c07c","line":174,"range":{"start_line":174,"start_character":16,"end_line":174,"end_character":43},"in_reply_to":"9a629dbe_ceeade73","updated":"2016-12-01 18:17:14.000000000","message":"self.cluster_name only gets set if it can connect to the master endpoint and get state metrics. I think it would make the most sense to log if it cannot connect to the designated mater node\u0027s state endpoint because it could indicate a problem.","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"83ef73956d0e06d78d96b2fe4f6b257918e2b83d","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if stats_metrics:"},{"line_number":182,"context_line":"            metrics \u003d [self.AGENT_TASKS_METRICS,"},{"line_number":183,"context_line":"                       self.SYSTEM_METRICS,"},{"line_number":184,"context_line":"                       self.AGENT_RESOURCE_METRICS,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_aed04aca","line":181,"range":{"start_line":181,"start_character":8,"end_line":181,"end_character":24},"updated":"2016-11-11 00:26:06.000000000","message":"Do we need to log if there are no stats_metrics?","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stats_metrics \u003d self._get_stats(url, timeout, ssl_verify)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if stats_metrics:"},{"line_number":182,"context_line":"            metrics \u003d [self.AGENT_TASKS_METRICS,"},{"line_number":183,"context_line":"                       self.SYSTEM_METRICS,"},{"line_number":184,"context_line":"                       self.AGENT_RESOURCE_METRICS,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_9e2e30a3","line":181,"range":{"start_line":181,"start_character":8,"end_line":181,"end_character":24},"in_reply_to":"9a629dbe_aed04aca","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"04cf7242d003ebff675834e245a57f56961e75fe","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                       self.STATS_METRICS]"},{"line_number":187,"context_line":"            for m in metrics:"},{"line_number":188,"context_line":"                for key_name, metric_name in m.iteritems():"},{"line_number":189,"context_line":"                    AgentCheck.gauge(self,"},{"line_number":190,"context_line":"                                     metric_name,"},{"line_number":191,"context_line":"                                     stats_metrics[key_name],"},{"line_number":192,"context_line":"                                     dimensions\u003ddimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_594e723b","line":189,"range":{"start_line":189,"start_character":20,"end_line":189,"end_character":30},"updated":"2016-11-11 20:30:30.000000000","message":"This should be self.gauge","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                       self.STATS_METRICS]"},{"line_number":187,"context_line":"            for m in metrics:"},{"line_number":188,"context_line":"                for key_name, metric_name in m.iteritems():"},{"line_number":189,"context_line":"                    AgentCheck.gauge(self,"},{"line_number":190,"context_line":"                                     metric_name,"},{"line_number":191,"context_line":"                                     stats_metrics[key_name],"},{"line_number":192,"context_line":"                                     dimensions\u003ddimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_d92e0242","line":189,"range":{"start_line":189,"start_character":20,"end_line":189,"end_character":30},"in_reply_to":"9a629dbe_594e723b","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"b42fcdde6141f6397e65ddaec4cacadf335834ef","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            dimensions[\u0027mesos_pid\u0027] \u003d mesos_pid"},{"line_number":166,"context_line":"            dimensions[\u0027mesos_node\u0027] \u003d \u0027agent\u0027"},{"line_number":167,"context_line":"            if self.cluster_name:"},{"line_number":168,"context_line":"                dimensions[\u0027mesos_cluster\u0027] \u003d self.cluster_name"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"            if tasks:"},{"line_number":171,"context_line":"                self._get_all_task_stats(tasks, state_metrics, dimensions)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a71b18c_9209902f","line":168,"range":{"start_line":168,"start_character":28,"end_line":168,"end_character":41},"updated":"2016-12-01 21:02:58.000000000","message":"Do we need a default cluster name in dimensions when self.cluster_name doesnt exist?","commit_id":"070aef6be6653e507c2aa9698a29b22bcca3d186"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fed6b1cec48c9c732f713e2688faa9567964ce0a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            raise Exception(\"Cannot connect to mesos. %s seconds timeout when hitting %s\""},{"line_number":89,"context_line":"                            % (self.timeout, url))"},{"line_number":90,"context_line":"        except Exception:"},{"line_number":91,"context_line":"            raise Exception(\"Cannot connect to mesos at %s.\" % url)"},{"line_number":92,"context_line":"        if r.encoding is None:"},{"line_number":93,"context_line":"            r.encoding \u003d \u0027UTF8\u0027"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_f0081994","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":67},"updated":"2016-12-12 21:27:27.000000000","message":"You lose all information from the Exception that caused this raise","commit_id":"46dc9a09b12ffc539a3ee2d5d47fbdbc184e4b72"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fed6b1cec48c9c732f713e2688faa9567964ce0a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        return self._get_json(url + \u0027/state.json\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _get_stats(self, url):"},{"line_number":101,"context_line":"        if self.version \u003e\u003d [0, 22, 0]:"},{"line_number":102,"context_line":"            endpoint \u003d \u0027/metrics/snapshot\u0027"},{"line_number":103,"context_line":"        else:"},{"line_number":104,"context_line":"            endpoint \u003d \u0027/stats.json\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6eadb0_d0eddd8f","line":101,"range":{"start_line":101,"start_character":11,"end_line":101,"end_character":23},"updated":"2016-12-12 21:27:27.000000000","message":"Not guaranteed to exist","commit_id":"46dc9a09b12ffc539a3ee2d5d47fbdbc184e4b72"}],"monasca_agent/collector/checks_d/mesos_master.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class MesosMaster(AgentCheck):"},{"line_number":18,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":19,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":20,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_master.can_connect\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    FRAMEWORK_METRICS \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_bb30fce9","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":19},"updated":"2016-10-24 19:01:47.000000000","message":"mapping to the same method still","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class MesosMaster(AgentCheck):"},{"line_number":18,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":19,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":20,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_master.can_connect\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    FRAMEWORK_METRICS \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ce888c25","line":19,"range":{"start_line":19,"start_character":4,"end_line":19,"end_character":19},"in_reply_to":"da6895a0_bb30fce9","updated":"2016-10-24 20:32:16.000000000","message":"Agree. Ill get rid of all of that useless code","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"class MesosMaster(AgentCheck):"},{"line_number":18,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":19,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":20,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_master.can_connect\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    FRAMEWORK_METRICS \u003d {"},{"line_number":23,"context_line":"        \u0027cpus\u0027: (\u0027mesos.framework.cpu\u0027, GAUGE),"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_1b580832","line":20,"range":{"start_line":20,"start_character":26,"end_line":20,"end_character":38},"updated":"2016-10-24 19:01:47.000000000","message":"mesos.master.connection_status","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":17,"context_line":"class MesosMaster(AgentCheck):"},{"line_number":18,"context_line":"    GAUGE \u003d AgentCheck.gauge"},{"line_number":19,"context_line":"    MONOTONIC_COUNT \u003d AgentCheck.gauge"},{"line_number":20,"context_line":"    SERVICE_CHECK_NAME \u003d \"mesos_master.can_connect\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    FRAMEWORK_METRICS \u003d {"},{"line_number":23,"context_line":"        \u0027cpus\u0027: (\u0027mesos.framework.cpu\u0027, GAUGE),"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ee8b901c","line":20,"range":{"start_line":20,"start_character":26,"end_line":20,"end_character":38},"in_reply_to":"da6895a0_1b580832","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def __init__(self, name, init_config, agent_config, instances\u003dNone):"},{"line_number":126,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":127,"context_line":"        for instance in instances or []:"},{"line_number":128,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":129,"context_line":"            parsed_url \u003d urlparse(url)"},{"line_number":130,"context_line":"            ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":131,"context_line":"            if not ssl_verify and parsed_url.scheme \u003d\u003d \u0027https\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_7b3d84ba","line":128,"range":{"start_line":128,"start_character":18,"end_line":128,"end_character":26},"updated":"2016-10-24 19:01:47.000000000","message":"again not much from the variables being set here","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def __init__(self, name, init_config, agent_config, instances\u003dNone):"},{"line_number":126,"context_line":"        AgentCheck.__init__(self, name, init_config, agent_config, instances)"},{"line_number":127,"context_line":"        for instance in instances or []:"},{"line_number":128,"context_line":"            url \u003d instance.get(\u0027url\u0027, \u0027\u0027)"},{"line_number":129,"context_line":"            parsed_url \u003d urlparse(url)"},{"line_number":130,"context_line":"            ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"},{"line_number":131,"context_line":"            if not ssl_verify and parsed_url.scheme \u003d\u003d \u0027https\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_2e866813","line":128,"range":{"start_line":128,"start_character":18,"end_line":128,"end_character":26},"in_reply_to":"da6895a0_7b3d84ba","updated":"2016-10-24 20:32:16.000000000","message":"Yeah, agree. Unless someone thinks that warning is super important I\u0027ll get rid of this stuff","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":143,"context_line":"            # If there\u0027s a timeout"},{"line_number":144,"context_line":"            log.debug(\"%s seconds timeout when hitting %s\" % (timeout, url))"},{"line_number":145,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":146,"context_line":"        except Exception as e:"},{"line_number":147,"context_line":"            log.debug(str(e))"},{"line_number":148,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_bb471c4a","line":145,"range":{"start_line":145,"start_character":36,"end_line":145,"end_character":43},"updated":"2016-10-24 19:01:47.000000000","message":"expections are the same","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        except requests.exceptions.Timeout as e:"},{"line_number":143,"context_line":"            # If there\u0027s a timeout"},{"line_number":144,"context_line":"            log.debug(\"%s seconds timeout when hitting %s\" % (timeout, url))"},{"line_number":145,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"},{"line_number":146,"context_line":"        except Exception as e:"},{"line_number":147,"context_line":"            log.debug(str(e))"},{"line_number":148,"context_line":"            raise Exception(\"Cannot connect to mesos, please check your configuration.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_4e7d5c1b","line":145,"range":{"start_line":145,"start_character":36,"end_line":145,"end_character":43},"in_reply_to":"da6895a0_bb471c4a","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def check(self, instance):"},{"line_number":179,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_5b69a0bd","line":180,"range":{"start_line":180,"start_character":29,"end_line":180,"end_character":34},"updated":"2016-10-24 19:01:47.000000000","message":"mesos master?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def check(self, instance):"},{"line_number":179,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_6e78602c","line":180,"range":{"start_line":180,"start_character":29,"end_line":180,"end_character":34},"in_reply_to":"da6895a0_5b69a0bd","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":184,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":185,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_fb9ef4b6","line":182,"range":{"start_line":182,"start_character":24,"end_line":182,"end_character":27},"updated":"2016-10-24 19:01:47.000000000","message":"what happens the url is set to empty?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        if \u0027url\u0027 not in instance:"},{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":184,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":185,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_8e777439","line":182,"range":{"start_line":182,"start_character":24,"end_line":182,"end_character":27},"in_reply_to":"da6895a0_fb9ef4b6","updated":"2016-10-24 20:32:16.000000000","message":"I\u0027ll add something to make sure it acts as expected","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":184,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":185,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":186,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_1ba64810","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":21},"updated":"2016-10-24 19:01:47.000000000","message":"is this instance dimensions?","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            raise Exception(\u0027Mesos instance missing \"url\" value.\u0027)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        url \u003d instance[\u0027url\u0027]"},{"line_number":183,"context_line":"        instance_tags \u003d instance.get(\u0027tags\u0027, {})"},{"line_number":184,"context_line":"        default_timeout \u003d self.init_config.get(\u0027default_timeout\u0027, 5)"},{"line_number":185,"context_line":"        timeout \u003d float(instance.get(\u0027timeout\u0027, default_timeout))"},{"line_number":186,"context_line":"        ssl_verify \u003d instance.get(\u0027disable_ssl_validation\u0027, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_0e9a8463","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":21},"in_reply_to":"da6895a0_1ba64810","updated":"2016-10-24 20:32:16.000000000","message":"I\u0027ll change all tags to dimensions","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        state_metrics \u003d self._check_leadership(url, timeout, ssl_verify)"},{"line_number":189,"context_line":"        if state_metrics:"},{"line_number":190,"context_line":"            tags \u003d {"},{"line_number":191,"context_line":"                \u0027mesos_pid\u0027: state_metrics[\u0027pid\u0027],"},{"line_number":192,"context_line":"                \u0027mesos_node\u0027: \u0027master\u0027"},{"line_number":193,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_7babc4d6","line":190,"range":{"start_line":190,"start_character":12,"end_line":190,"end_character":16},"updated":"2016-10-24 19:01:47.000000000","message":"dimensions","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        state_metrics \u003d self._check_leadership(url, timeout, ssl_verify)"},{"line_number":189,"context_line":"        if state_metrics:"},{"line_number":190,"context_line":"            tags \u003d {"},{"line_number":191,"context_line":"                \u0027mesos_pid\u0027: state_metrics[\u0027pid\u0027],"},{"line_number":192,"context_line":"                \u0027mesos_node\u0027: \u0027master\u0027"},{"line_number":193,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_4ea47ca5","line":190,"range":{"start_line":190,"start_character":12,"end_line":190,"end_character":16},"in_reply_to":"da6895a0_7babc4d6","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                self.GAUGE(\u0027mesos.cluster.total_frameworks\u0027, len(state_metrics[\u0027frameworks\u0027]), dimensions\u003dtags)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":203,"context_line":"                    framework_tags \u003d tags"},{"line_number":204,"context_line":"                    framework_tags[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":205,"context_line":"                    self.GAUGE(\u0027mesos.framework.total_tasks\u0027, len(framework[\u0027tasks\u0027]), dimensions\u003dframework_tags)"},{"line_number":206,"context_line":"                    resources \u003d framework[\u0027used_resources\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_7b92e4a0","line":203,"range":{"start_line":203,"start_character":37,"end_line":203,"end_character":41},"updated":"2016-10-24 19:01:47.000000000","message":"do you need to do a copy here on the dictionary so the framework does not get carried through","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                self.GAUGE(\u0027mesos.cluster.total_frameworks\u0027, len(state_metrics[\u0027frameworks\u0027]), dimensions\u003dtags)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":203,"context_line":"                    framework_tags \u003d tags"},{"line_number":204,"context_line":"                    framework_tags[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":205,"context_line":"                    self.GAUGE(\u0027mesos.framework.total_tasks\u0027, len(framework[\u0027tasks\u0027]), dimensions\u003dframework_tags)"},{"line_number":206,"context_line":"                    resources \u003d framework[\u0027used_resources\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_fb851459","line":203,"range":{"start_line":203,"start_character":20,"end_line":203,"end_character":34},"updated":"2016-10-24 19:01:47.000000000","message":"just to carry dimensions throughout the plugins instead of tags","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                self.GAUGE(\u0027mesos.cluster.total_frameworks\u0027, len(state_metrics[\u0027frameworks\u0027]), dimensions\u003dtags)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":203,"context_line":"                    framework_tags \u003d tags"},{"line_number":204,"context_line":"                    framework_tags[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":205,"context_line":"                    self.GAUGE(\u0027mesos.framework.total_tasks\u0027, len(framework[\u0027tasks\u0027]), dimensions\u003dframework_tags)"},{"line_number":206,"context_line":"                    resources \u003d framework[\u0027used_resources\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_6e9f8050","line":203,"range":{"start_line":203,"start_character":37,"end_line":203,"end_character":41},"in_reply_to":"da6895a0_7b92e4a0","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                self.GAUGE(\u0027mesos.cluster.total_frameworks\u0027, len(state_metrics[\u0027frameworks\u0027]), dimensions\u003dtags)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":203,"context_line":"                    framework_tags \u003d tags"},{"line_number":204,"context_line":"                    framework_tags[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":205,"context_line":"                    self.GAUGE(\u0027mesos.framework.total_tasks\u0027, len(framework[\u0027tasks\u0027]), dimensions\u003dframework_tags)"},{"line_number":206,"context_line":"                    resources \u003d framework[\u0027used_resources\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_aea9987d","line":203,"range":{"start_line":203,"start_character":20,"end_line":203,"end_character":34},"in_reply_to":"da6895a0_fb851459","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                role_metrics \u003d self._get_master_roles(url, timeout, ssl_verify)"},{"line_number":211,"context_line":"                if role_metrics is not None:"},{"line_number":212,"context_line":"                    for role in role_metrics[\u0027roles\u0027]:"},{"line_number":213,"context_line":"                        role_tags \u003d tags"},{"line_number":214,"context_line":"                        tags[\u0027mesos_role\u0027] \u003d role[\u0027name\u0027]"},{"line_number":215,"context_line":"                        self.GAUGE(\u0027mesos.role.frameworks.count\u0027, len(role[\u0027frameworks\u0027]), dimensions\u003drole_tags)"},{"line_number":216,"context_line":"                        self.GAUGE(\u0027mesos.role.weight\u0027, role[\u0027weight\u0027], dimensions\u003drole_tags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_dbe9301c","line":213,"range":{"start_line":213,"start_character":36,"end_line":213,"end_character":40},"updated":"2016-10-24 19:01:47.000000000","message":"same here","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":210,"context_line":"                role_metrics \u003d self._get_master_roles(url, timeout, ssl_verify)"},{"line_number":211,"context_line":"                if role_metrics is not None:"},{"line_number":212,"context_line":"                    for role in role_metrics[\u0027roles\u0027]:"},{"line_number":213,"context_line":"                        role_tags \u003d tags"},{"line_number":214,"context_line":"                        tags[\u0027mesos_role\u0027] \u003d role[\u0027name\u0027]"},{"line_number":215,"context_line":"                        self.GAUGE(\u0027mesos.role.frameworks.count\u0027, len(role[\u0027frameworks\u0027]), dimensions\u003drole_tags)"},{"line_number":216,"context_line":"                        self.GAUGE(\u0027mesos.role.weight\u0027, role[\u0027weight\u0027], dimensions\u003drole_tags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_ceb6ccdb","line":213,"range":{"start_line":213,"start_character":36,"end_line":213,"end_character":40},"in_reply_to":"da6895a0_dbe9301c","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"f59d74397f84a3f8757cd1144c3ce9fd841e47c5","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                    for role in role_metrics[\u0027roles\u0027]:"},{"line_number":213,"context_line":"                        role_tags \u003d tags"},{"line_number":214,"context_line":"                        tags[\u0027mesos_role\u0027] \u003d role[\u0027name\u0027]"},{"line_number":215,"context_line":"                        self.GAUGE(\u0027mesos.role.frameworks.count\u0027, len(role[\u0027frameworks\u0027]), dimensions\u003drole_tags)"},{"line_number":216,"context_line":"                        self.GAUGE(\u0027mesos.role.weight\u0027, role[\u0027weight\u0027], dimensions\u003drole_tags)"},{"line_number":217,"context_line":"                        for key_name, (metric_name, metric_func) in self.ROLE_RESOURCES_METRICS.iteritems():"},{"line_number":218,"context_line":"                            metric_func(self, metric_name, role[\u0027resources\u0027][key_name], dimensions\u003drole_tags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_fbec342b","line":215,"range":{"start_line":215,"start_character":57,"end_line":215,"end_character":58},"updated":"2016-10-24 19:01:47.000000000","message":"_","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"decc1b61c0698d082037897bcade6e52cfae8bad","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                    for role in role_metrics[\u0027roles\u0027]:"},{"line_number":213,"context_line":"                        role_tags \u003d tags"},{"line_number":214,"context_line":"                        tags[\u0027mesos_role\u0027] \u003d role[\u0027name\u0027]"},{"line_number":215,"context_line":"                        self.GAUGE(\u0027mesos.role.frameworks.count\u0027, len(role[\u0027frameworks\u0027]), dimensions\u003drole_tags)"},{"line_number":216,"context_line":"                        self.GAUGE(\u0027mesos.role.weight\u0027, role[\u0027weight\u0027], dimensions\u003drole_tags)"},{"line_number":217,"context_line":"                        for key_name, (metric_name, metric_func) in self.ROLE_RESOURCES_METRICS.iteritems():"},{"line_number":218,"context_line":"                            metric_func(self, metric_name, role[\u0027resources\u0027][key_name], dimensions\u003drole_tags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_eeb9d0cc","line":215,"range":{"start_line":215,"start_character":57,"end_line":215,"end_character":58},"in_reply_to":"da6895a0_fbec342b","updated":"2016-10-24 20:32:16.000000000","message":"Done","commit_id":"85dd3c6388d2ee256b641ce2d218c777b5cac2b1"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"01f4cead762a882e7d1fb4bc6d3c37a3ad2bf110","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":200,"context_line":"                    framework_dimensions \u003d dimensions.copy()"},{"line_number":201,"context_line":"                    framework_dimensions[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":202,"context_line":"                    AgentCheck.gauge(self,"},{"line_number":203,"context_line":"                                     \u0027mesos.framework.total_tasks\u0027,"},{"line_number":204,"context_line":"                                     len(framework[\u0027tasks\u0027]),"},{"line_number":205,"context_line":"                                     dimensions\u003dframework_dimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a77a97e_55043f14","line":202,"range":{"start_line":202,"start_character":20,"end_line":202,"end_character":30},"updated":"2016-11-15 14:38:11.000000000","message":"You should adjust Joe\u0027s comments from mesos_agent.py also here, so: self.gauge()","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"1612fde41196ef849d5ee3dcf5396ce204906d13","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                for framework in state_metrics[\u0027frameworks\u0027]:"},{"line_number":200,"context_line":"                    framework_dimensions \u003d dimensions.copy()"},{"line_number":201,"context_line":"                    framework_dimensions[\u0027framework_name\u0027] \u003d framework[\u0027name\u0027]"},{"line_number":202,"context_line":"                    AgentCheck.gauge(self,"},{"line_number":203,"context_line":"                                     \u0027mesos.framework.total_tasks\u0027,"},{"line_number":204,"context_line":"                                     len(framework[\u0027tasks\u0027]),"},{"line_number":205,"context_line":"                                     dimensions\u003dframework_dimensions)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_0be0c3f9","line":202,"range":{"start_line":202,"start_character":20,"end_line":202,"end_character":30},"in_reply_to":"7a77a97e_55043f14","updated":"2016-12-01 18:17:14.000000000","message":"Done","commit_id":"11d65c80547a338e8e8f4429ae051f1dbf14dfe8"}]}
