Skip to content

Conversation

@dyemanov
Copy link
Member

  • Deprecate non-extendable PerformanceInfo struct in favor of the new PerformanceCounters/PerformanceStats interfaces
  • Adjust the trace implementation to the new API
  • Add internal support for per-pagespace I/O statistics. It's not used now, but will be used by PR Support for tablespaces #8314. This part is moved here to simplify review of the tablespaces.

…e PerformanceInfo struct in favor of the new PerformanceCounters/PerformanceStats interfaces. Adjust the trace implementation to the new API.
@dyemanov dyemanov self-assigned this Nov 22, 2025
@aafemt
Copy link
Contributor

aafemt commented Nov 22, 2025

Documentation is missing.

uint64 getElapsedTime(); // in milliseconds
uint64 getFetchedRecords();

PerformanceCounters getGlobalCounters();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you claim expandability, this must be one function with enum parameter: cGlobal, cPage, cRelation.

Copy link
Member Author

Choose a reason for hiding this comment

The 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.


uint getId(uint index);
const string getName(uint index);
const int64* getCounterVector(uint index);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TTL of returned value is...?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TTL of returned value is...?

It corresponds to the object TTL.

Copy link
Contributor

Choose a reason for hiding this comment

The 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 getRead, getWrites, getFetches, etc? In this case getVectorCapacity is not needed (I guess).

uint getVectorCapacity();

uint getId(uint index);
const string getName(uint index);
Copy link
Contributor

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?

Copy link
Member Author

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?

Object (table, tablespace, whatever) counters belong to. Would you suggest getObjectId() / getObjectName()?

Copy link
Contributor

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.

Copy link
Member Author

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.

Copy link
Contributor

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...

@dyemanov
Copy link
Member Author

Documentation is missing.

True, to be added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants