diff options
author | gunsch <gunsch@chromium.org> | 2015-02-19 19:06:45 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-20 03:07:19 +0000 |
commit | 60ae9468add0f6a2562c52000dbae0eea546790b (patch) | |
tree | 2bb323c7179103c410764a16049553763a7489e6 /chromecast/crash | |
parent | 76f753525569b431b85521ca7d3c6648d48ffb52 (diff) | |
download | chromium_src-60ae9468add0f6a2562c52000dbae0eea546790b.zip chromium_src-60ae9468add0f6a2562c52000dbae0eea546790b.tar.gz chromium_src-60ae9468add0f6a2562c52000dbae0eea546790b.tar.bz2 |
Chromecast: tighten cases for uploading crash dumps to prod server.
After discussion with gogan@ about Cast on ATV crashes, one thing we
discovered was the amount of non-public/non-dogfood crashes polluting
the crash data.
R=kjoswiak@chromium.org,byungchul@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/820883003
Cr-Commit-Position: refs/heads/master@{#317225}
Diffstat (limited to 'chromecast/crash')
-rw-r--r-- | chromecast/crash/android/crash_handler.cc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/chromecast/crash/android/crash_handler.cc b/chromecast/crash/android/crash_handler.cc index a73e313..4198764 100644 --- a/chromecast/crash/android/crash_handler.cc +++ b/chromecast/crash/android/crash_handler.cc @@ -5,12 +5,14 @@ #include "chromecast/crash/android/crash_handler.h" #include <jni.h> +#include <stdlib.h> #include <string> #include "base/android/jni_android.h" #include "base/android/jni_string.h" #include "base/files/file_path.h" #include "base/logging.h" +#include "base/strings/string_number_conversions.h" #include "breakpad/src/client/linux/handler/exception_handler.h" #include "breakpad/src/client/linux/handler/minidump_descriptor.h" #include "chromecast/common/version.h" @@ -40,6 +42,19 @@ bool HandleCrash(const void* /* crash_context */, return false; } +// Debug builds: always to crash-staging +// Release builds: only to crash-staging for local/invalid build numbers +bool UploadCrashToStaging() { +#if CAST_IS_DEBUG_BUILD + return true; +#else + int build_number; + if (base::StringToInt(CAST_BUILD_REVISION, &build_number)) + return build_number == 0; + return true; +#endif +} + } // namespace namespace chromecast { @@ -119,7 +134,7 @@ void CrashHandler::AttemptUploadCrashDump() { env, crash_dump_path_java.obj(), log_file_path_java.obj(), - CAST_IS_DEBUG_BUILD); + UploadCrashToStaging()); } void CrashHandler::UploadCrashDumpsAsync() { @@ -129,7 +144,7 @@ void CrashHandler::UploadCrashDumpsAsync() { crash_dump_path_.value()); Java_CastCrashHandler_uploadCrashDumpsAsync(env, crash_dump_path_java.obj(), - CAST_IS_DEBUG_BUILD); + UploadCrashToStaging()); } void CrashHandler::RemoveCrashDumps() { @@ -139,7 +154,7 @@ void CrashHandler::RemoveCrashDumps() { base::android::ConvertUTF8ToJavaString(env, crash_dump_path_.value()); Java_CastCrashHandler_removeCrashDumpsSync( - env, crash_dump_path_java.obj(), CAST_IS_DEBUG_BUILD); + env, crash_dump_path_java.obj(), UploadCrashToStaging()); } } // namespace chromecast |