Program: 109602
Project: 109602
Buggy source:
/** 
 * This method creates a number of custom New Relic Metrics, that are derived from raw MySQL status metrics
 * @param Map existing Gathered MySQL metrics
 * @param metrics  String of the Metric Categories to capture
 * @return Map  Additional derived metrics
 */
protected Map<String,Number> newRelicMetrics(Map<String,Number> existing,String metrics){
  Map<String,Number> derived=new HashMap<String,Number>();
  if (!metrics.contains("String_Node_Str" + COMMA))   return derived;
  if (!metrics.contains("String_Node_Str" + COMMA))   return derived;
  logger.fine("String_Node_Str");
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float threads_connected=existing.get("String_Node_Str").floatValue();
    float threads_running=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(int)threads_connected);
    derived.put("String_Node_Str",(int)threads_running);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",(threads_running / threads_connected) * 100.0);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    float innodb_read_requests=existing.get("String_Node_Str").floatValue();
    float innodb_reads=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(innodb_read_requests / (innodb_read_requests + innodb_reads)) * 100.0);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    int pages_total=existing.get("String_Node_Str").intValue();
    int pages_data=existing.get("String_Node_Str").intValue();
    int pages_misc=existing.get("String_Node_Str").intValue();
    int pages_dirty=existing.get("String_Node_Str").intValue();
    int pages_free=existing.get("String_Node_Str").intValue();
    derived.put("String_Node_Str",pages_data - pages_dirty);
    derived.put("String_Node_Str",pages_dirty);
    derived.put("String_Node_Str",pages_misc);
    derived.put("String_Node_Str",pages_free);
    derived.put("String_Node_Str",pages_total - pages_data - pages_free- pages_misc);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float qc_hits=existing.get("String_Node_Str").floatValue();
    float reads=existing.get("String_Node_Str").floatValue();
    float free=existing.get("String_Node_Str").floatValue();
    float total=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(int)qc_hits);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",(qc_hits / (qc_hits + reads)) * 100.0);
    derived.put("String_Node_Str",100 - ((free / total) * 100.0));
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float tmp_tables=existing.get("String_Node_Str").floatValue();
    float tmp_tables_disk=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(tmp_tables_disk / tmp_tables) * 100.0);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    if (metrics.contains("String_Node_Str" + COMMA)) {
      derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
      int slave_io_thread_running=existing.get("String_Node_Str").intValue();
      int slave_sql_thread_running=existing.get("String_Node_Str").intValue();
      int replication_status=1;
      if (slave_io_thread_running + slave_sql_thread_running == 2)       replication_status=0;
      derived.put("String_Node_Str",replication_status);
      derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
      derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() - existing.get("String_Node_Str").intValue());
    }
 else {
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
    }
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  return derived;
}

Fixed version (ground truth):
/** 
 * This method creates a number of custom New Relic Metrics, that are derived from raw MySQL status metrics
 * @param Map existing Gathered MySQL metrics
 * @param metrics  String of the Metric Categories to capture
 * @return Map  Additional derived metrics
 */
protected Map<String,Number> newRelicMetrics(Map<String,Number> existing,String metrics){
  Map<String,Number> derived=new HashMap<String,Number>();
  if (!metrics.contains("String_Node_Str" + COMMA))   return derived;
  if (!metrics.contains("String_Node_Str" + COMMA))   return derived;
  logger.fine("String_Node_Str");
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue() + existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue()+ existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float threads_connected=existing.get("String_Node_Str").floatValue();
    float threads_running=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(int)threads_connected);
    derived.put("String_Node_Str",(int)threads_running);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",(threads_running / threads_connected) * 100.0);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    float innodb_read_requests=existing.get("String_Node_Str").floatValue();
    float innodb_reads=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(innodb_read_requests / (innodb_read_requests + innodb_reads)) * 100.0);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    int pages_total=existing.get("String_Node_Str").intValue();
    int pages_data=existing.get("String_Node_Str").intValue();
    int pages_misc=existing.get("String_Node_Str").intValue();
    int pages_dirty=existing.get("String_Node_Str").intValue();
    int pages_free=existing.get("String_Node_Str").intValue();
    derived.put("String_Node_Str",pages_data - pages_dirty);
    derived.put("String_Node_Str",pages_dirty);
    derived.put("String_Node_Str",pages_misc);
    derived.put("String_Node_Str",pages_free);
    derived.put("String_Node_Str",pages_total - pages_data - pages_free- pages_misc);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float qc_hits=existing.get("String_Node_Str").floatValue();
    float reads=existing.get("String_Node_Str").floatValue();
    float free=existing.get("String_Node_Str").floatValue();
    float total=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(int)qc_hits);
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
    derived.put("String_Node_Str",(qc_hits / (qc_hits + reads)) * 100.0);
    derived.put("String_Node_Str",100 - ((free / total) * 100.0));
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    float tmp_tables=existing.get("String_Node_Str").floatValue();
    float tmp_tables_disk=existing.get("String_Node_Str").floatValue();
    derived.put("String_Node_Str",(tmp_tables_disk / tmp_tables) * 100.0);
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  try {
    if (metrics.contains("String_Node_Str" + COMMA)) {
      if (existing.containsKey("String_Node_Str")) {
        derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
      }
      if (existing.containsKey("String_Node_Str") && existing.containsKey("String_Node_Str")) {
        int slave_io_thread_running=existing.get("String_Node_Str").intValue();
        int slave_sql_thread_running=existing.get("String_Node_Str").intValue();
        int replication_status=1;
        if (slave_io_thread_running + slave_sql_thread_running == 2)         replication_status=0;
        derived.put("String_Node_Str",replication_status);
      }
      if (existing.containsKey("String_Node_Str")) {
        derived.put("String_Node_Str",existing.get("String_Node_Str").intValue());
      }
      if (existing.containsKey("String_Node_Str") && existing.containsKey("String_Node_Str")) {
        derived.put("String_Node_Str",existing.get("String_Node_Str").intValue() - existing.get("String_Node_Str").intValue());
      }
    }
 else {
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
      derived.put("String_Node_Str",0);
    }
  }
 catch (  Exception e) {
    logger.severe("String_Node_Str" + e.getMessage());
  }
  return derived;
}