📄 testdata.h
字号:
/* Copyright (C) 2003 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef TESTDATA_H#define TESTDATA_H/**************************************************************** I N C L U D E D F I L E S ****************************************************************/#include <NdbTick.h>#include <NdbThread.h>#include <NDBT_Stats.hpp>#include <random.h>#include "testDefinitions.h"/**************************************************************** M A C R O S ****************************************************************//***************************************************************//* C O N S T A N T S *//***************************************************************/#define NUM_TRANSACTION_TYPES 5#define SESSION_LIST_LENGTH 1000/**************************************************************** D A T A S T R U C T U R E S ****************************************************************/typedef struct { SubscriberNumber subscriberNumber; ServerId serverId;} SessionElement;typedef struct { SessionElement list[SESSION_LIST_LENGTH]; unsigned int readIndex; unsigned int writeIndex; unsigned int numberInList;} SessionList; typedef struct { unsigned int count; unsigned int branchExecuted; unsigned int rollbackExecuted; /** * Latency measures */ NDB_TICKS startTime; NDBT_Stats latency; unsigned int latencyCounter; inline void startLatency(){ if((latencyCounter & 127) == 127) startTime = NdbTick_CurrentMillisecond(); } inline void stopLatency(){ if((latencyCounter & 127) == 127){ const NDB_TICKS tmp = NdbTick_CurrentMillisecond() - startTime; latency.addObservation(tmp); } latencyCounter++; }} TransactionDefinition;typedef struct { RandomSequence transactionSequence; RandomSequence rollbackSequenceT4; RandomSequence rollbackSequenceT5; TransactionDefinition transactions[NUM_TRANSACTION_TYPES]; unsigned int totalTransactions; double outerLoopTime; double outerTps; SessionList activeSessions; } GeneratorStatistics;typedef enum{ Runnable, Running} RunState ;typedef struct { SubscriberNumber number; SubscriberSuffix suffix; SubscriberName name; Location location; ChangedBy changed_by; ChangedTime changed_time; ServerId server_id; ServerBit server_bit; SessionDetails session_details; GroupId group_id; ActiveSessions sessions; Permission permission; unsigned int do_rollback; unsigned int branchExecuted; unsigned int sessionElement;} TransactionData ;typedef struct { struct NdbThread* pThread; unsigned long randomSeed; unsigned long changedTime; unsigned int warmUpSeconds; unsigned int testSeconds; unsigned int coolDownSeconds; GeneratorStatistics generator; /** * For async execution */ RunState runState; double startTime; TransactionData transactionData; struct Ndb * pNDB;} ThreadData;/*************************************************************** * P U B L I C F U N C T I O N S * ***************************************************************//*************************************************************** * E X T E R N A L D A T A * ***************************************************************/#endif /* TESTDATA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -