Details
-
Improvement
-
Status: Resolved
-
Not specified
-
Resolution: Fixed
-
None
-
None
Description
There are several places that call MTIME_SECTION to time sections:
/home/gavin/dev/hpcc/system/jhtree/ctfile.cpp 616,13: MTIME_SECTION(queryActiveTimer(), "Compressed node expand"); 629,13: MTIME_SECTION(queryActiveTimer(), "COL_PREFIX expand"); 726,13: MTIME_SECTION(queryActiveTimer(), "NO compression copy"); 862,13: MTIME_SECTION(queryActiveTimer(), "JHTREE read index node"); 867,13: MTIME_SECTION(queryActiveTimer(), "JHTREE load index node"); /home/gavin/dev/hpcc/system/jhtree/jhtree.cpp 821,9: MTIME_SECTION(queryActiveTimer(), "CKeyStore_load"); 1088,5: MTIME_SECTION(queryActiveTimer(), "JHTREE read node"); 1122,5: MTIME_SECTION(queryActiveTimer(), "JHTREE read node"); 1173,13: MTIME_SECTION(queryActiveTimer(), "JHTREE load
These are then periodically logged. However this is painful for a couple of reasons:
- Each timer takes ~40ns (to read the cycle count twice)
- Each time the time is recorded it locks a critical section and then looks an entry up in a hash table. This creates several potential sequence points loading index nodes.
I don't think these values are ever examined - the values returned to the context are much more useful.
If these values were ever required they should be re-implemented using the metrics framework.