143 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
	
	
| ###################################################################
 | |
| #           Copyright (c) 2016 by TAOS Technologies, Inc.
 | |
| #                     All rights reserved.
 | |
| #
 | |
| #  This file is proprietary and confidential to TAOS Technologies.
 | |
| #  No part of this file may be reproduced, stored, transmitted,
 | |
| #  disclosed or used in any form or by any means other than as
 | |
| #  expressly provided by the written permission from Jianhui Tao
 | |
| #
 | |
| ###################################################################
 | |
| 
 | |
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import os
 | |
| import random
 | |
| import argparse
 | |
| 
 | |
| class taosdemoWrapper:
 | |
| 
 | |
|     def __init__(self, host, metadata, database, tables, threads, configDir, replica, 
 | |
|         columnType, columnsPerTable, rowsPerTable, disorderRatio, disorderRange, charTypeLen):
 | |
|         self.host = host
 | |
|         self.metadata = metadata
 | |
|         self.database = database
 | |
|         self.tables = tables
 | |
|         self.threads = threads
 | |
|         self.configDir = configDir
 | |
|         self.replica = replica
 | |
|         self.columnType = columnType
 | |
|         self.columnsPerTable = columnsPerTable
 | |
|         self.rowsPerTable = rowsPerTable
 | |
|         self.disorderRatio = disorderRatio
 | |
|         self.disorderRange = disorderRange
 | |
|         self.charTypeLen = charTypeLen
 | |
|         
 | |
|     def run(self):
 | |
|         if self.metadata is None:
 | |
|             os.system("taosdemo -h %s -d %s -t %d -T %d -c %s -a %d -b %s -n %d -t %d -O %d -R %d -w %d -x -y" 
 | |
|             % (self.host, self.database, self.tables, self.threads, self.configDir, self.replica, self.columnType,
 | |
|             self.rowsPerTable, self.disorderRatio, self.disorderRange, self.charTypeLen))
 | |
|         else:
 | |
|             os.system("taosdemo -f %s" % self.metadata)
 | |
| 
 | |
| 
 | |
| parser = argparse.ArgumentParser()
 | |
| parser.add_argument(
 | |
|     '-H',
 | |
|     '--host-name',
 | |
|     action='store',
 | |
|     default='tdnode1',
 | |
|     type=str,
 | |
|     help='host name to be connected (default: tdnode1)')
 | |
| parser.add_argument(
 | |
|     '-f',
 | |
|     '--metadata',
 | |
|     action='store',
 | |
|     default=None,
 | |
|     type=str,
 | |
|     help='The meta data to execution procedure, if use -f, all other options invalid, Default is NULL')
 | |
| parser.add_argument(
 | |
|     '-d',
 | |
|     '--db-name',
 | |
|     action='store',
 | |
|     default='test',
 | |
|     type=str,
 | |
|     help='Database name to be created (default: test)')
 | |
| parser.add_argument(
 | |
|     '-t',
 | |
|     '--num-of-tables',
 | |
|     action='store',
 | |
|     default=10,
 | |
|     type=int,
 | |
|     help='Number of tables (default: 10000)')
 | |
| parser.add_argument(
 | |
|     '-T',
 | |
|     '--num-of-threads',
 | |
|     action='store',
 | |
|     default=10,
 | |
|     type=int,
 | |
|     help='Number of rest threads (default: 10)')
 | |
| parser.add_argument(
 | |
|     '-c',
 | |
|     '--config-dir',
 | |
|     action='store',
 | |
|     default='/etc/taos/',
 | |
|     type=str,
 | |
|     help='Configuration directory. (Default is /etc/taos/)')
 | |
| parser.add_argument(
 | |
|     '-a',
 | |
|     '--replica',
 | |
|     action='store',
 | |
|     default=100,
 | |
|     type=int,
 | |
|     help='Set the replica parameters of the database  (default: 1, min: 1, max: 3)')
 | |
| parser.add_argument(
 | |
|     '-b',
 | |
|     '--column-type',
 | |
|     action='store',
 | |
|     default='int',
 | |
|     type=str,
 | |
|     help='the data_type of columns (default: TINYINT,SMALLINT,INT,BIGINT,FLOAT,DOUBLE,BINARY,NCHAR,BOOL,TIMESTAMP)')
 | |
| parser.add_argument(
 | |
|     '-l',
 | |
|     '--num-of-cols',
 | |
|     action='store',
 | |
|     default=10,
 | |
|     type=int,
 | |
|     help='The number of columns per record (default: 10)')
 | |
| parser.add_argument(
 | |
|     '-n',
 | |
|     '--num-of-rows',
 | |
|     action='store',
 | |
|     default=1000,
 | |
|     type=int,
 | |
|     help='Number of subtales per stable (default: 1000)')
 | |
| parser.add_argument(
 | |
|     '-O',
 | |
|     '--disorder-ratio',
 | |
|     action='store',
 | |
|     default=0,
 | |
|     type=int,
 | |
|     help=' (0: in order, > 0: disorder ratio, default: 0)')
 | |
| parser.add_argument(
 | |
|     '-R',
 | |
|     '--disorder-range',
 | |
|     action='store',
 | |
|     default=0,
 | |
|     type=int,
 | |
|     help='Out of order datas range, ms (default: 1000)')
 | |
| parser.add_argument(
 | |
|     '-w',
 | |
|     '--char-type-length',
 | |
|     action='store',
 | |
|     default=16,
 | |
|     type=int,
 | |
|     help='Out of order datas range, ms (default: 16)')
 | |
|     
 | |
| args = parser.parse_args()
 | |
| taosdemo = taosdemoWrapper(args.host_name, args.metadata, args.db_name, args.num_of_tables, 
 | |
|         args.num_of_threads, args.config_dir, args.replica, args.column_type, args.num_of_cols, 
 | |
|         args.num_of_rows, args.disorder_ratio, args.disorder_range, args.char_type_length)
 | |
| taosdemo.run()
 |