Skip to content

Commit 45ec316

Browse files
committed
Better names for interface methods. Add the basic docs. Get rid of the separate global counters. Misc renaming.
1 parent e0817d0 commit 45ec316

File tree

10 files changed

+323
-343
lines changed

10 files changed

+323
-343
lines changed

src/include/firebird/FirebirdInterface.idl

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1899,21 +1899,43 @@ interface ProfilerStats : Versioned
18991899

19001900
interface PerformanceCounters : Versioned
19011901
{
1902-
uint getCount();
1903-
uint getVectorCapacity();
1904-
1905-
uint getId(uint index);
1906-
const string getName(uint index);
1907-
const int64* getCounterVector(uint index);
1902+
// Page-level performance counters (grouped per tablespace)
1903+
const uint PAGE_FETCHES = 0;
1904+
const uint PAGE_READS = 1;
1905+
const uint PAGE_MARKS = 2;
1906+
const uint PAGE_WRITES = 3;
1907+
1908+
// Record-level performance counters (grouped per table)
1909+
const uint RECORD_SEQ_READS = 0;
1910+
const uint RECORD_IDX_READS = 1;
1911+
const uint RECORD_UPDATES = 2;
1912+
const uint RECORD_INSERTS = 3;
1913+
const uint RECORD_DELETES = 4;
1914+
const uint RECORD_BACKOUTS = 5;
1915+
const uint RECORD_PURGES = 6;
1916+
const uint RECORD_EXPUNGES = 7;
1917+
const uint RECORD_LOCKS = 8;
1918+
const uint RECORD_WAITS = 9;
1919+
const uint RECORD_CONFLICTS = 10;
1920+
const uint RECORD_BACK_READS = 11;
1921+
const uint RECORD_FRAGMENT_READS = 12;
1922+
const uint RECORD_RPT_READS = 13;
1923+
const uint RECORD_IMGC = 14;
1924+
1925+
uint getObjectCount();
1926+
uint getCountersCapacity();
1927+
1928+
uint getObjectId(uint index);
1929+
const string getObjectName(uint index);
1930+
const int64* getObjectCounters(uint index);
19081931
}
19091932

19101933
interface PerformanceStats : Versioned
19111934
{
19121935
uint64 getElapsedTime(); // in milliseconds
19131936
uint64 getFetchedRecords();
19141937

1915-
PerformanceCounters getGlobalCounters();
19161938
PerformanceCounters getPageCounters();
1917-
PerformanceCounters getRelationCounters();
1939+
PerformanceCounters getTableCounters();
19181940
}
19191941

src/include/firebird/IdlFbInterfaces.h

Lines changed: 62 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -7613,11 +7613,11 @@ namespace Firebird
76137613
public:
76147614
struct VTable : public IVersioned::VTable
76157615
{
7616-
unsigned (CLOOP_CARG *getCount)(IPerformanceCounters* self) CLOOP_NOEXCEPT;
7617-
unsigned (CLOOP_CARG *getVectorCapacity)(IPerformanceCounters* self) CLOOP_NOEXCEPT;
7618-
unsigned (CLOOP_CARG *getId)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
7619-
const char* (CLOOP_CARG *getName)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
7620-
const ISC_INT64* (CLOOP_CARG *getCounterVector)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
7616+
unsigned (CLOOP_CARG *getObjectCount)(IPerformanceCounters* self) CLOOP_NOEXCEPT;
7617+
unsigned (CLOOP_CARG *getCountersCapacity)(IPerformanceCounters* self) CLOOP_NOEXCEPT;
7618+
unsigned (CLOOP_CARG *getObjectId)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
7619+
const char* (CLOOP_CARG *getObjectName)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
7620+
const ISC_INT64* (CLOOP_CARG *getObjectCounters)(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT;
76217621
};
76227622

76237623
protected:
@@ -7633,33 +7633,53 @@ namespace Firebird
76337633
public:
76347634
static CLOOP_CONSTEXPR unsigned VERSION = FIREBIRD_IPERFORMANCE_COUNTERS_VERSION;
76357635

7636-
unsigned getCount()
7636+
static CLOOP_CONSTEXPR unsigned PAGE_FETCHES = 0;
7637+
static CLOOP_CONSTEXPR unsigned PAGE_READS = 1;
7638+
static CLOOP_CONSTEXPR unsigned PAGE_MARKS = 2;
7639+
static CLOOP_CONSTEXPR unsigned PAGE_WRITES = 3;
7640+
static CLOOP_CONSTEXPR unsigned RECORD_SEQ_READS = 0;
7641+
static CLOOP_CONSTEXPR unsigned RECORD_IDX_READS = 1;
7642+
static CLOOP_CONSTEXPR unsigned RECORD_UPDATES = 2;
7643+
static CLOOP_CONSTEXPR unsigned RECORD_INSERTS = 3;
7644+
static CLOOP_CONSTEXPR unsigned RECORD_DELETES = 4;
7645+
static CLOOP_CONSTEXPR unsigned RECORD_BACKOUTS = 5;
7646+
static CLOOP_CONSTEXPR unsigned RECORD_PURGES = 6;
7647+
static CLOOP_CONSTEXPR unsigned RECORD_EXPUNGES = 7;
7648+
static CLOOP_CONSTEXPR unsigned RECORD_LOCKS = 8;
7649+
static CLOOP_CONSTEXPR unsigned RECORD_WAITS = 9;
7650+
static CLOOP_CONSTEXPR unsigned RECORD_CONFLICTS = 10;
7651+
static CLOOP_CONSTEXPR unsigned RECORD_BACK_READS = 11;
7652+
static CLOOP_CONSTEXPR unsigned RECORD_FRAGMENT_READS = 12;
7653+
static CLOOP_CONSTEXPR unsigned RECORD_RPT_READS = 13;
7654+
static CLOOP_CONSTEXPR unsigned RECORD_IMGC = 14;
7655+
7656+
unsigned getObjectCount()
76377657
{
7638-
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getCount(this);
7658+
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getObjectCount(this);
76397659
return ret;
76407660
}
76417661

7642-
unsigned getVectorCapacity()
7662+
unsigned getCountersCapacity()
76437663
{
7644-
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getVectorCapacity(this);
7664+
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getCountersCapacity(this);
76457665
return ret;
76467666
}
76477667

7648-
unsigned getId(unsigned index)
7668+
unsigned getObjectId(unsigned index)
76497669
{
7650-
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getId(this, index);
7670+
unsigned ret = static_cast<VTable*>(this->cloopVTable)->getObjectId(this, index);
76517671
return ret;
76527672
}
76537673

7654-
const char* getName(unsigned index)
7674+
const char* getObjectName(unsigned index)
76557675
{
7656-
const char* ret = static_cast<VTable*>(this->cloopVTable)->getName(this, index);
7676+
const char* ret = static_cast<VTable*>(this->cloopVTable)->getObjectName(this, index);
76577677
return ret;
76587678
}
76597679

7660-
const ISC_INT64* getCounterVector(unsigned index)
7680+
const ISC_INT64* getObjectCounters(unsigned index)
76617681
{
7662-
const ISC_INT64* ret = static_cast<VTable*>(this->cloopVTable)->getCounterVector(this, index);
7682+
const ISC_INT64* ret = static_cast<VTable*>(this->cloopVTable)->getObjectCounters(this, index);
76637683
return ret;
76647684
}
76657685
};
@@ -7673,9 +7693,8 @@ namespace Firebird
76737693
{
76747694
ISC_UINT64 (CLOOP_CARG *getElapsedTime)(IPerformanceStats* self) CLOOP_NOEXCEPT;
76757695
ISC_UINT64 (CLOOP_CARG *getFetchedRecords)(IPerformanceStats* self) CLOOP_NOEXCEPT;
7676-
IPerformanceCounters* (CLOOP_CARG *getGlobalCounters)(IPerformanceStats* self) CLOOP_NOEXCEPT;
76777696
IPerformanceCounters* (CLOOP_CARG *getPageCounters)(IPerformanceStats* self) CLOOP_NOEXCEPT;
7678-
IPerformanceCounters* (CLOOP_CARG *getRelationCounters)(IPerformanceStats* self) CLOOP_NOEXCEPT;
7697+
IPerformanceCounters* (CLOOP_CARG *getTableCounters)(IPerformanceStats* self) CLOOP_NOEXCEPT;
76797698
};
76807699

76817700
protected:
@@ -7703,21 +7722,15 @@ namespace Firebird
77037722
return ret;
77047723
}
77057724

7706-
IPerformanceCounters* getGlobalCounters()
7707-
{
7708-
IPerformanceCounters* ret = static_cast<VTable*>(this->cloopVTable)->getGlobalCounters(this);
7709-
return ret;
7710-
}
7711-
77127725
IPerformanceCounters* getPageCounters()
77137726
{
77147727
IPerformanceCounters* ret = static_cast<VTable*>(this->cloopVTable)->getPageCounters(this);
77157728
return ret;
77167729
}
77177730

7718-
IPerformanceCounters* getRelationCounters()
7731+
IPerformanceCounters* getTableCounters()
77197732
{
7720-
IPerformanceCounters* ret = static_cast<VTable*>(this->cloopVTable)->getRelationCounters(this);
7733+
IPerformanceCounters* ret = static_cast<VTable*>(this->cloopVTable)->getTableCounters(this);
77217734
return ret;
77227735
}
77237736
};
@@ -22014,22 +22027,22 @@ namespace Firebird
2201422027
VTableImpl()
2201522028
{
2201622029
this->version = Base::VERSION;
22017-
this->getCount = &Name::cloopgetCountDispatcher;
22018-
this->getVectorCapacity = &Name::cloopgetVectorCapacityDispatcher;
22019-
this->getId = &Name::cloopgetIdDispatcher;
22020-
this->getName = &Name::cloopgetNameDispatcher;
22021-
this->getCounterVector = &Name::cloopgetCounterVectorDispatcher;
22030+
this->getObjectCount = &Name::cloopgetObjectCountDispatcher;
22031+
this->getCountersCapacity = &Name::cloopgetCountersCapacityDispatcher;
22032+
this->getObjectId = &Name::cloopgetObjectIdDispatcher;
22033+
this->getObjectName = &Name::cloopgetObjectNameDispatcher;
22034+
this->getObjectCounters = &Name::cloopgetObjectCountersDispatcher;
2202222035
}
2202322036
} vTable;
2202422037

2202522038
this->cloopVTable = &vTable;
2202622039
}
2202722040

22028-
static unsigned CLOOP_CARG cloopgetCountDispatcher(IPerformanceCounters* self) CLOOP_NOEXCEPT
22041+
static unsigned CLOOP_CARG cloopgetObjectCountDispatcher(IPerformanceCounters* self) CLOOP_NOEXCEPT
2202922042
{
2203022043
try
2203122044
{
22032-
return static_cast<Name*>(self)->Name::getCount();
22045+
return static_cast<Name*>(self)->Name::getObjectCount();
2203322046
}
2203422047
catch (...)
2203522048
{
@@ -22038,11 +22051,11 @@ namespace Firebird
2203822051
}
2203922052
}
2204022053

22041-
static unsigned CLOOP_CARG cloopgetVectorCapacityDispatcher(IPerformanceCounters* self) CLOOP_NOEXCEPT
22054+
static unsigned CLOOP_CARG cloopgetCountersCapacityDispatcher(IPerformanceCounters* self) CLOOP_NOEXCEPT
2204222055
{
2204322056
try
2204422057
{
22045-
return static_cast<Name*>(self)->Name::getVectorCapacity();
22058+
return static_cast<Name*>(self)->Name::getCountersCapacity();
2204622059
}
2204722060
catch (...)
2204822061
{
@@ -22051,11 +22064,11 @@ namespace Firebird
2205122064
}
2205222065
}
2205322066

22054-
static unsigned CLOOP_CARG cloopgetIdDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
22067+
static unsigned CLOOP_CARG cloopgetObjectIdDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
2205522068
{
2205622069
try
2205722070
{
22058-
return static_cast<Name*>(self)->Name::getId(index);
22071+
return static_cast<Name*>(self)->Name::getObjectId(index);
2205922072
}
2206022073
catch (...)
2206122074
{
@@ -22064,11 +22077,11 @@ namespace Firebird
2206422077
}
2206522078
}
2206622079

22067-
static const char* CLOOP_CARG cloopgetNameDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
22080+
static const char* CLOOP_CARG cloopgetObjectNameDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
2206822081
{
2206922082
try
2207022083
{
22071-
return static_cast<Name*>(self)->Name::getName(index);
22084+
return static_cast<Name*>(self)->Name::getObjectName(index);
2207222085
}
2207322086
catch (...)
2207422087
{
@@ -22077,11 +22090,11 @@ namespace Firebird
2207722090
}
2207822091
}
2207922092

22080-
static const ISC_INT64* CLOOP_CARG cloopgetCounterVectorDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
22093+
static const ISC_INT64* CLOOP_CARG cloopgetObjectCountersDispatcher(IPerformanceCounters* self, unsigned index) CLOOP_NOEXCEPT
2208122094
{
2208222095
try
2208322096
{
22084-
return static_cast<Name*>(self)->Name::getCounterVector(index);
22097+
return static_cast<Name*>(self)->Name::getObjectCounters(index);
2208522098
}
2208622099
catch (...)
2208722100
{
@@ -22104,11 +22117,11 @@ namespace Firebird
2210422117
{
2210522118
}
2210622119

22107-
virtual unsigned getCount() = 0;
22108-
virtual unsigned getVectorCapacity() = 0;
22109-
virtual unsigned getId(unsigned index) = 0;
22110-
virtual const char* getName(unsigned index) = 0;
22111-
virtual const ISC_INT64* getCounterVector(unsigned index) = 0;
22120+
virtual unsigned getObjectCount() = 0;
22121+
virtual unsigned getCountersCapacity() = 0;
22122+
virtual unsigned getObjectId(unsigned index) = 0;
22123+
virtual const char* getObjectName(unsigned index) = 0;
22124+
virtual const ISC_INT64* getObjectCounters(unsigned index) = 0;
2211222125
};
2211322126

2211422127
template <typename Name, typename StatusType, typename Base>
@@ -22126,9 +22139,8 @@ namespace Firebird
2212622139
this->version = Base::VERSION;
2212722140
this->getElapsedTime = &Name::cloopgetElapsedTimeDispatcher;
2212822141
this->getFetchedRecords = &Name::cloopgetFetchedRecordsDispatcher;
22129-
this->getGlobalCounters = &Name::cloopgetGlobalCountersDispatcher;
2213022142
this->getPageCounters = &Name::cloopgetPageCountersDispatcher;
22131-
this->getRelationCounters = &Name::cloopgetRelationCountersDispatcher;
22143+
this->getTableCounters = &Name::cloopgetTableCountersDispatcher;
2213222144
}
2213322145
} vTable;
2213422146

@@ -22161,19 +22173,6 @@ namespace Firebird
2216122173
}
2216222174
}
2216322175

22164-
static IPerformanceCounters* CLOOP_CARG cloopgetGlobalCountersDispatcher(IPerformanceStats* self) CLOOP_NOEXCEPT
22165-
{
22166-
try
22167-
{
22168-
return static_cast<Name*>(self)->Name::getGlobalCounters();
22169-
}
22170-
catch (...)
22171-
{
22172-
StatusType::catchException(0);
22173-
return static_cast<IPerformanceCounters*>(0);
22174-
}
22175-
}
22176-
2217722176
static IPerformanceCounters* CLOOP_CARG cloopgetPageCountersDispatcher(IPerformanceStats* self) CLOOP_NOEXCEPT
2217822177
{
2217922178
try
@@ -22187,11 +22186,11 @@ namespace Firebird
2218722186
}
2218822187
}
2218922188

22190-
static IPerformanceCounters* CLOOP_CARG cloopgetRelationCountersDispatcher(IPerformanceStats* self) CLOOP_NOEXCEPT
22189+
static IPerformanceCounters* CLOOP_CARG cloopgetTableCountersDispatcher(IPerformanceStats* self) CLOOP_NOEXCEPT
2219122190
{
2219222191
try
2219322192
{
22194-
return static_cast<Name*>(self)->Name::getRelationCounters();
22193+
return static_cast<Name*>(self)->Name::getTableCounters();
2219522194
}
2219622195
catch (...)
2219722196
{
@@ -22216,9 +22215,8 @@ namespace Firebird
2221622215

2221722216
virtual ISC_UINT64 getElapsedTime() = 0;
2221822217
virtual ISC_UINT64 getFetchedRecords() = 0;
22219-
virtual IPerformanceCounters* getGlobalCounters() = 0;
2222022218
virtual IPerformanceCounters* getPageCounters() = 0;
22221-
virtual IPerformanceCounters* getRelationCounters() = 0;
22219+
virtual IPerformanceCounters* getTableCounters() = 0;
2222222220
};
2222322221
};
2222422222

0 commit comments

Comments
 (0)