)]}'
{"thresh/src/main/java/monasca/thresh/utils/StatsdMetricConsumer.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import java.lang.Boolean;"},{"line_number":23,"context_line":"import java.lang.String;"},{"line_number":24,"context_line":"import java.nio.charset.Charset;"},{"line_number":25,"context_line":"import java.util.*;"},{"line_number":26,"context_line":"import java.util.ArrayList;"},{"line_number":27,"context_line":"import java.util.Collection;"},{"line_number":28,"context_line":"import java.util.HashMap;"}],"source_content_type":"text/x-java","patch_set":5,"id":"fa1b9901_bca43008","line":25,"updated":"2015-08-26 22:13:19.000000000","message":"Don\u0027t import using *","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import java.lang.Boolean;"},{"line_number":23,"context_line":"import java.lang.String;"},{"line_number":24,"context_line":"import java.nio.charset.Charset;"},{"line_number":25,"context_line":"import java.util.*;"},{"line_number":26,"context_line":"import java.util.ArrayList;"},{"line_number":27,"context_line":"import java.util.Collection;"},{"line_number":28,"context_line":"import java.util.HashMap;"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_4d4bf487","line":25,"in_reply_to":"fa1b9901_bca43008","updated":"2015-08-27 18:59:26.000000000","message":"IDE helping me out again.","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  String statsdHost \u003d \"localhost\";"},{"line_number":62,"context_line":"  int statsdPort \u003d 8125;"},{"line_number":63,"context_line":"  String monascaStatsdDimPrefix \u003d \"|#\";"},{"line_number":64,"context_line":"  List\u003cString\u003e whiteList \u003d new ArrayList\u003cString\u003e();"},{"line_number":65,"context_line":"  Map\u003cString, String\u003e metricMap \u003d new HashMap\u003cString, String\u003e();"},{"line_number":66,"context_line":"  Boolean debugMetrics \u003d false;"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-java","patch_set":5,"id":"fa1b9901_3c902095","line":64,"updated":"2015-08-26 22:13:19.000000000","message":"This should all be private","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  String statsdHost \u003d \"localhost\";"},{"line_number":62,"context_line":"  int statsdPort \u003d 8125;"},{"line_number":63,"context_line":"  String monascaStatsdDimPrefix \u003d \"|#\";"},{"line_number":64,"context_line":"  List\u003cString\u003e whiteList \u003d new ArrayList\u003cString\u003e();"},{"line_number":65,"context_line":"  Map\u003cString, String\u003e metricMap \u003d new HashMap\u003cString, String\u003e();"},{"line_number":66,"context_line":"  Boolean debugMetrics \u003d false;"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_550944dc","line":64,"in_reply_to":"fa1b9901_3c902095","updated":"2015-08-27 18:59:26.000000000","message":"Default is package-private if nothing is specified.  I\u0027ll update them to class-private.","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    parseConfig(stormConf);"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    if (registrationArgument instanceof Map) {"},{"line_number":110,"context_line":"      parseConfig((Map\u003c?, ?\u003e) registrationArgument);"},{"line_number":111,"context_line":"    }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    initClient();"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_eae785aa","line":110,"updated":"2015-08-26 22:13:19.000000000","message":"This is always the right one. Why do you have the first parseConfig? It never finds anything","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    parseConfig(stormConf);"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    if (registrationArgument instanceof Map) {"},{"line_number":110,"context_line":"      parseConfig((Map\u003c?, ?\u003e) registrationArgument);"},{"line_number":111,"context_line":"    }"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    initClient();"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_d5f554cb","line":110,"in_reply_to":"da20952f_eae785aa","updated":"2015-08-27 18:59:26.000000000","message":"Carryover from the port.  First parseConfig() sets up the config.","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    }"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    if (conf.containsKey(STATSD_WHITELIST)) {"},{"line_number":172,"context_line":"      whiteList \u003d (List) conf.get(STATSD_WHITELIST);"},{"line_number":173,"context_line":"    }"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    if (conf.containsKey(STATSD_METRICMAP)) {"}],"source_content_type":"text/x-java","patch_set":5,"id":"fa1b9901_fce86818","line":172,"updated":"2015-08-26 22:13:19.000000000","message":"Use (List\u003cString\u003e)","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":169,"context_line":"    }"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    if (conf.containsKey(STATSD_WHITELIST)) {"},{"line_number":172,"context_line":"      whiteList \u003d (List) conf.get(STATSD_WHITELIST);"},{"line_number":173,"context_line":"    }"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    if (conf.containsKey(STATSD_METRICMAP)) {"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_f0b0a6df","line":172,"in_reply_to":"fa1b9901_fce86818","updated":"2015-08-27 18:59:26.000000000","message":"Done","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    }"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    if (conf.containsKey(STATSD_METRICMAP)) {"},{"line_number":176,"context_line":"      metricMap \u003d (Map) conf.get(STATSD_METRICMAP);"},{"line_number":177,"context_line":"    }"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    if (conf.containsKey(STATSD_DEBUGMETRICS)) {"}],"source_content_type":"text/x-java","patch_set":5,"id":"fa1b9901_1cec3c28","line":176,"updated":"2015-08-26 22:13:19.000000000","message":"Use (Map\u003cString, String\u003e)","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    }"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    if (conf.containsKey(STATSD_METRICMAP)) {"},{"line_number":176,"context_line":"      metricMap \u003d (Map) conf.get(STATSD_METRICMAP);"},{"line_number":177,"context_line":"    }"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    if (conf.containsKey(STATSD_DEBUGMETRICS)) {"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_70aed686","line":176,"in_reply_to":"fa1b9901_1cec3c28","updated":"2015-08-27 18:59:26.000000000","message":"Done","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        mappedName \u003d s;"},{"line_number":349,"context_line":"      }"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"      logger.info(\", RawMetricName, {}, MappedMetricName, {}, val, {}\", new Object[]"},{"line_number":352,"context_line":"          { s, mappedName, number});"},{"line_number":353,"context_line":"    }"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_8a9049ee","line":351,"updated":"2015-08-26 22:13:19.000000000","message":"This gives no idea of whether the metric will be output or not","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        mappedName \u003d s;"},{"line_number":349,"context_line":"      }"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"      logger.info(\", RawMetricName, {}, MappedMetricName, {}, val, {}\", new Object[]"},{"line_number":352,"context_line":"          { s, mappedName, number});"},{"line_number":353,"context_line":"    }"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_908feacb","line":351,"in_reply_to":"da20952f_8a9049ee","updated":"2015-08-27 18:59:26.000000000","message":"Added boolean","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"edd719ae641505f38565e609d33762092610c8de","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    }"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    if (metricName !\u003d null \u0026\u0026 !metricName.isEmpty()) {"},{"line_number":356,"context_line":"      results \u003d results.append(metricName).append(\":\")"},{"line_number":357,"context_line":"          .append(String.valueOf(number)).append(\"|c\").append(statsdDimensions);"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"      report(results.toString());"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_2a633d1c","line":356,"updated":"2015-08-26 22:13:19.000000000","message":"Does this handle a metric name with a colon in it?","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"0cbf7298a243036802345c5fced2cdb1b7a35c36","unresolved":false,"context_lines":[{"line_number":353,"context_line":"    }"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    if (metricName !\u003d null \u0026\u0026 !metricName.isEmpty()) {"},{"line_number":356,"context_line":"      results \u003d results.append(metricName).append(\":\")"},{"line_number":357,"context_line":"          .append(String.valueOf(number)).append(\"|c\").append(statsdDimensions);"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"      report(results.toString());"}],"source_content_type":"text/x-java","patch_set":5,"id":"da20952f_0de97c80","line":356,"in_reply_to":"da20952f_2a633d1c","updated":"2015-08-27 18:59:26.000000000","message":"Should this be enforced at this level?  The Monasca Agent apparently can\u0027t handle it directly either.\n\nvagrant@mini-mon:~$ echo \"b:ar:1|c\" | nc -u -w0 127.0.0.1 8125\n\n\n2015-08-27 18:55:07 UTC | ERROR | statsd | monasca_agent.statsd.udp(udp.py:207) | Error receiving datagram\nTraceback (most recent call last):\n  File \"/opt/monasca/local/lib/python2.7/site-packages/monasca_agent/statsd/udp.py\", line 195, in start\n    self.submit_packets(message)\n  File \"/opt/monasca/local/lib/python2.7/site-packages/monasca_agent/statsd/udp.py\", line 156, in submit_packets\n    name, value, mtype, dimensions, sample_rate \u003d self._parse_metric_packet(packet)\n  File \"/opt/monasca/local/lib/python2.7/site-packages/monasca_agent/statsd/udp.py\", line 126, in _parse_metric_packet\n    raise Exception(\u0027Metric value must be a number: %s, %s\u0027 % (name, raw_value))\nException: Metric value must be a number: b, ar:1","commit_id":"201582fa7356fedfeefb79e9144356baf6d2ed4f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"b161feb490efa0b8a028fd2ee33d9307966ab2c3","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        metricName \u003d s;"},{"line_number":348,"context_line":"      }"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"      /* Make sure we don\u0027t send metrics with a value of 0 */"},{"line_number":351,"context_line":"      /* Make sure we don\u0027t send metric names that may be null or empty */"},{"line_number":352,"context_line":"      if (metricName !\u003d null \u0026\u0026"},{"line_number":353,"context_line":"          !metricName.isEmpty() \u0026\u0026"}],"source_content_type":"text/x-java","patch_set":6,"id":"da20952f_928fad29","line":350,"updated":"2015-08-28 19:57:44.000000000","message":"Now that we have finally figured out where the value 0 metrics are coming from there is no reason to filter them here.","commit_id":"9051891f0331934d30d536d3434378241d74daed"},{"author":{"_account_id":12149,"name":"Dexter Fryar","email":"dexter.fryar@protonmail.com","username":"dlfryar"},"change_message_id":"3a2ad058598cc9a48a2eb7b83001a4203c0a39bf","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        metricName \u003d s;"},{"line_number":348,"context_line":"      }"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"      /* Make sure we don\u0027t send metrics with a value of 0 */"},{"line_number":351,"context_line":"      /* Make sure we don\u0027t send metric names that may be null or empty */"},{"line_number":352,"context_line":"      if (metricName !\u003d null \u0026\u0026"},{"line_number":353,"context_line":"          !metricName.isEmpty() \u0026\u0026"}],"source_content_type":"text/x-java","patch_set":6,"id":"da20952f_f24149aa","line":350,"in_reply_to":"da20952f_928fad29","updated":"2015-08-28 20:01:33.000000000","message":"In the testing I did I did see some 0 value metrics so this is still helpful in eliminating them.","commit_id":"9051891f0331934d30d536d3434378241d74daed"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"b975aeadd24be97c8b6a1c712465c9e1571bd5dc","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        metricName \u003d s;"},{"line_number":348,"context_line":"      }"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"      /* Make sure we don\u0027t send metrics with a value of 0 */"},{"line_number":351,"context_line":"      /* Make sure we don\u0027t send metric names that may be null or empty */"},{"line_number":352,"context_line":"      if (metricName !\u003d null \u0026\u0026"},{"line_number":353,"context_line":"          !metricName.isEmpty() \u0026\u0026"}],"source_content_type":"text/x-java","patch_set":6,"id":"da20952f_08d12afa","line":350,"in_reply_to":"da20952f_f24149aa","updated":"2015-08-28 20:48:40.000000000","message":"Why are we not sending metrics with a value of 0? That is a valid value for a lot of metrics","commit_id":"9051891f0331934d30d536d3434378241d74daed"}]}
