Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
ITimeMetricCollector.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ITimeMetricCollector.h (C) 2000-2025 */
9/* */
10/* Interface managing statistics on execution times. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_TRACE_ITIMEMETRICCOLLECTOR_H
13#define ARCCORE_TRACE_ITIMEMETRICCOLLECTOR_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/trace/TraceGlobal.h"
18#include "arccore/base/String.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23/*
24 * API under definition. Do not use outside of Arccore/Arcane.
25 */
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
36class ARCCORE_TRACE_EXPORT ITimeMetricCollector
37{
38 public:
39 public:
40
41 // Releases resources.
42 virtual ~ITimeMetricCollector() = default;
43
44 public:
45
46 virtual TimeMetricAction getAction(const TimeMetricActionBuildInfo& x) = 0;
47 virtual TimeMetricId beginAction(const TimeMetricAction& handle) = 0;
48 virtual void endAction(const TimeMetricId& metric_id) = 0;
49};
50
51/*---------------------------------------------------------------------------*/
52/*---------------------------------------------------------------------------*/
53
54} // namespace Arcane
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58
59#endif
Interface managing statistics on execution.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --