MCPcopy Create free account
hub / github.com/Compaile/ctrack / detail_stats

Class detail_stats

include/ctrack.hpp:750–783  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

748 };
749
750 struct detail_stats
751 {
752 // Info fields
753 std::string filename;
754 std::string function_name;
755 int line{};
756 std::chrono::nanoseconds time_acc{}; // Simple sum of all execution times (can exceed wall clock in MT)
757 std::chrono::nanoseconds sd{}; // Standard deviation
758 double cv{}; // Coefficient of variation (sd/mean)
759 int calls{}; // Total number of calls
760 int threads{}; // Number of different threads that called this function
761
762 // Summary-like fields (for unified access)
763 double percent_ae_bracket{}; // ae[center]% as percentage of total time
764 double percent_ae_all{}; // ae[0-100]% as percentage of total time
765 std::chrono::nanoseconds time_ae_all{}; // Active exclusive time (wall clock minus child functions)
766 std::chrono::nanoseconds time_a_all{}; // Active time (actual wall clock time, handles MT overlap)
767
768 // Fastest/Center/Slowest stats
769 std::chrono::nanoseconds fastest_min{};
770 std::chrono::nanoseconds fastest_mean{};
771 std::chrono::nanoseconds center_min{};
772 std::chrono::nanoseconds center_mean{};
773 std::chrono::nanoseconds center_med{};
774 std::chrono::nanoseconds center_time_a{}; // Active time for center range
775 std::chrono::nanoseconds center_time_ae{}; // Active exclusive time for center range
776 std::chrono::nanoseconds center_max{};
777 std::chrono::nanoseconds slowest_mean{};
778 std::chrono::nanoseconds slowest_max{};
779
780 // Percentile ranges for reference
781 unsigned int fastest_range{};
782 unsigned int slowest_range{};
783 };
784
785 struct detail_table
786 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected