Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
ItemEnumeratorTracer.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* ItemEnumeratorTracer.h (C) 2000-2022 */
9/* */
10/* Trace les appels aux énumérateur sur les entités. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_IMPL_ITEMENUMERATORTRACER_H
13#define ARCANE_IMPL_ITEMENUMERATORTRACER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Ref.h"
19#include "arcane/utils/IPerformanceCounterService.h"
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arcane
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
32class ARCANE_IMPL_EXPORT ItemEnumeratorTracer
33: public TraceAccessor
35{
36 public:
37
39
40 public:
41
42 virtual ~ItemEnumeratorTracer();
43
44 public:
45
46 void enterEnumerator(const ItemEnumerator& e, EnumeratorTraceInfo& eti) override;
47 void exitEnumerator(const ItemEnumerator& e, EnumeratorTraceInfo& eti) override;
48 void enterEnumerator(const SimdItemEnumeratorBase& e, EnumeratorTraceInfo& eti) override;
49 void exitEnumerator(const SimdItemEnumeratorBase& e, EnumeratorTraceInfo& eti) override;
50
51 public:
52
53 void dumpStats() override;
54 IPerformanceCounterService* perfCounter() override { return m_perf_counter.get(); }
55 Ref<IPerformanceCounterService> perfCounterRef() override { return m_perf_counter; }
56
57 private:
58
59 Int64 m_nb_call = 0;
60 Int64 m_nb_loop = 0;
62 bool m_is_verbose = false;
63
64 private:
65
66 void _beginLoop(EnumeratorTraceInfo& eti);
67 void _endLoop(EnumeratorTraceInfo& eti);
68};
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
72
73} // namespace Arcane
74
75/*---------------------------------------------------------------------------*/
76/*---------------------------------------------------------------------------*/
77
78#endif
Informations pour les traces d'un énumérator.
Interface d'un traceur d'énumérateur sur les entités.
Interface d'un service d'accès aux compteurs de performance.
Interface d'un traceur d'énumérateur sur les entités.
Enumérateur sur une liste d'entités.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Classe de base des énumérateurs sur les entités vectortielles (SimdItem).
Definition SimdItem.h:376
Interface du gestionnaire de traces.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-