summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2022-05-24 19:27:55 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2022-05-24 19:27:55 +0000
commitfbc5263e1a4fc2c78b55e1569025e66462e12b15 (patch)
tree55959a4d516518006ed68ba48387fd856b63120a
parentb284c3622419cac44a22c6392289b127e0528f29 (diff)
parent8dae06607c3ca449516ca2564d40a7174481c2ae (diff)
Merge "Updating nativeAsyncTraceForTrackEnd to not require a name argument"
-rw-r--r--core/java/android/os/Trace.java24
-rw-r--r--core/jni/android_os_Trace.cpp18
2 files changed, 26 insertions, 16 deletions
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java
index 231c22b03eb8..cf8695cccf0e 100644
--- a/core/java/android/os/Trace.java
+++ b/core/java/android/os/Trace.java
@@ -140,7 +140,7 @@ public final class Trace {
String trackName, String name, int cookie);
@FastNative
private static native void nativeAsyncTraceForTrackEnd(long tag,
- String trackName, String name, int cookie);
+ String trackName, int cookie);
@FastNative
private static native void nativeInstant(long tag, String name);
@FastNative
@@ -281,8 +281,10 @@ public final class Trace {
/**
* Writes a trace message to indicate that a given section of code has
* begun. Must be followed by a call to {@link #asyncTraceForTrackEnd} using the same
- * tag. This function operates exactly like {@link #asyncTraceBegin(long, String, int)},
+ * track name and cookie.
+ * This function operates exactly like {@link #asyncTraceBegin(long, String, int)},
* except with the inclusion of a track name argument for where this method should appear.
+ * The cookie must be unique on the trackName level, not the methodName level
*
* @param traceTag The trace tag.
* @param trackName The track where the event should appear in the trace.
@@ -302,19 +304,31 @@ public final class Trace {
* Writes a trace message to indicate that the current method has ended.
* Must be called exactly once for each call to
* {@link #asyncTraceForTrackBegin(long, String, String, int)}
- * using the same tag, track name, name and cookie.
+ * using the same tag, track name, and cookie.
*
* @param traceTag The trace tag.
* @param trackName The track where the event should appear in the trace.
- * @param methodName The method name to appear in the trace.
* @param cookie Unique identifier for distinguishing simultaneous events
*
* @hide
*/
public static void asyncTraceForTrackEnd(long traceTag,
+ @NonNull String trackName, int cookie) {
+ if (isTagEnabled(traceTag)) {
+ nativeAsyncTraceForTrackEnd(traceTag, trackName, cookie);
+ }
+ }
+
+ /**
+ * @deprecated use asyncTraceForTrackEnd without methodName argument
+ *
+ * @hide
+ */
+ @Deprecated
+ public static void asyncTraceForTrackEnd(long traceTag,
@NonNull String trackName, @NonNull String methodName, int cookie) {
if (isTagEnabled(traceTag)) {
- nativeAsyncTraceForTrackEnd(traceTag, trackName, methodName, cookie);
+ nativeAsyncTraceForTrackEnd(traceTag, trackName, cookie);
}
}
diff --git a/core/jni/android_os_Trace.cpp b/core/jni/android_os_Trace.cpp
index 734b6ca47660..1c61c7be4414 100644
--- a/core/jni/android_os_Trace.cpp
+++ b/core/jni/android_os_Trace.cpp
@@ -82,9 +82,8 @@ static void android_os_Trace_nativeAsyncTraceEnd(JNIEnv* env, jclass,
});
}
-static void android_os_Trace_nativeAsyncTraceForTrackBegin(JNIEnv* env, jclass, jlong tag,
- jstring trackStr, jstring nameStr,
- jint cookie) {
+static void android_os_Trace_nativeAsyncTraceForTrackBegin(JNIEnv* env, jclass,
+ jlong tag, jstring trackStr, jstring nameStr, jint cookie) {
withString(env, trackStr, [env, tag, nameStr, cookie](char* track) {
withString(env, nameStr, [tag, track, cookie](char* name) {
atrace_async_for_track_begin(tag, track, name, cookie);
@@ -92,13 +91,10 @@ static void android_os_Trace_nativeAsyncTraceForTrackBegin(JNIEnv* env, jclass,
});
}
-static void android_os_Trace_nativeAsyncTraceForTrackEnd(JNIEnv* env, jclass, jlong tag,
- jstring trackStr, jstring nameStr,
- jint cookie) {
- withString(env, trackStr, [env, tag, nameStr, cookie](char* track) {
- withString(env, nameStr, [tag, track, cookie](char* name) {
- atrace_async_for_track_end(tag, track, name, cookie);
- });
+static void android_os_Trace_nativeAsyncTraceForTrackEnd(JNIEnv* env, jclass,
+ jlong tag, jstring trackStr, jint cookie) {
+ withString(env, trackStr, [tag, cookie](char* track) {
+ atrace_async_for_track_end(tag, track, cookie);
});
}
@@ -156,7 +152,7 @@ static const JNINativeMethod gTraceMethods[] = {
"(JLjava/lang/String;Ljava/lang/String;I)V",
(void*)android_os_Trace_nativeAsyncTraceForTrackBegin },
{ "nativeAsyncTraceForTrackEnd",
- "(JLjava/lang/String;Ljava/lang/String;I)V",
+ "(JLjava/lang/String;I)V",
(void*)android_os_Trace_nativeAsyncTraceForTrackEnd },
{ "nativeInstant",
"(JLjava/lang/String;)V",