@@ -1364,6 +1364,9 @@ interface TraceTransaction : Versioned
13641364version: // 3.0.4 -> 3.0.5
13651365 int64 getInitialID();
13661366 int64 getPreviousID();
1367+
1368+ version: // 5.0 -> 6.0
1369+ PerformanceStats getPerfStats();
13671370}
13681371
13691372interface TraceParams : Versioned
@@ -1379,6 +1382,9 @@ interface TraceStatement : Versioned
13791382{
13801383 int64 getStmtID();
13811384 PerformanceInfo* getPerf();
1385+
1386+ version: // 5.0 -> 6.0
1387+ PerformanceStats getPerfStats();
13821388}
13831389
13841390interface TraceSQLStatement : TraceStatement
@@ -1421,6 +1427,9 @@ version: // 4.0 -> 5.0
14211427 int64 getStmtID();
14221428 const string getPlan();
14231429 const string getExplainedPlan();
1430+
1431+ version: // 5.0 -> 6.0
1432+ PerformanceStats getPerfStats();
14241433}
14251434
14261435interface TraceFunction : Versioned
@@ -1434,6 +1443,9 @@ version: // 4.0 -> 5.0
14341443 int64 getStmtID();
14351444 const string getPlan();
14361445 const string getExplainedPlan();
1446+
1447+ version: // 5.0 -> 6.0
1448+ PerformanceStats getPerfStats();
14371449}
14381450
14391451interface TraceTrigger : Versioned
@@ -1456,6 +1468,9 @@ version: // 4.0 -> 5.0
14561468 int64 getStmtID();
14571469 const string getPlan();
14581470 const string getExplainedPlan();
1471+
1472+ version: // 5.0 -> 6.0
1473+ PerformanceStats getPerfStats();
14591474}
14601475
14611476interface TraceServiceConnection : TraceConnection
@@ -1480,6 +1495,9 @@ interface TraceSweepInfo : Versioned
14801495 int64 getOAT();
14811496 int64 getNext();
14821497 PerformanceInfo* getPerf();
1498+
1499+ version: // 5.0 -> 6.0
1500+ PerformanceStats getPerfStats();
14831501}
14841502
14851503interface TraceLogWriter : ReferenceCounted
@@ -1876,3 +1894,26 @@ interface ProfilerStats : Versioned
18761894{
18771895 uint64 getElapsedTicks();
18781896}
1897+
1898+ // Extendable replacement for struct PerformanceInfo
1899+
1900+ interface PerformanceCounters : Versioned
1901+ {
1902+ uint getCount();
1903+ uint getVectorCapacity();
1904+
1905+ uint getId(uint index);
1906+ const string getName(uint index);
1907+ const int64* getCounterVector(uint index);
1908+ }
1909+
1910+ interface PerformanceStats : Versioned
1911+ {
1912+ uint64 getElapsedTime(); // in milliseconds
1913+ uint64 getFetchedRecords();
1914+
1915+ PerformanceCounters getGlobalCounters();
1916+ PerformanceCounters getPageCounters();
1917+ PerformanceCounters getRelationCounters();
1918+ }
1919+
0 commit comments