diff --git a/source/client/src/clientTmq.c b/source/client/src/clientTmq.c index 8fafa4ed4a..bb55eb2e31 100644 --- a/source/client/src/clientTmq.c +++ b/source/client/src/clientTmq.c @@ -1649,11 +1649,6 @@ void tmqMgmtClose(void) { break; } atomic_store_8(&tmq->status, TMQ_CONSUMER_STATUS__CLOSED); - - if (taosRemoveRef(tmqMgmt.rsetId, tmq->refId) != 0) { - qWarn("taosRemoveRef tmq refId:%" PRId64 " failed, error:%s", refId, tstrerror(terrno)); - } - tmq = taosIterateRef(tmqMgmt.rsetId, refId); } taosCloseRef(tmqMgmt.rsetId); diff --git a/tests/system-test/7-tmq/taosx-performance.json b/tests/system-test/7-tmq/taosx-performance.json deleted file mode 100644 index 11556a94c5..0000000000 --- a/tests/system-test/7-tmq/taosx-performance.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "filetype": "insert", - "cfgdir": "/etc/taos", - "host": "127.0.0.1", - "port": 6030, - "user": "root", - "password": "taosdata", - "connection_pool_size": 20, - "thread_bind_vgroup": "yes", - "thread_count": 20, - "create_table_thread_count": 16, - "result_file": "./insert_res.txt", - "confirm_parameter_prompt": "no", - "num_of_records_per_req": 10, - "prepared_rand": 10000, - "chinese": "no", - "escape_character": "yes", - "continue_if_fail": "no", - "databases": [ - { - "dbinfo": { - "name": "test", - "drop": "yes", - "vgroups": 8, - "precision": "ms", - "WAL_RETENTION_PERIOD": 864000 - }, - "super_tables": [ - { - "name": "meters", - "child_table_exists": "no", - "childtable_count": 10000, - "childtable_prefix": "d", - "auto_create_table": "no", - "batch_create_tbl_num": 500, - "data_source": "rand", - "insert_mode": "taosc", - "non_stop_mode": "no", - "line_protocol": "line", - "insert_rows": 1000, - "childtable_limit": 0, - "childtable_offset": 0, - "interlace_rows": 1, - "insert_interval": 0, - "partial_col_num": 0, - "timestamp_step": 10, - "start_timestamp": "2020-10-01 00:00:00.000", - "sample_format": "csv", - "sample_file": "./sample.csv", - "use_sample_ts": "no", - "tags_file": "", - "generate_row_rule": 2, - "columns": [ - {"type": "TINYINT", "name": "current", "max": 128, "min": 1 }, - { "type": "BOOL", "name": "phaseewe" }, - { "type": "BINARY", "name": "str", "len":16374, - "values": ["{\"key00000\": \"value00000\", \"key00001\": \"value00001\", \"key00002\": \"value00002\", \"key00003\": \"value00003\", \"key00004\": \"value00004\", \"key00005\": \"value00005\", \"key00006\": \"value00006\", \"key00007\": \"value00007\", \"key00008\": \"value00008\", \"key00009\": \"value00009\", \"key00010\": \"value00010\", \"key00011\": \"value00011\", \"key00012\": \"value00012\", \"key00013\": \"value00013\", \"key00014\": \"value00014\", \"key00015\": \"value00015\", \"key00016\": \"value00016\", \"key00017\": \"value00017\", \"key00018\": \"value00018\", \"key00019\": \"value00019\", \"key00020\": \"value00020\", \"key00021\": \"value00021\", \"key00022\": \"value00022\", \"key00023\": \"value00023\", \"key00024\": \"value00024\", \"key00025\": \"value00025\", \"key00026\": \"value00026\", \"key00027\": \"value00027\", \"key00028\": \"value00028\", \"key00029\": \"value00029\", \"key00030\": \"value00030\", \"key00031\": \"value00031\", \"key00032\": \"value00032\", \"key00033\": \"value00033\", \"key00034\": \"value00034\", \"key00035\": \"value00035\", \"key00036\": \"value00036\", \"key00037\": \"value00037\", \"key00038\": \"value00038\", \"key00039\": \"value00039\", \"key00040\": \"value00040\", \"key00041\": \"value00041\", \"key00042\": \"value00042\", \"key00043\": \"value00043\", \"key00044\": \"value00044\", \"key00045\": \"value00045\", \"key00046\": \"value00046\", \"key00047\": \"value00047\", \"key00048\": \"value00048\", \"key00049\": \"value00049\", \"key00050\": \"value00050\", \"key00051\": \"value00051\", \"key00052\": \"value00052\", \"key00053\": \"value00053\", \"key00054\": \"value00054\", \"key00055\": \"value00055\", \"key00056\": \"value00056\", \"key00057\": \"value00057\", \"key00058\": \"value00058\", \"key00059\": \"value00059\", \"key00060\": \"value00060\", \"key00061\": \"value00061\", \"key00062\": \"value00062\", \"key00063\": \"value00063\", \"key00064\": \"value00064\", \"key00065\": \"value00065\", \"key00066\": \"value00066\", \"key00067\": \"value00067\", \"key00068\": \"value00068\", \"key00069\": \"value00069\", \"key00070\": \"value00070\", \"key00071\": \"value00071\", \"key00072\": \"value00072\", \"key00073\": \"value00073\", \"key00074\": \"value00074\", \"key00075\": \"value00075\", \"key00076\": \"value00076\", \"key00077\": \"value00077\", \"key00078\": \"value00078\", \"key00079\": \"value00079\", \"key00080\": \"value00080\", \"key00081\": \"value00081\", \"key00082\": \"value00082\", \"key00083\": \"value00083\", \"key00084\": \"value00084\", \"key00085\": \"value00085\", \"key00086\": \"value00086\", \"key00087\": \"value00087\", \"key00088\": \"value00088\", \"key00089\": \"value00089\", \"key00090\": \"value00090\", \"key00091\": \"value00091\", \"key00092\": \"value00092\", \"key00093\": \"value00093\", \"key00094\": \"value00094\", \"key00095\": \"value00095\", \"key00096\": \"value00096\", \"key00097\": \"value00097\", \"key00098\": \"value00098\", \"key00099\": \"value00099\", \"key00100\": \"value00100\", \"key00101\": \"value00101\", \"key00102\": \"value00102\", \"key00103\": \"value00103\", \"key00104\": \"value00104\", \"key00105\": \"value00105\", \"key00106\": \"value00106\", \"key00107\": \"value00107\", \"key00108\": \"value00108\", \"key00109\": \"value00109\", \"key00110\": \"value00110\", \"key00111\": \"value00111\", \"key00112\": \"value00112\", \"key00113\": \"value00113\", \"key00114\": \"value00114\", \"key00115\": \"value00115\", \"key00116\": \"value00116\", \"key00117\": \"value00117\", \"key00118\": \"value00118\", \"key00119\": \"value00119\", \"key00120\": \"value00120\", \"key00121\": \"value00121\", \"key00122\": \"value00122\", \"key00123\": \"value00123\", \"key00124\": \"value00124\", \"key00125\": \"value00125\", \"key00126\": \"value00126\", \"key00127\": \"value00127\", \"key00128\": \"value00128\", \"key00129\": \"value00129\", \"key00130\": \"value00130\", \"key00131\": \"value00131\", \"key00132\": \"value00132\", \"key00133\": \"value00133\", \"key00134\": \"value00134\", \"key00135\": \"value00135\", \"key00136\": \"value00136\", \"key00137\": \"value00137\", \"key00138\": \"value00138\", \"key00139\": \"value00139\", \"key00140\": \"value00140\", \"key00141\": \"value00141\", \"key00142\": \"value00142\", \"key00143\": \"value00143\", \"key00144\": \"value00144\", \"key00145\": \"value00145\", \"key00146\": \"value00146\", \"key00147\": \"value00147\", \"key00148\": \"value00148\", \"key00149\": \"value00149\", \"key00150\": \"value00150\", \"key00151\": \"value00151\", \"key00152\": \"value00152\", \"key00153\": \"value00153\", \"key00154\": \"value00154\", \"key00155\": \"value00155\", \"key00156\": \"value00156\", \"key00157\": \"value00157\", \"key00158\": \"value00158\", \"key00159\": \"value00159\", \"key00160\": \"value00160\", \"key00161\": \"value00161\", \"key00162\": \"value00162\", \"key00163\": \"value00163\", \"key00164\": \"value00164\", \"key00165\": \"value00165\", \"key00166\": \"value00166\", \"key00167\": \"value00167\", \"key00168\": \"value00168\", \"key00169\": \"value00169\", \"key00170\": \"value00170\", \"key00171\": \"value00171\", \"key00172\": \"value00172\", \"key00173\": \"value00173\", \"key00174\": \"value00174\", \"key00175\": \"value00175\", \"key00176\": \"value00176\", \"key00177\": \"value00177\", \"key00178\": \"value00178\", \"key00179\": \"value00179\", \"key00180\": \"value00180\", \"key00181\": \"value00181\", \"key00182\": \"value00182\", \"key00183\": \"value00183\", \"key00184\": \"value00184\", \"key00185\": \"value00185\", \"key00186\": \"value00186\", \"key00187\": \"value00187\", \"key00188\": \"value00188\", \"key00189\": \"value00189\", \"key00190\": \"value00190\", \"key00191\": \"value00191\", \"key00192\": \"value00192\", \"key00193\": \"value00193\", \"key00194\": \"value00194\", \"key00195\": \"value00195\", \"key00196\": \"value00196\", \"key00197\": \"value00197\", \"key00198\": \"value00198\", \"key00199\": \"value00199\"}", - "Los Angles", "San Diego", "San Jose", "Palo Alto", "Campbell", "Mountain View", "Sunnyvale", "Santa Clara", "Cupertino", - "Los Angles", "San Diego", "San Jose", "Palo Alto", "Campbell", "Mountain View", "Sunnyvale", "Santa Clara", "Cupertino" - ] - }, - { "type": "BIGINT", "name": "cnt", "max" : 2563332323232, "min":1 }, - { "type": "DOUBLE", "name": "phase", "max": 1000, "min": 0 } - ], - "tags": [ - {"type": "TINYINT", "name": "groupid", "max": 10, "min": 1}, - {"type": "BINARY", "name": "location", "len": 16, - "values": ["San Francisco", "Los Angles", "San Diego", - "San Jose", "Palo Alto", "Campbell", "Mountain View", - "Sunnyvale", "Santa Clara", "Cupertino"] - } - ] - } - ] - } - ] -} diff --git a/tests/system-test/7-tmq/taosx-performance.py b/tests/system-test/7-tmq/taosx-performance.py index 3d2fb983da..03073c7696 100755 --- a/tests/system-test/7-tmq/taosx-performance.py +++ b/tests/system-test/7-tmq/taosx-performance.py @@ -13,50 +13,218 @@ from util.cases import * from util.dnodes import * from util.common import * from taos.tmq import * + sys.path.append("./7-tmq") from tmqCommon import * tdDnodes1 = TDDnodes() tdDnodes2 = TDDnodes() +vgroups = 1 +tables = 1 +rows_of_each_table = 1 +path = "./taosx_perf" +dnode1 = "./dnode1" +dnode2 = "./dnode2" +cfg = "sim/dnode1/cfg" +taosx = "taosx" +taosd = "taosd" +insertJson = '''{ + "filetype": "insert", + "cfgdir": "/etc/taos", + "host": "127.0.0.1", + "port": 6030, + "user": "root", + "password": "taosdata", + "connection_pool_size": 20, + "thread_bind_vgroup": "yes", + "thread_count": 20, + "create_table_thread_count": 16, + "result_file": "./insert_res.txt", + "confirm_parameter_prompt": "no", + "num_of_records_per_req": 10, + "prepared_rand": 10000, + "chinese": "no", + "escape_character": "yes", + "continue_if_fail": "no", + "databases": [ + { + "dbinfo": { + "name": "test", + "drop": "yes", + "vgroups": 8, + "precision": "ms", + "WAL_RETENTION_PERIOD": 864000 + }, + "super_tables": [ + { + "name": "meters", + "child_table_exists": "no", + "childtable_count": 10000, + "childtable_prefix": "d", + "auto_create_table": "no", + "batch_create_tbl_num": 500, + "data_source": "rand", + "insert_mode": "taosc", + "non_stop_mode": "no", + "line_protocol": "line", + "insert_rows": 1000, + "childtable_limit": 0, + "childtable_offset": 0, + "interlace_rows": 1, + "insert_interval": 0, + "partial_col_num": 0, + "timestamp_step": 10, + "start_timestamp": "2020-10-01 00:00:00.000", + "sample_format": "csv", + "sample_file": "./sample.csv", + "use_sample_ts": "no", + "tags_file": "", + "generate_row_rule": 2, + "columns": [ + {"type": "TINYINT", "name": "current", "max": 128, "min": 1 }, + { "type": "BOOL", "name": "phaseewe" }, + { "type": "BINARY", "name": "str", "len":16374, + "values": ["{kkey00000k: kvalue00000k, kkey00001k: kvalue00001k, kkey00002k: kvalue00002k, kkey00003k: kvalue00003k, kkey00004k: kvalue00004k, kkey00005k: kvalue00005k, kkey00006k: kvalue00006k, kkey00007k: kvalue00007k, kkey00008k: kvalue00008k, kkey00009k: kvalue00009k, kkey00010k: kvalue00010k, kkey00011k: kvalue00011k, kkey00012k: kvalue00012k, kkey00013k: kvalue00013k, kkey00014k: kvalue00014k, kkey00015k: kvalue00015k, kkey00016k: kvalue00016k, kkey00017k: kvalue00017k, kkey00018k: kvalue00018k, kkey00019k: kvalue00019k, kkey00020k: kvalue00020k, kkey00021k: kvalue00021k, kkey00022k: kvalue00022k, kkey00023k: kvalue00023k, kkey00024k: kvalue00024k, kkey00025k: kvalue00025k, kkey00026k: kvalue00026k, kkey00027k: kvalue00027k, kkey00028k: kvalue00028k, kkey00029k: kvalue00029k, kkey00030k: kvalue00030k, kkey00031k: kvalue00031k, kkey00032k: kvalue00032k, kkey00033k: kvalue00033k, kkey00034k: kvalue00034k, kkey00035k: kvalue00035k, kkey00036k: kvalue00036k, kkey00037k: kvalue00037k, kkey00038k: kvalue00038k, kkey00039k: kvalue00039k, kkey00040k: kvalue00040k, kkey00041k: kvalue00041k, kkey00042k: kvalue00042k, kkey00043k: kvalue00043k, kkey00044k: kvalue00044k, kkey00045k: kvalue00045k, kkey00046k: kvalue00046k, kkey00047k: kvalue00047k, kkey00048k: kvalue00048k, kkey00049k: kvalue00049k, kkey00050k: kvalue00050k, kkey00051k: kvalue00051k, kkey00052k: kvalue00052k, kkey00053k: kvalue00053k, kkey00054k: kvalue00054k, kkey00055k: kvalue00055k, kkey00056k: kvalue00056k, kkey00057k: kvalue00057k, kkey00058k: kvalue00058k, kkey00059k: kvalue00059k, kkey00060k: kvalue00060k, kkey00061k: kvalue00061k, kkey00062k: kvalue00062k, kkey00063k: kvalue00063k, kkey00064k: kvalue00064k, kkey00065k: kvalue00065k, kkey00066k: kvalue00066k, kkey00067k: kvalue00067k, kkey00068k: kvalue00068k, kkey00069k: kvalue00069k, kkey00070k: kvalue00070k, kkey00071k: kvalue00071k, kkey00072k: kvalue00072k, kkey00073k: kvalue00073k, kkey00074k: kvalue00074k, kkey00075k: kvalue00075k, kkey00076k: kvalue00076k, kkey00077k: kvalue00077k, kkey00078k: kvalue00078k, kkey00079k: kvalue00079k, kkey00080k: kvalue00080k, kkey00081k: kvalue00081k, kkey00082k: kvalue00082k, kkey00083k: kvalue00083k, kkey00084k: kvalue00084k, kkey00085k: kvalue00085k, kkey00086k: kvalue00086k, kkey00087k: kvalue00087k, kkey00088k: kvalue00088k, kkey00089k: kvalue00089k, kkey00090k: kvalue00090k, kkey00091k: kvalue00091k, kkey00092k: kvalue00092k, kkey00093k: kvalue00093k, kkey00094k: kvalue00094k, kkey00095k: kvalue00095k, kkey00096k: kvalue00096k, kkey00097k: kvalue00097k, kkey00098k: kvalue00098k, kkey00099k: kvalue00099k, kkey00100k: kvalue00100k, kkey00101k: kvalue00101k, kkey00102k: kvalue00102k, kkey00103k: kvalue00103k, kkey00104k: kvalue00104k, kkey00105k: kvalue00105k, kkey00106k: kvalue00106k, kkey00107k: kvalue00107k, kkey00108k: kvalue00108k, kkey00109k: kvalue00109k, kkey00110k: kvalue00110k, kkey00111k: kvalue00111k, kkey00112k: kvalue00112k, kkey00113k: kvalue00113k, kkey00114k: kvalue00114k, kkey00115k: kvalue00115k, kkey00116k: kvalue00116k, kkey00117k: kvalue00117k, kkey00118k: kvalue00118k, kkey00119k: kvalue00119k, kkey00120k: kvalue00120k, kkey00121k: kvalue00121k, kkey00122k: kvalue00122k, kkey00123k: kvalue00123k, kkey00124k: kvalue00124k, kkey00125k: kvalue00125k, kkey00126k: kvalue00126k, kkey00127k: kvalue00127k, kkey00128k: kvalue00128k, kkey00129k: kvalue00129k, kkey00130k: kvalue00130k, kkey00131k: kvalue00131k, kkey00132k: kvalue00132k, kkey00133k: kvalue00133k, kkey00134k: kvalue00134k, kkey00135k: kvalue00135k, kkey00136k: kvalue00136k, kkey00137k: kvalue00137k, kkey00138k: kvalue00138k, kkey00139k: kvalue00139k, kkey00140k: kvalue00140k, kkey00141k: kvalue00141k, kkey00142k: kvalue00142k, kkey00143k: kvalue00143k, kkey00144k: kvalue00144k, kkey00145k: kvalue00145k, kkey00146k: kvalue00146k, kkey00147k: kvalue00147k, kkey00148k: kvalue00148k, kkey00149k: kvalue00149k, kkey00150k: kvalue00150k, kkey00151k: kvalue00151k, kkey00152k: kvalue00152k, kkey00153k: kvalue00153k, kkey00154k: kvalue00154k, kkey00155k: kvalue00155k, kkey00156k: kvalue00156k, kkey00157k: kvalue00157k, kkey00158k: kvalue00158k, kkey00159k: kvalue00159k, kkey00160k: kvalue00160k, kkey00161k: kvalue00161k, kkey00162k: kvalue00162k, kkey00163k: kvalue00163k, kkey00164k: kvalue00164k, kkey00165k: kvalue00165k, kkey00166k: kvalue00166k, kkey00167k: kvalue00167k, kkey00168k: kvalue00168k, kkey00169k: kvalue00169k, kkey00170k: kvalue00170k, kkey00171k: kvalue00171k, kkey00172k: kvalue00172k, kkey00173k: kvalue00173k, kkey00174k: kvalue00174k, kkey00175k: kvalue00175k, kkey00176k: kvalue00176k, kkey00177k: kvalue00177k, kkey00178k: kvalue00178k, kkey00179k: kvalue00179k, kkey00180k: kvalue00180k, kkey00181k: kvalue00181k, kkey00182k: kvalue00182k, kkey00183k: kvalue00183k, kkey00184k: kvalue00184k, kkey00185k: kvalue00185k, kkey00186k: kvalue00186k, kkey00187k: kvalue00187k, kkey00188k: kvalue00188k, kkey00189k: kvalue00189k, kkey00190k: kvalue00190k, kkey00191k: kvalue00191k, kkey00192k: kvalue00192k, kkey00193k: kvalue00193k, kkey00194k: kvalue00194k, kkey00195k: kvalue00195k, kkey00196k: kvalue00196k, kkey00197k: kvalue00197k, kkey00198k: kvalue00198k, kkey00199k: kvalue00199k}", + "Los Angles", "San Diego", "San Jose", "Palo Alto", "Campbell", "Mountain View", "Sunnyvale", "Santa Clara", "Cupertino", + "Los Angles", "San Diego", "San Jose", "Palo Alto", "Campbell", "Mountain View", "Sunnyvale", "Santa Clara", "Cupertino" + ] + }, + { "type": "BIGINT", "name": "cnt", "max" : 2563332323232, "min":1 }, + { "type": "DOUBLE", "name": "phase", "max": 1000, "min": 0 } + ], + "tags": [ + {"type": "TINYINT", "name": "groupid", "max": 10, "min": 1}, + {"type": "BINARY", "name": "location", "len": 16, + "values": ["San Francisco", "Los Angles", "San Diego", + "San Jose", "Palo Alto", "Campbell", "Mountain View", + "Sunnyvale", "Santa Clara", "Cupertino"] + } + ] + } + ] + } + ] +}''' -if __name__ == "__main__": - if len(sys.argv[1:]) != 1: - print("Usage: python3 taosx-performance.py [path of taosx]") - sys.exit(1) - - taosx = sys.argv[1] - - if not os.path.isdir("taosx-perf"): - os.system("mkdir taosx-perf") - # os.system("git clone https://github.com/brendangregg/FlameGraph.git taosx-perf") - os.chdir("taosx-perf") - print(os.getcwd()) - - tdDnodes1.stopAll() - updatecfgDict1 = {'debugFlag': 131, 'serverPort': 6030} - tdDnodes1.init("./dnode1") - tdDnodes1.deploy(1,updatecfgDict1) - tdDnodes1.start(1) +def initEnv(): updatecfgDict2 = {'debugFlag': 131, 'serverPort': 7030} - tdDnodes2.init("./dnode2") - tdDnodes2.deploy(1,updatecfgDict2) + tdDnodes2.init(dnode2) + tdDnodes2.deploy(1, updatecfgDict2) tdDnodes2.start(1) - os.system("taos -c ./dnode1/sim/dnode1/cfg -s \"drop topic if exists test\"") - os.system("taos -c ./dnode2/sim/dnode1/cfg -s \"drop database if exists test\"") - os.system("taos -c ./dnode2/sim/dnode1/cfg -s \"create database test vgroups 8\"") - os.system("taosBenchmark -f ../taosx-performance.json") + updatecfgDict1 = {'debugFlag': 131, 'serverPort': 6030} + tdDnodes1.init(dnode1) + tdDnodes1.deploy(1, updatecfgDict1) + tdDnodes1.start(1) - cmd = f"flamegraph -o raw.svg -- {taosx} run -f \"tmq://root:taosdata@localhost:6030/test?group.id=taosx-new-`date +%s`&timeout=1s&experimental.snapshot.enable=false&auto.offset.reset=earliest&prefer=raw\" -t \"taos://root:taosdata@localhost:7030/test\"" - print("taosx start to run:%s" % cmd) + with open('taosx-performance.json', 'w') as file: + file.write(insertJson) + + changeVgroups = f"sed -i '/vgroups/c\ \"vgroups\": {vgroups},' taosx-performance.json" + os.system(changeVgroups) + + changeTables = f"sed -i '/childtable_count/c\ \"childtable_count\": {tables},' taosx-performance.json" + os.system(changeTables) + + changeRows = f"sed -i '/insert_rows/c\ \"insert_rows\": {rows_of_each_table},' taosx-performance.json" + os.system(changeRows) + os.system("taosBenchmark -f taosx-performance.json") + +def stopTaosd(str): + psCmd = f"ps -ef | grep -w taosd | grep -v grep | grep {str}" + " | awk '{print $2}' | xargs" + processID = subprocess.check_output(psCmd, shell=True).decode("utf-8").strip() + print(f"kill taosd pid={processID}") + if processID: + cmd = f"kill -9 {processID}" + os.system(cmd) + +def cleanDb(): + dropTopic = f"taos -c {dnode1}/{cfg} -s \"drop topic if exists test\"" + print("dropTopic:%s" % dropTopic) + os.system(dropTopic) + + dropDb = f"taos -c {dnode2}/{cfg} -s \"drop database if exists test\"" + print("dropDb:%s" % dropDb) + os.system(dropDb) + + createDb = f"taos -c {dnode2}/{cfg} -s \"create database test vgroups {vgroups}\"" + print("createDb:%s" % createDb) + os.system(createDb) + + +def restartTaosd(): + cmd1 = f"{taosd} -c {dnode1}/{cfg} > /dev/null 2>&1 &" + cmd2 = f"{taosd} -c {dnode2}/{cfg} > /dev/null 2>&1 &" + print("start taosd1 :%s" % cmd1) + print("start taosd2 :%s" % cmd2) + os.system(cmd1) + os.system(cmd2) + + +def runTaosx(): + cmd = f"{taosx} run -f \"tmq://root:taosdata@localhost:6030/test?group.id=taosx-new-`date +%s`&timeout=2s&experimental.snapshot.enable=false&auto.offset.reset=earliest&prefer=raw\" -t \"taos://root:taosdata@localhost:7030/test\"" + print("run taosx:%s" % cmd) os.system(cmd) + + +def parseArgs(): + if len(sys.argv[1:]) < 6: + print( + "Usage: python3 taosx-performance.py path_to_taosx path_to_taosd init vgroups tables rows_of_each_table [path]") + sys.exit(1) + + global taosx + global taosd + global init + global vgroups + global tables + global rows_of_each_table + global path + global dnode1 + global dnode2 + taosx = sys.argv[1] + taosd = sys.argv[2] + init = sys.argv[3] + vgroups = sys.argv[4] + tables = sys.argv[5] + rows_of_each_table = sys.argv[6] + if len(sys.argv[1:]) == 7: + path = sys.argv[7] + + if not os.path.isdir(path): + mkCmd = f"mkdir {path}" + os.system(mkCmd) + # os.system("git clone https://github.com/brendangregg/FlameGraph.git taosx-perf") + + +''' +python3 taosx-performance.py path_to_taosx path_to_taosd init vgroups tables rows_of_each_table [path] +''' +if __name__ == "__main__": + parseArgs() + + os.chdir(path) + print("current dir:" + os.getcwd()) + + stopTaosd("dnode2") + stopTaosd("dnode1") + time.sleep(2) + + if init == "true": + initEnv() + else: + restartTaosd() + + cleanDb() + runTaosx() + # os.system("taosx run -f \"tmq://root:taosdata@localhost:6030/test?group.id=taosx-new-`date +%s`&timeout=50s&experimental.snapshot.enable=false&auto.offset.reset=earliest&prefer=raw\" -t \"taos://root:taosdata@localhost:7030/test\" > /dev/null 2>&1 &") # time.sleep(10) # print("start to run perf") - #os.system("perf record -a -g -F 99 -p `pidof taosx` sleep 60") + # os.system("perf record -a -g -F 99 -p `pidof taosx` sleep 60") - #os.system("perf script | ./stackcollapse-perf.pl| ./flamegraph.pl > flame.svg") + # os.system("perf script | ./stackcollapse-perf.pl| ./flamegraph.pl > flame.svg") - tdLog.info("taosx stop") + tdLog.info("run performance end")