@@ -167,6 +167,10 @@ class UnifiedStatsReporter {
167
167
std::unique_ptr<StatsProfilers> EventProfilers;
168
168
std::unique_ptr<StatsProfilers> EntityProfilers;
169
169
170
+ // / Whether fine-grained timers are enabled. In practice, this means request
171
+ // / evaluator requests. This will have a runtime performance impact.
172
+ bool FineGrainedTimers;
173
+
170
174
// / Whether we are currently flushing statistics and should not therefore
171
175
// / record any additional stats until we've finished.
172
176
bool IsFlushingTracesAndProfiles;
@@ -179,6 +183,7 @@ class UnifiedStatsReporter {
179
183
StringRef Directory,
180
184
SourceManager *SM,
181
185
clang::SourceManager *CSM,
186
+ bool FineGrainedTimers,
182
187
bool TraceEvents,
183
188
bool ProfileEvents,
184
189
bool ProfileEntities);
@@ -190,13 +195,16 @@ class UnifiedStatsReporter {
190
195
StringRef OutputType,
191
196
StringRef OptType,
192
197
StringRef Directory,
193
- SourceManager *SM=nullptr ,
194
- clang::SourceManager *CSM=nullptr ,
195
- bool TraceEvents=false ,
196
- bool ProfileEvents=false ,
197
- bool ProfileEntities=false );
198
+ SourceManager *SM,
199
+ clang::SourceManager *CSM,
200
+ bool FineGrainedTimers,
201
+ bool TraceEvents,
202
+ bool ProfileEvents,
203
+ bool ProfileEntities);
198
204
~UnifiedStatsReporter ();
199
205
206
+ bool fineGrainedTimers () const { return FineGrainedTimers; }
207
+
200
208
AlwaysOnDriverCounters &getDriverCounters ();
201
209
AlwaysOnFrontendCounters &getFrontendCounters ();
202
210
void flushTracesAndProfiles ();
0 commit comments