aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvelina Dumitrescu <evelinad@google.com>2016-10-20 17:14:29 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-02-01 18:13:44 -0800
commit45a52fb3586d4fbaf6ffc5f3595ae417b5d148be (patch)
tree323ebf5fcc63acad1003b58d73302565d5a98f84
parent45478f9b3c3d0068eed177df6524c0e7f00a736c (diff)
downloadtoolchain-utils-45a52fb3586d4fbaf6ffc5f3595ae417b5d148be.tar.gz
user_activity: Fix regression in the benchmark_metrics_expriment.
The child fractions were not computed correctly after I updated the extracted fields from the data collection scripts. BUG=None TEST=None Change-Id: I8e672e0c245696e3351f1be9a3b391f46accea9f Reviewed-on: https://chrome-internal-review.googlesource.com/298619 Commit-Queue: Evelina Dumitrescu <evelinad@google.com> Tested-by: Evelina Dumitrescu <evelinad@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org> Reviewed-by: Evelina Dumitrescu <evelinad@google.com> Reviewed-by: George Burgess <gbiv@google.com> Reviewed-on: https://chromium-review.googlesource.com/435918 Commit-Ready: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org>
-rwxr-xr-xuser_activity_benchmarks/benchmark_metrics_experiment.py31
-rwxr-xr-xuser_activity_benchmarks/benchmark_metrics_experiment_unittest.py8
2 files changed, 24 insertions, 15 deletions
diff --git a/user_activity_benchmarks/benchmark_metrics_experiment.py b/user_activity_benchmarks/benchmark_metrics_experiment.py
index b21dfad8..e8152e74 100755
--- a/user_activity_benchmarks/benchmark_metrics_experiment.py
+++ b/user_activity_benchmarks/benchmark_metrics_experiment.py
@@ -23,11 +23,7 @@ the functions matching the group. The output is stored in the file
cwp_function_groups_statistics_file.
"""
-from collections import defaultdict
-
import argparse
-import csv
-import os
import sys
import benchmark_metrics
@@ -85,14 +81,28 @@ class MetricsExperiment(object):
inclusive_statistics_reference = \
utils.ParseCWPInclusiveCountFile(self._cwp_inclusive_reference)
+ inclusive_statistics_cum_reference = \
+ utils.ComputeCWPCummulativeInclusiveStatistics(
+ inclusive_statistics_reference)
inclusive_statistics_test = \
utils.ParseCWPInclusiveCountFile(self._cwp_inclusive_test)
+ inclusive_statistics_cum_test = \
+ utils.ComputeCWPCummulativeInclusiveStatistics(
+ inclusive_statistics_test)
pairwise_inclusive_statistics_reference = \
utils.ParseCWPPairwiseInclusiveCountFile(
self._cwp_pairwise_inclusive_reference)
+ pairwise_inclusive_fractions_reference = \
+ utils.ComputeCWPChildFunctionsFractions(
+ inclusive_statistics_cum_reference,
+ pairwise_inclusive_statistics_reference)
pairwise_inclusive_statistics_test = \
utils.ParseCWPPairwiseInclusiveCountFile(
self._cwp_pairwise_inclusive_test)
+ pairwise_inclusive_fractions_test = \
+ utils.ComputeCWPChildFunctionsFractions(
+ inclusive_statistics_cum_test,
+ pairwise_inclusive_statistics_test)
parent_function_statistics = {}
with open(self._cwp_function_groups_file) as input_file:
@@ -100,21 +110,20 @@ class MetricsExperiment(object):
for parent_function_key, parent_function_statistics_test \
in inclusive_statistics_test.iteritems():
- parent_function_name, parent_function_file_name = \
- parent_function_key.split(',')
+ parent_function_name, _ = parent_function_key.split(',')
parent_function_fraction_test = parent_function_statistics_test[2]
parent_function_fraction_reference = \
inclusive_statistics_reference[parent_function_key][2]
- child_functions_statistics_test = \
- pairwise_inclusive_statistics_test.get(parent_function_name, {})
+ child_functions_fractions_test = \
+ pairwise_inclusive_fractions_test.get(parent_function_name, {})
- child_functions_statistics_reference = \
- pairwise_inclusive_statistics_reference.get(parent_function_name, {})
+ child_functions_fractions_reference = \
+ pairwise_inclusive_fractions_reference.get(parent_function_name, {})
distance = benchmark_metrics.ComputeDistanceForFunction(
- child_functions_statistics_test, child_functions_statistics_reference)
+ child_functions_fractions_test, child_functions_fractions_reference)
parent_function_score_test = benchmark_metrics.ComputeScoreForFunction(
distance, parent_function_fraction_test,
diff --git a/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py b/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py
index dc5cefd5..c4755efe 100755
--- a/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py
+++ b/user_activity_benchmarks/benchmark_metrics_experiment_unittest.py
@@ -5,7 +5,6 @@
# found in the LICENSE file.
"""Unit tests for the benchmark_metrics_experiment module."""
-import mock
import os
import tempfile
import unittest
@@ -43,20 +42,21 @@ class MetricsExperimentTest(unittest.TestCase):
os.close(function_statistics_file)
+
expected_group_statistics_lines = \
['group,file_path,function_count,distance_cum,distance_avg,score_cum,'
'score_avg\n',
- 'ab,/a/b,2.0,3.16,1.58,7.52435897436,3.76217948718\n',
+ 'ab,/a/b,2.0,3.01,1.505,8.26344228895,4.13172114448\n',
'e,/e,2.0,2.0,1.0,27.5,13.75\n',
'cd,/c/d,2.0,2.0,1.0,27.5,13.75']
expected_function_statistics_lines = \
['function,file,distance,score\n',
'func_i,/c/d/file_i,1.0,17.6\n',
'func_j,/e/file_j,1.0,27.5\n',
- 'func_f,/a/b/file_f,1.56,1.47435897436\n',
+ 'func_f,/a/b/file_f,1.59,1.4465408805\n',
'func_h,/c/d/file_h,1.0,9.9\n',
'func_k,/e/file_k,1.0,0.0\n',
- 'func_g,/a/b/file_g,1.6,6.05']
+ 'func_g,/a/b/file_g,1.42,6.81690140845']
metric_experiment = \
MetricsExperiment(self._pairwise_inclusive_count_reference_file,
self._pairwise_inclusive_count_test_file,