LCOV - code coverage report
Current view: top level - include/reporters - PerfGraphReporter.h (source / functions) Hit Total Coverage
Test: idaholab/moose framework: 2bf808 Lines: 7 7 100.0 %
Date: 2025-07-17 01:28:37 Functions: 5 5 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //* This file is part of the MOOSE framework
       2             : //* https://mooseframework.inl.gov
       3             : //*
       4             : //* All rights reserved, see COPYRIGHT for full restrictions
       5             : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
       6             : //*
       7             : //* Licensed under LGPL 2.1, please see LICENSE for details
       8             : //* https://www.gnu.org/licenses/lgpl-2.1.html
       9             : 
      10             : #pragma once
      11             : 
      12             : #include "GeneralReporter.h"
      13             : 
      14             : class PerfNode;
      15             : class PerfGraph;
      16             : 
      17             : /**
      18             :  * Reports the full graph from the PerfGraph
      19             :  */
      20             : class PerfGraphReporter : public GeneralReporter
      21             : {
      22             : public:
      23             :   static InputParameters validParams();
      24             : 
      25             :   PerfGraphReporter(const InputParameters & parameters);
      26             : 
      27          43 :   void initialize() override {}
      28          43 :   void finalize() override {}
      29          43 :   void execute() override {}
      30             : 
      31             : private:
      32             :   const PerfGraph * const & _graph;
      33             : };
      34             : 
      35             : void to_json(nlohmann::json & json, const PerfGraph * const & perf_graph);
      36             : void to_json(nlohmann::json & json, const PerfNode & node);
      37             : 
      38             : /**
      39             :  * Store and load methods for const PerfGraph *, used in the PerfGraphReporter,
      40             :  * which does nothing.
      41             :  *
      42             :  * They do nothing because the recover capability is retained in the
      43             :  * PerfGraph itself, which will recover and append a previously ran
      44             :  * graph to the current PerfGraph.
      45             :  */
      46             : ///@{
      47             : void
      48          13 : dataStore(std::ostream &, const PerfGraph *&, void *)
      49             : {
      50          13 : }
      51             : void
      52          13 : dataLoad(std::istream &, const PerfGraph *&, void *)
      53             : {
      54          13 : }
      55             : ///@}

Generated by: LCOV version 1.14