Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(871)

Unified Diff: appengine/findit/crash/fracas_crash_pipeline.py

Issue 2168173003: [Findit] Post-process findit-to-fracas results. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@2-face
Patch Set: Rebase. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | appengine/findit/crash/test/fracas_crash_pipeline_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/findit/crash/fracas_crash_pipeline.py
diff --git a/appengine/findit/crash/fracas_crash_pipeline.py b/appengine/findit/crash/fracas_crash_pipeline.py
index 0a55e7ad2f8623b6f838b66e9a35d8e0a9a29863..aed63f83f96f5c7e9ff88df428504fbadc1e7290 100644
--- a/appengine/findit/crash/fracas_crash_pipeline.py
+++ b/appengine/findit/crash/fracas_crash_pipeline.py
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import base64
+import copy
import datetime
import json
import logging
@@ -23,6 +24,8 @@ from model.crash.fracas_crash_analysis import FracasCrashAnalysis
# TODO(katesonia): Move these to config page.
_SIGNATURE_BLACKLIST_MARKERS = ['[Android Java Exception]']
_PLATFORM_RENAME = {'linux': 'unix'}
+_FINDIT_FEEDBACK_URL_TEMPLATE = ('https://findit-for-me.googleplex.com/crash/'
stgao 2016/08/18 18:30:46 The hostname should go to the config instead.
+ 'fracas-result-feedback?key=%s')
class FracasBasePipeline(BasePipeline):
@@ -80,14 +83,25 @@ class PublishResultPipeline(FracasBasePipeline):
logging.error('Failed to publish analysis result for %s',
repr(self.crash_identifiers))
- # Arguments number differs from overridden method - pylint: disable=W0221
- def run(self, crash_identifiers):
- analysis = FracasCrashAnalysis.Get(crash_identifiers)
- result = {
+ def PostProcessResults(self, analysis, crash_identifiers):
+ analysis_result = copy.deepcopy(analysis.result)
+ analysis_result['feedback_url'] = (_FINDIT_FEEDBACK_URL_TEMPLATE %
+ analysis.key.urlsafe())
+ if analysis_result['found']:
+ for cl in analysis_result['suspected_cls']:
+ cl['confidence'] = round(cl['confidence'], 2)
+ cl.pop('reason', None)
+
+ return {
'crash_identifiers': crash_identifiers,
'client_id': analysis.client_id,
- 'result': analysis.result,
+ 'result': analysis_result,
}
+
+ # Arguments number differs from overridden method - pylint: disable=W0221
+ def run(self, crash_identifiers):
+ analysis = FracasCrashAnalysis.Get(crash_identifiers)
+ result = self.PostProcessResults(analysis, crash_identifiers)
messages_data = [json.dumps(result, sort_keys=True)]
crash_config = CrashConfig.Get()
« no previous file with comments | « no previous file | appengine/findit/crash/test/fracas_crash_pipeline_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698