VirtualBox

Changeset 92419 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Nov 15, 2021 8:46:22 AM (3 years ago)
Author:
vboxsync
Message:

VMM/STAM: Added STAM_PROFILE_STOP_START and STAM_REL_PROFILE_STOP_START. bugref:10093 bugref:5324

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/stam.h

    r92387 r92419  
    803803
    804804
     805/** @def STAM_REL_PROFILE_STOP_START
     806 * Stops one profile counter (if running) and starts another one.
     807 *
     808 * @param   pProfile1   Pointer to the STAMPROFILE structure to stop.
     809 * @param   pProfile2   Pointer to the STAMPROFILE structure to start.
     810 * @param   Prefix      Identifier prefix used to internal variables.
     811 */
     812#ifndef VBOX_WITHOUT_RELEASE_STATISTICS
     813# define STAM_REL_PROFILE_STOP_START(pProfile1, pProfile2, Prefix) \
     814    do { \
     815        uint64_t Prefix##_tsStop; \
     816        STAM_GET_TS(Prefix##_tsStop); \
     817        STAM_REL_PROFILE_ADD_PERIOD(pProfile1, Prefix##_tsStop - Prefix##_tsStart); \
     818        Prefix##_tsStart = Prefix##_tsStop; \
     819    } while (0)
     820#else
     821# define STAM_REL_PROFILE_STOP_START(pProfile1, pProfile2, Prefix) \
     822    do { } while (0)
     823#endif
     824/** @def STAM_PROFILE_STOP_START
     825 * Samples the stop time of a profiling period (if running) and updates the
     826 * sample.
     827 *
     828 * @param   pProfile1   Pointer to the STAMPROFILE structure to stop.
     829 * @param   pProfile2   Pointer to the STAMPROFILE structure to start.
     830 * @param   Prefix      Identifier prefix used to internal variables.
     831 */
     832#ifdef VBOX_WITH_STATISTICS
     833# define STAM_PROFILE_STOP_START(pProfile1, pProfile2, Prefix) \
     834    STAM_REL_PROFILE_STOP_START(pProfile1, pProfile2, Prefix)
     835#else
     836# define STAM_PROFILE_STOP_START(pProfile1, pProfile2, Prefix) \
     837    do { } while (0)
     838#endif
     839
     840
    805841/** @def STAM_REL_PROFILE_START_NS
    806842 * Samples the start time of a profiling period, using RTTimeNanoTS().
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette