diff options
author | ulfjack <ulfjack@google.com> | 2018-06-11 06:00:36 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-11 06:01:34 -0700 |
commit | 4cf2ebdcef7b5d4c46e533a560642b89eb3f02a5 (patch) | |
tree | cf2b64cf0f82827955cb34ce7b188fc641b946d6 /src/main/java/com/google/devtools/build/lib/syntax | |
parent | c720152ec1936a537c9519d522d3cb41d19cff77 (diff) |
Add AutoProfiler-like API to Profiler
- migrate all startTask/completeTask pairs to the new API
PiperOrigin-RevId: 200038703
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
3 files changed, 8 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java index 8419e7fc64..27bf364385 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinCallable.java @@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.profiler.Profiler; import com.google.devtools.build.lib.profiler.ProfilerTask; +import com.google.devtools.build.lib.profiler.SilentCloseable; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.syntax.Environment.LexicalFrame; import com.google.devtools.build.lib.syntax.FuncallExpression.MethodDescriptor; @@ -123,14 +124,12 @@ public class BuiltinCallable extends BaseFunction { index++; } - Profiler.instance().startTask(ProfilerTask.SKYLARK_BUILTIN_FN, getName()); - - try { + try (SilentCloseable c = + Profiler.instance().profile(ProfilerTask.SKYLARK_BUILTIN_FN, getName())) { env.enterScope(this, SHARED_LEXICAL_FRAME_FOR_BUILTIN_METHOD_CALLS, ast, env.getGlobals()); return FuncallExpression.callMethod( descriptor, getName(), obj, args, ast.getLocation(), env); } finally { - Profiler.instance().completeTask(ProfilerTask.SKYLARK_BUILTIN_FN); env.exitScope(); } } diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java index 10a14a6631..03d24bd0a6 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java @@ -18,6 +18,7 @@ import com.google.common.base.Throwables; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.profiler.Profiler; import com.google.devtools.build.lib.profiler.ProfilerTask; +import com.google.devtools.build.lib.profiler.SilentCloseable; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.skylarkinterface.SkylarkSignature; import com.google.devtools.build.lib.syntax.Environment.LexicalFrame; @@ -166,9 +167,9 @@ public class BuiltinFunction extends BaseFunction { } } - Profiler.instance().startTask(ProfilerTask.SKYLARK_BUILTIN_FN, getName()); // Last but not least, actually make an inner call to the function with the resolved arguments. - try { + try (SilentCloseable c = + Profiler.instance().profile(ProfilerTask.SKYLARK_BUILTIN_FN, getName())) { env.enterScope(this, SHARED_LEXICAL_FRAME_FOR_BUILTIN_FUNCTION_CALLS, ast, env.getGlobals()); return invokeMethod.invoke(this, args); } catch (InvocationTargetException x) { @@ -208,7 +209,6 @@ public class BuiltinFunction extends BaseFunction { } catch (IllegalAccessException e) { throw badCallException(loc, e, args); } finally { - Profiler.instance().completeTask(ProfilerTask.SKYLARK_BUILTIN_FN); env.exitScope(); } } diff --git a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java index 4db184eceb..a892bda51b 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java @@ -18,6 +18,7 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.profiler.Profiler; import com.google.devtools.build.lib.profiler.ProfilerTask; +import com.google.devtools.build.lib.profiler.SilentCloseable; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.syntax.Environment.LexicalFrame; @@ -66,8 +67,7 @@ public class UserDefinedFunction extends BaseFunction { ImmutableList<String> names = signature.getSignature().getNames(); LexicalFrame lexicalFrame = LexicalFrame.createForUserDefinedFunctionCall(env.mutability(), /*numArgs=*/ names.size()); - try { - Profiler.instance().startTask(ProfilerTask.SKYLARK_USER_FN, getName()); + try (SilentCloseable c = Profiler.instance().profile(ProfilerTask.SKYLARK_USER_FN, getName())) { env.enterScope(this, lexicalFrame, ast, definitionGlobals); // Registering the functions's arguments as variables in the local Environment @@ -96,7 +96,6 @@ public class UserDefinedFunction extends BaseFunction { } return Runtime.NONE; } finally { - Profiler.instance().completeTask(ProfilerTask.SKYLARK_USER_FN); env.exitScope(); } } |