Exemple #1
0
def drop_metric_data_mode(model):
    try:
        drop_sql = 'drop table t_tracking_metric_{}'.format(model)
        DB.execute_sql(drop_sql)
        stat_logger.info(drop_sql)
        return drop_sql
    except Exception as e:
        stat_logger.exception(e)
        raise e
Exemple #2
0
def delete_metric_data_from_db(metric_info):
    try:
        job_id = metric_info['job_id']
        metric_info.pop('job_id')
        delete_sql = 'delete from t_tracking_metric_{}  where f_job_id="{}"'.format(
            job_id[:8], job_id)
        for k, v in metric_info.items():
            if hasattr(TrackingMetric, "f_" + k):
                connect_str = " and f_"
                delete_sql = delete_sql + connect_str + k + '="{}"'.format(v)
        DB.execute_sql(delete_sql)
        stat_logger.info(delete_sql)
        return delete_sql
    except Exception as e:
        stat_logger.exception(e)
        raise e
Exemple #3
0
 def get_metric_list(self, job_level: bool = False):
     with DB.connection_context():
         metrics = dict()
         query_sql = 'select distinct f_metric_namespace, f_metric_name from t_tracking_metric_{} where ' \
                     'f_job_id = "{}" and f_component_name = "{}" and f_role = "{}" and f_party_id = "{}" ' \
                     'and f_task_id = "{}"'.format(
             self.get_table_index(), self.job_id, self.component_name if not job_level else 'dag', self.role,
             self.party_id, self.task_id)
         cursor = DB.execute_sql(query_sql)
         for row in cursor.fetchall():
             metrics[row[0]] = metrics.get(row[0], [])
             metrics[row[0]].append(row[1])
         return metrics
Exemple #4
0
 def read_data_from_db(self, metric_namespace: str, metric_name: str, data_type, job_level=False):
     with DB.connection_context():
         metrics = []
         try:
             query_sql = 'select f_key, f_value from t_tracking_metric_{} where ' \
                         'f_job_id = "{}" and f_component_name = "{}" and f_role = "{}" and f_party_id = "{}"' \
                         'and f_task_id = "{}" and f_metric_namespace = "{}" and f_metric_name= "{}" and f_type="{}" order by f_id'.format(
                 self.get_table_index(), self.job_id, self.component_name if not job_level else 'dag', self.role,
                 self.party_id, self.task_id, metric_namespace, metric_name, data_type)
             cursor = DB.execute_sql(query_sql)
             for row in cursor.fetchall():
                 yield deserialize_b64(row[0]), deserialize_b64(row[1])
         except Exception as e:
             schedule_logger(self.job_id).exception(e)
         return metrics