diff options
author | Will Osborn <willosborn@google.com> | 2019-03-27 14:33:56 +0000 |
---|---|---|
committer | Will Osborn <willosborn@google.com> | 2019-03-27 16:07:45 +0000 |
commit | a83c4fb3651f9e93719b82808136b68e7a31317f (patch) | |
tree | 5601c339b75b122895434ff4cbc4a32c7a3e0a98 | |
parent | b151d03bdb2dc5def2045c2ce9bfc9714918734f (diff) | |
download | gamesdk-a83c4fb3651f9e93719b82808136b68e7a31317f.tar.gz |
Fill session_id and add tuningfork_version to upload proto
Test: build and run tftestapp
Bug: 123925168
Bug: 128986198
Change-Id: I8c19fa856be0fb4c58ea507a956937c5283e8ae2
-rw-r--r-- | include/tuningfork/tuningfork.h | 4 | ||||
-rw-r--r-- | samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp | 2 | ||||
-rw-r--r-- | samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp | 3 | ||||
-rw-r--r-- | src/tuningfork/clearcutserializer.cpp | 2 | ||||
-rw-r--r-- | src/tuningfork/proto/tuningfork_clearcut_log.proto | 3 | ||||
-rw-r--r-- | src/tuningfork/tuningfork_internal.h | 1 | ||||
-rw-r--r-- | src/tuningfork/tuningfork_utils.cpp | 13 | ||||
-rw-r--r-- | src/tuningfork/tuningfork_utils.h | 3 | ||||
-rw-r--r-- | src/tuningfork/uploadthread.cpp | 5 |
9 files changed, 35 insertions, 1 deletions
diff --git a/include/tuningfork/tuningfork.h b/include/tuningfork/tuningfork.h index 4b26fa1f..24ff52f1 100644 --- a/include/tuningfork/tuningfork.h +++ b/include/tuningfork/tuningfork.h @@ -19,6 +19,10 @@ #include <stdint.h> #include <jni.h> +#define TUNINGFORK_MAJOR_VERSION 0 +#define TUNINGFORK_MINOR_VERSION 1 +#define TUNINGFORK_PACKED_VERSION ((TUNINGFORK_MAJOR_VERSION<<16)|(TUNINGFORK_MINOR_VERSION)) + // These are reserved instrumentation keys enum { TFTICK_SYSCPU = 0, diff --git a/samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp b/samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp index e1c0197d..d8803b52 100644 --- a/samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp +++ b/samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp @@ -48,7 +48,7 @@ void Renderer::setWindow(ANativeWindow *window, int32_t width, int32_t height) { enqueue([=](State* state) { state->clearSurface(); - ALOGE("Creating window surface %dx%d", width, height); + ALOGI("Creating window surface %dx%d", width, height); if (!window) return; diff --git a/samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp b/samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp index e160f120..7b18e29e 100644 --- a/samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp +++ b/samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp @@ -116,6 +116,9 @@ std::string PrettyPrintTuningForkLogEvent(const TuningForkLogEvent& evt) { if (evt.has_apk_version_code()) { eventStr << " apk_version_code : " << evt.apk_version_code() << "\n"; } + if (evt.has_tuningfork_version()) { + eventStr << " tuningfork_version : " << evt.tuningfork_version() << "\n"; + } eventStr << "}"; return eventStr.str(); } diff --git a/src/tuningfork/clearcutserializer.cpp b/src/tuningfork/clearcutserializer.cpp index 481e042b..c3968feb 100644 --- a/src/tuningfork/clearcutserializer.cpp +++ b/src/tuningfork/clearcutserializer.cpp @@ -136,6 +136,8 @@ void ClearcutSerializer::FillExtras(const ExtraUploadInfo& info, evt.apk_package_name.arg = (void*)&info.apk_package_name; evt.has_apk_version_code = true; evt.apk_version_code = info.apk_version_code; + evt.has_tuningfork_version = true; + evt.tuningfork_version = info.tuningfork_version; } void ClearcutSerializer::FillHistograms(const ProngCache& pc, TuningForkLogEvent &evt) { diff --git a/src/tuningfork/proto/tuningfork_clearcut_log.proto b/src/tuningfork/proto/tuningfork_clearcut_log.proto index 648bdd51..813914c3 100644 --- a/src/tuningfork/proto/tuningfork_clearcut_log.proto +++ b/src/tuningfork/proto/tuningfork_clearcut_log.proto @@ -48,6 +48,9 @@ message TuningForkLogEvent { // Version code from APK manifest. optional int32 apk_version_code = 7; + + // Tuning fork version (upper 16 bits: major, lower 16 bits minor) + optional int32 tuningfork_version = 8; } message TuningForkHistogram { diff --git a/src/tuningfork/tuningfork_internal.h b/src/tuningfork/tuningfork_internal.h index 9ccc0ad0..32822495 100644 --- a/src/tuningfork/tuningfork_internal.h +++ b/src/tuningfork/tuningfork_internal.h @@ -74,6 +74,7 @@ struct ExtraUploadInfo { std::vector<uint64_t> cpu_max_freq_hz; std::string apk_package_name; int apk_version_code; + int tuningfork_version; }; class Backend { diff --git a/src/tuningfork/tuningfork_utils.cpp b/src/tuningfork/tuningfork_utils.cpp index 7894e48e..7158d65a 100644 --- a/src/tuningfork/tuningfork_utils.cpp +++ b/src/tuningfork/tuningfork_utils.cpp @@ -139,4 +139,17 @@ namespace file_utils { } // namespace file_utils +std::string UniqueId(JNIEnv* env) { + jclass uuid_class = env->FindClass("java/util/UUID"); + jmethodID randomUUID = env->GetStaticMethodID( uuid_class, "randomUUID", + "()Ljava/util/UUID;"); + jobject uuid = env->CallStaticObjectMethod(uuid_class, randomUUID); + jmethodID toString = env->GetMethodID( uuid_class, "toString", "()Ljava/lang/String;"); + jstring uuid_string = (jstring)env->CallObjectMethod(uuid, toString); + const char *uuid_chars = env->GetStringUTFChars( uuid_string, NULL ); + std::string temp_uuid( uuid_chars ); + env->ReleaseStringUTFChars( uuid_string, uuid_chars ); + return temp_uuid; +} + } // namespace tuningfork diff --git a/src/tuningfork/tuningfork_utils.h b/src/tuningfork/tuningfork_utils.h index ef16f849..63df2857 100644 --- a/src/tuningfork/tuningfork_utils.h +++ b/src/tuningfork/tuningfork_utils.h @@ -49,4 +49,7 @@ namespace file_utils { } // namespace file_utils +// Get a unique identifier using java.util.UUID +std::string UniqueId(JNIEnv* env); + } // namespace tuningfork diff --git a/src/tuningfork/uploadthread.cpp b/src/tuningfork/uploadthread.cpp index 12d0c3db..77072cad 100644 --- a/src/tuningfork/uploadthread.cpp +++ b/src/tuningfork/uploadthread.cpp @@ -186,6 +186,8 @@ ExtraUploadInfo UploadThread::GetExtraUploadInfo(JNIEnv* env, jobject activity) extra_info.build_version_sdk = getSystemPropViaGet("ro.build.version.sdk"); extra_info.build_fingerprint = getSystemPropViaGet("ro.build.fingerprint"); + extra_info.session_id = UniqueId(env); + extra_info.cpu_max_freq_hz.clear(); for(int index = 1;;++index) { std::stringstream str; @@ -202,6 +204,9 @@ ExtraUploadInfo UploadThread::GetExtraUploadInfo(JNIEnv* env, jobject activity) extra_info.apk_version_code = apk_utils::GetVersionCode(env, activity, &extra_info.apk_package_name); + + extra_info.tuningfork_version = TUNINGFORK_PACKED_VERSION; + return extra_info; } |