original_string: public function getSum($metric, $tags, $endDt = null) {
          if (null == $metric) {
              return 0;
          }
          
          $min = intval(date('i'));
          $minutes = $min > 45 ? 45 : ( $min > 30 ? 30 : ( $min > 15 ? 15 : '00') );       
          $lastHourDt = date("Y-m-d") . "T" . date('H') . ":$minutes:00Z";
    
          $where = [];
          
          if (!isset($endDt)) {
              $endDt = '2100-01-01T00:00:00Z';
          }
          
          if (strtotime($endDt) < strtotime($lastHourDt)) {
             return 0;
          }
          
          $where[] = "time >= '" . $lastHourDt . "' AND time <= '" . $endDt . "'";
          
          foreach ($tags as $key => $val) {
              $where[] = "$key = '" . $val . "'";
          }
  
          $points = $this->db->getQueryBuilder()
                  ->from($metric)
                  ->where($where)
                  ->sum('value')
                  ->getResultSet()
                  ->getPoints();
          
          return isset($points[0]) && isset($points[0]["sum"]) ? $points[0]["sum"] : 0;
      }
code: public function getSum($metric, $tags, $endDt = null) {
          if (null == $metric) {
              return 0;
          }
          
          $min = intval(date('i'));
          $minutes = $min > 45 ? 45 : ( $min > 30 ? 30 : ( $min > 15 ? 15 : '00') );       
          $lastHourDt = date("Y-m-d") . "T" . date('H') . ":$minutes:00Z";
    
          $where = [];
          
          if (!isset($endDt)) {
              $endDt = '2100-01-01T00:00:00Z';
          }
          
          if (strtotime($endDt) < strtotime($lastHourDt)) {
             return 0;
          }
          
          $where[] = "time >= '" . $lastHourDt . "' AND time <= '" . $endDt . "'";
          
          foreach ($tags as $key => $val) {
              $where[] = "$key = '" . $val . "'";
          }
  
          $points = $this->db->getQueryBuilder()
                  ->from($metric)
                  ->where($where)
                  ->sum('value')
                  ->getResultSet()
                  ->getPoints();
          
          return isset($points[0]) && isset($points[0]["sum"]) ? $points[0]["sum"] : 0;
      }
code_tokens: public function getSum ( $ metric , $ tags , $ endDt = null ) { if ( null == $ metric ) { return 0 ; } $ min = intval ( date ( 'i' ) ) ; $ minutes = $ min > 45 ? 45 : ( $ min > 30 ? 30 : ( $ min > 15 ? 15 : '00' ) ) ; $ lastHourDt = date ( "Y-m-d" ) . "T" . date ( 'H' ) . ":$minutes:00Z" ; $ where = [ ] ; if ( ! isset ( $ endDt ) ) { $ endDt = '2100-01-01T00:00:00Z' ; } if ( strtotime ( $ endDt ) < strtotime ( $ lastHourDt ) ) { return 0 ; } $ where [ ] = "time >= '" . $ lastHourDt . "' AND time <= '" . $ endDt . "'" ; foreach ( $ tags as $ key => $ val ) { $ where [ ] = "$key = '" . $ val . "'" ; } $ points = $ this -> db -> getQueryBuilder ( ) -> from ( $ metric ) -> where ( $ where ) -> sum ( 'value' ) -> getResultSet ( ) -> getPoints ( ) ; return isset ( $ points [ 0 ] ) && isset ( $ points [ 0 ] [ "sum" ] ) ? $ points [ 0 ] [ "sum" ] : 0 ; }
docstring: Get total from default retention policy
  
  @param string $metric
  @param array $tags
  @param string $endDt
  @return int
docstring_tokens: Get total from default retention policy