Skip to content

Commit 5f0dd70

Browse files
committed
Tie Duration.log_execution_time into the viz timing code.
1 parent 3cbaf69 commit 5f0dd70

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

distribution/lib/Standard/Base/0.0.0-dev/src/Data/Time/Duration.enso

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -162,11 +162,12 @@ type Duration
162162
## Arguments
163163
- `function`: Function to execute.
164164
log_execution_time : Any -> Text -> Any
165-
log_execution_time ~function label="execution_time" =
166-
pair = Duration.time_execution function
167-
duration = pair.first
168-
Duration.log_message ("Execution time for " + label + ": " + duration.to_display_text) ..Info
169-
pair.second
165+
log_execution_time ~function label="execution_time" level:(Log_Level | Nothing)=Log_Level.viz_timing_level =
166+
if Nothing == level then function else
167+
pair = Duration.time_execution function
168+
duration = pair.first
169+
Duration.log_message ("Execution time for " + label + ": " + duration.to_display_text) level
170+
pair.second
170171

171172
## ---
172173
aliases: [add duration]

distribution/lib/Standard/Base/0.0.0-dev/src/Logging.enso

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,13 @@ type Log_Level
133133
## Severe level log message.
134134
Severe
135135

136+
## ---
137+
private: true
138+
---
139+
Check to see if the timing of visualization is enabled and log the message if it is.
140+
viz_timing_level -> (Log_Level | Nothing) =
141+
State.get Log_Level if_missing=_viz_timing_level
142+
136143
private log_impl logger ~message level args =
137144
builder = case level of
138145
Log_Level.Finest -> logger.atTrace
@@ -146,3 +153,11 @@ private log_impl logger ~message level args =
146153
builder.addArgument a
147154

148155
builder.log
156+
157+
private _viz_timing_level =
158+
case Environment.get "ENSO_TIME_VIZZES" of
159+
"warning" -> ..Warning
160+
"info" -> ..Info
161+
"debug" -> ..Fine
162+
"trace" -> ..Finest
163+
_ -> Nothing

distribution/lib/Standard/Visualization/0.0.0-dev/src/Helpers.enso

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -260,11 +260,7 @@ private time_visualization module ~name ~action =
260260
if result.is_error then module.log_message ("Visualization "+name+" failed (error): " + result.catch.to_text) ..Warning
261261
result
262262

263-
level = case Environment.get "ENSO_TIME_VIZZES" of
264-
Nothing -> Nothing
265-
"warning" -> ..Warning
266-
"info" -> ..Info
267-
_ -> ..Trace
263+
level = Log_Level.viz_timing_level
268264
if level . is_nothing then wrapped else
269265
pair = Duration.time_execution wrapped
270266
suffix = if pair.second.is_a Text then " length="+(Text_Utils.char_length pair.second).to_text else ""

0 commit comments

Comments
 (0)