testData.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef TESTDATA_H
  14. #define TESTDATA_H
  15. /***************************************************************
  16. * I N C L U D E D   F I L E S                                  *
  17. ***************************************************************/
  18. #include "testDefinitions.h"
  19. #include <random.h>
  20. /***************************************************************
  21. * M A C R O S                                                  *
  22. ***************************************************************/
  23. /***************************************************************/
  24. /* C O N S T A N T S                                           */
  25. /***************************************************************/
  26. #define NUM_TRANSACTION_TYPES    5
  27. #define SESSION_LIST_LENGTH   1000
  28. /***************************************************************
  29. * D A T A   S T R U C T U R E S                                *
  30. ***************************************************************/
  31. typedef struct {
  32.    SubscriberNumber subscriberNumber;
  33.    ServerId         serverId;
  34. } SessionElement;
  35. typedef struct {
  36.    SessionElement list[SESSION_LIST_LENGTH];
  37.    unsigned int readIndex;
  38.    unsigned int writeIndex;
  39.    unsigned int numberInList;
  40. } SessionList;  
  41. typedef struct {
  42.    double        benchTime;
  43.    unsigned int  count;
  44.    double        tps;
  45.    unsigned int  branchExecuted;
  46.    unsigned int  rollbackExecuted;
  47. }TransactionDefinition;
  48. typedef struct {
  49.    RandomSequence transactionSequence;
  50.    RandomSequence rollbackSequenceT4;
  51.    RandomSequence rollbackSequenceT5;
  52.    TransactionDefinition transactions[NUM_TRANSACTION_TYPES];
  53.    unsigned int totalTransactions;
  54.    double       innerLoopTime;
  55.    double       innerTps;
  56.    double       outerLoopTime;
  57.    double       outerTps;
  58.    SessionList  activeSessions;
  59. } GeneratorStatistics;
  60. typedef struct {
  61.    unsigned long threadId;
  62.    unsigned long randomSeed;
  63.    unsigned int warmUpSeconds;
  64.    unsigned int testSeconds;
  65.    unsigned int coolDownSeconds;
  66.    unsigned int numTransactions;
  67.    GeneratorStatistics generator;
  68. }ThreadData;
  69. /***************************************************************
  70. * P U B L I C    F U N C T I O N S                             *
  71. ***************************************************************/
  72. /***************************************************************
  73. * E X T E R N A L   D A T A                                    *
  74. ***************************************************************/
  75. #endif /* TESTDATA_H */