GEOS
MemoryStatsOutput.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
20 #ifndef GEOS_FILEIO_OUTPUTS_UMPIRESTATSOUTPUT_HPP_
21 #define GEOS_FILEIO_OUTPUTS_UMPIRESTATSOUTPUT_HPP_
22 
23 #include "OutputBase.hpp"
24 
25 
26 namespace geos
27 {
28 
32 class MemoryStatsOutput final : public OutputBase
33 {
34 public:
35 
37  MemoryStatsOutput( string const & name, Group * const parent );
38 
40  virtual ~MemoryStatsOutput() override
41  {}
42 
47  static string catalogName() { return "MemoryStats"; }
48 
53  virtual bool execute( real64 const time_n,
54  real64 const dt,
55  integer const cycleNumber,
56  integer const eventCounter,
57  real64 const eventProgress,
58  DomainPartition & domain ) override;
59 
61  struct viewKeysStruct : OutputBase::viewKeysStruct
62  {
63  static constexpr auto writeCSV = "writeCSV";
64  };
66 
67 protected:
68 
69  void postInputInitialization() override;
70 
74  logInfo::OutputTimerBase const & getTimerCategory() const override;
75 
76 private:
77 
78  // Flag to enable writing CSV output
79  integer m_writeCSV;
80 
81 };
82 
83 } /* namespace geos */
84 
85 #endif /* GEOS_FILEIO_OUTPUTS_UMPIRESTATSOUTPUT_HPP_ */
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
An output Task to control the logging of memory statistics.
MemoryStatsOutput(string const &name, Group *const parent)
Constructor.
virtual ~MemoryStatsOutput() override
Destructor.
static string catalogName()
Catalog name interface.
logInfo::OutputTimerBase const & getTimerCategory() const override
Get the timer category for this output type.
virtual bool execute(real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Writes out a set of vtk files.
void postInputInitialization() override
double real64
64-bit floating point type.
Definition: DataTypes.hpp:98
std::int32_t integer
Signed integer type.
Definition: DataTypes.hpp:81
Base interface for specific output type timers.
Definition: OutputBase.hpp:59
struct containing the view access keys to be bound with class data member