Merge "Updating nativeAsyncTraceForTrackEnd to not require a name argument" am: fbc5263e1a

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2078718

Change-Id: I0bb1651bb4c6f86fb86a4ba923a6da06086206f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2022-05-24 19:45:52 +00:00
committed by Automerger Merge Worker
2 changed files with 26 additions and 16 deletions

View File

@@ -140,7 +140,7 @@ public final class Trace {
String trackName, String name, int cookie); String trackName, String name, int cookie);
@FastNative @FastNative
private static native void nativeAsyncTraceForTrackEnd(long tag, private static native void nativeAsyncTraceForTrackEnd(long tag,
String trackName, String name, int cookie); String trackName, int cookie);
@FastNative @FastNative
private static native void nativeInstant(long tag, String name); private static native void nativeInstant(long tag, String name);
@FastNative @FastNative
@@ -281,8 +281,10 @@ public final class Trace {
/** /**
* Writes a trace message to indicate that a given section of code has * 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 * 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. * 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 traceTag The trace tag.
* @param trackName The track where the event should appear in the trace. * @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. * Writes a trace message to indicate that the current method has ended.
* Must be called exactly once for each call to * Must be called exactly once for each call to
* {@link #asyncTraceForTrackBegin(long, String, String, int)} * {@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 traceTag The trace tag.
* @param trackName The track where the event should appear in the trace. * @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 * @param cookie Unique identifier for distinguishing simultaneous events
* *
* @hide * @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, public static void asyncTraceForTrackEnd(long traceTag,
@NonNull String trackName, @NonNull String methodName, int cookie) { @NonNull String trackName, @NonNull String methodName, int cookie) {
if (isTagEnabled(traceTag)) { if (isTagEnabled(traceTag)) {
nativeAsyncTraceForTrackEnd(traceTag, trackName, methodName, cookie); nativeAsyncTraceForTrackEnd(traceTag, trackName, cookie);
} }
} }

View File

@@ -82,9 +82,8 @@ static void android_os_Trace_nativeAsyncTraceEnd(JNIEnv* env, jclass,
}); });
} }
static void android_os_Trace_nativeAsyncTraceForTrackBegin(JNIEnv* env, jclass, jlong tag, static void android_os_Trace_nativeAsyncTraceForTrackBegin(JNIEnv* env, jclass,
jstring trackStr, jstring nameStr, jlong tag, jstring trackStr, jstring nameStr, jint cookie) {
jint cookie) {
withString(env, trackStr, [env, tag, nameStr, cookie](char* track) { withString(env, trackStr, [env, tag, nameStr, cookie](char* track) {
withString(env, nameStr, [tag, track, cookie](char* name) { withString(env, nameStr, [tag, track, cookie](char* name) {
atrace_async_for_track_begin(tag, track, name, cookie); 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, static void android_os_Trace_nativeAsyncTraceForTrackEnd(JNIEnv* env, jclass,
jstring trackStr, jstring nameStr, jlong tag, jstring trackStr, jint cookie) {
jint cookie) { withString(env, trackStr, [tag, cookie](char* track) {
withString(env, trackStr, [env, tag, nameStr, cookie](char* track) { atrace_async_for_track_end(tag, track, cookie);
withString(env, nameStr, [tag, track, cookie](char* name) {
atrace_async_for_track_end(tag, track, name, cookie);
});
}); });
} }
@@ -156,7 +152,7 @@ static const JNINativeMethod gTraceMethods[] = {
"(JLjava/lang/String;Ljava/lang/String;I)V", "(JLjava/lang/String;Ljava/lang/String;I)V",
(void*)android_os_Trace_nativeAsyncTraceForTrackBegin }, (void*)android_os_Trace_nativeAsyncTraceForTrackBegin },
{ "nativeAsyncTraceForTrackEnd", { "nativeAsyncTraceForTrackEnd",
"(JLjava/lang/String;Ljava/lang/String;I)V", "(JLjava/lang/String;I)V",
(void*)android_os_Trace_nativeAsyncTraceForTrackEnd }, (void*)android_os_Trace_nativeAsyncTraceForTrackEnd },
{ "nativeInstant", { "nativeInstant",
"(JLjava/lang/String;)V", "(JLjava/lang/String;)V",