aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Osborn <willosborn@google.com>2019-03-27 14:33:56 +0000
committerWill Osborn <willosborn@google.com>2019-03-27 16:07:45 +0000
commita83c4fb3651f9e93719b82808136b68e7a31317f (patch)
tree5601c339b75b122895434ff4cbc4a32c7a3e0a98
parentb151d03bdb2dc5def2045c2ce9bfc9714918734f (diff)
downloadgamesdk-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.h4
-rw-r--r--samples/tuningfork/tftestapp/app/src/main/cpp/Renderer.cpp2
-rw-r--r--samples/tuningfork/tftestapp/app/src/main/cpp/tftestapp.cpp3
-rw-r--r--src/tuningfork/clearcutserializer.cpp2
-rw-r--r--src/tuningfork/proto/tuningfork_clearcut_log.proto3
-rw-r--r--src/tuningfork/tuningfork_internal.h1
-rw-r--r--src/tuningfork/tuningfork_utils.cpp13
-rw-r--r--src/tuningfork/tuningfork_utils.h3
-rw-r--r--src/tuningfork/uploadthread.cpp5
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;
}