-
-
Notifications
You must be signed in to change notification settings - Fork 262
Per pagespace I/O statistics and new trace API interfaces to allow extendable statistics #8808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1364,6 +1364,9 @@ interface TraceTransaction : Versioned | |
| version: // 3.0.4 -> 3.0.5 | ||
| int64 getInitialID(); | ||
| int64 getPreviousID(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceParams : Versioned | ||
|
|
@@ -1379,6 +1382,9 @@ interface TraceStatement : Versioned | |
| { | ||
| int64 getStmtID(); | ||
| PerformanceInfo* getPerf(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceSQLStatement : TraceStatement | ||
|
|
@@ -1421,6 +1427,9 @@ version: // 4.0 -> 5.0 | |
| int64 getStmtID(); | ||
| const string getPlan(); | ||
| const string getExplainedPlan(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceFunction : Versioned | ||
|
|
@@ -1434,6 +1443,9 @@ version: // 4.0 -> 5.0 | |
| int64 getStmtID(); | ||
| const string getPlan(); | ||
| const string getExplainedPlan(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceTrigger : Versioned | ||
|
|
@@ -1456,6 +1468,9 @@ version: // 4.0 -> 5.0 | |
| int64 getStmtID(); | ||
| const string getPlan(); | ||
| const string getExplainedPlan(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceServiceConnection : TraceConnection | ||
|
|
@@ -1480,6 +1495,9 @@ interface TraceSweepInfo : Versioned | |
| int64 getOAT(); | ||
| int64 getNext(); | ||
| PerformanceInfo* getPerf(); | ||
|
|
||
| version: // 5.0 -> 6.0 | ||
| PerformanceStats getPerfStats(); | ||
| } | ||
|
|
||
| interface TraceLogWriter : ReferenceCounted | ||
|
|
@@ -1876,3 +1894,26 @@ interface ProfilerStats : Versioned | |
| { | ||
| uint64 getElapsedTicks(); | ||
| } | ||
|
|
||
| // Extendable replacement for struct PerformanceInfo | ||
|
|
||
| interface PerformanceCounters : Versioned | ||
| { | ||
| uint getCount(); | ||
| uint getVectorCapacity(); | ||
|
|
||
| uint getId(uint index); | ||
| const string getName(uint index); | ||
| const int64* getCounterVector(uint index); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TTL of returned value is...?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
It corresponds to the object TTL.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well... Returning of a plain array is simple and effective, but doesn't quite fit the ideology of OO API. How about returning of another object with methods |
||
| } | ||
|
|
||
| interface PerformanceStats : Versioned | ||
| { | ||
| uint64 getElapsedTime(); // in milliseconds | ||
| uint64 getFetchedRecords(); | ||
|
|
||
| PerformanceCounters getGlobalCounters(); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you claim expandability, this must be one function with enum parameter:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can easily add more functions to extend the interface. But I may agree a single function would be simpler. |
||
| PerformanceCounters getPageCounters(); | ||
| PerformanceCounters getRelationCounters(); | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ID and name of... what?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Object (table, tablespace, whatever) counters belong to. Would you suggest
getObjectId() / getObjectName()?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, I just wonder what these methods shall return for Global and Page counters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing (zero) for global, valid id/name otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps, it could be useful to return hardcoded "Global" and "Pages" in these cases...