import time import argparse import sys import os from task import Task from o11ydiagnosis.subtasks.slowlogconverter.objstore import S3 interval = 300 def resource_path(relative_path): if hasattr(sys, '_MEIPASS'): return os.path.join(sys._MEIPASS, relative_path) return os.path.join(os.path.abspath("."), relative_path) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--cluster', type=str, required=True, help='') parser.add_argument('--region', type=str, required=True, help='') parser.add_argument('--start_ts', type=int, default=None, help='The start timestamp of the logs to be observed, the default value is the current system time') parser.add_argument('--compare_ts', type=int, default=None, help='The log data time used for comparison, the default is value one hour before start_ts') parser.add_argument('--levels', type=str, default="ERROR,WARN", help='The default value is \'ERROR,WARN\', the optional values are ERROR,WARN,INFO,DEBUG') # parser.add_argument('--view', type=str, default="TABLE") args = parser.parse_args() cluster = args.cluster region = args.region levels = args.levels.split(",") start_ts = int(time.time() - interval*1) // interval * interval if args.start_ts: start_ts = args.start_ts compare_ts = int(start_ts - interval*12) // interval * interval if args.compare_ts: compare_ts = args.compare_ts if compare_ts > start_ts: print(f"invalid compare_ts {compare_ts}, should before start_ts {start_ts}") sys.exit() task = Task(s3=S3(), cluster=f"{cluster}", compare_ts=compare_ts, start_ts=start_ts, levels=levels, drhouse_bucket=f"o11y-prod-shared-{region}", drhouse_prefix=f"diagnosis/data/{cluster}/", drhouse_local_path=f"local/data/{cluster}/") task.prepare() task.append()