Compare commits

..

2 commits

Author SHA1 Message Date
Vadim
df4a847b57 baseline 2023-10-02 15:37:05 +02:00
Vadim
6dca7550b3 typo 2023-10-02 13:50:38 +02:00
6 changed files with 27 additions and 57 deletions

View file

@ -1,51 +1,13 @@
timeline_name="$1" timeline_name="$1"
csv_filename="$2"
if [[ -n "$timeline_name" ]]; then if [[ -n "$timeline_name" ]]; then
if [[ -z "$csv_filename" ]]; then
csv_filename="${timeline_name}"
fi
echo "====== Extracting & merging ${timeline_name} timelines ======" echo "====== Extracting & merging ${timeline_name} timelines ======"
echo "" >>${csv_filename}.csv
echo "${timeline_name}" >>${csv_filename}.csv
extent_micros="timeExtentMicros"
timelines=$(find ./build -maxdepth 1 -name "${timeline_name}*.timeline.json" -print) timelines=$(find ./build -maxdepth 1 -name "${timeline_name}*.timeline.json" -print)
for i in "${timelines[@]}"; do dart run /Users/vodemn/Documents/GitHub/timeline_compare/bin/merge_timelines.dart $timelines
benchextract $i
extent_micros+="$(grep -A0 -h '"timeExtentMicros":' $i | grep -o " [0-9]*")"
done
echo $extent_micros | tr ' ' ',' >>${csv_filename}.csv
metrics=( summaries=$(find ./build -maxdepth 1 -name "${timeline_name}*.timeline_summary.json" -print)
"average_frame_build_time_millis" dart run /Users/vodemn/Documents/GitHub/timeline_compare/bin/merge_timeline_summaries.dart $summaries
"90th_percentile_frame_build_time_millis"
"99th_percentile_frame_build_time_millis"
"worst_frame_build_time_millis"
"average_rasterizer_time_millis"
"90th_percentile_rasterizer_time_millis"
"99th_percentile_rasterizer_time_millis"
"worst_frame_rasterizer_time_millis"
)
timeline_summaries=$(find ./build -maxdepth 1 -name "${timeline_name}*.timeline_summary.json" -print)
for i in "${timeline_summaries[@]}"; do
metrics[0]+="$(grep -A0 -h '"average_frame_build_time_millis":' $i | grep -o " [0-9.]*")"
metrics[1]+="$(grep -A0 -h '"90th_percentile_frame_build_time_millis":' $i | grep -o " [0-9.]*")"
metrics[2]+="$(grep -A0 -h '"99th_percentile_frame_build_time_millis":' $i | grep -o " [0-9.]*")"
metrics[3]+="$(grep -A0 -h '"worst_frame_build_time_millis":' $i | grep -o " [0-9.]*")"
metrics[4]+="$(grep -A0 -h '"average_frame_rasterizer_time_millis":' $i | grep -o " [0-9.]*")"
metrics[5]+="$(grep -A0 -h '"90th_percentile_frame_rasterizer_time_millis":' $i | grep -o " [0-9.]*")"
metrics[6]+="$(grep -A0 -h '"99th_percentile_frame_rasterizer_time_millis":' $i | grep -o " [0-9.]*")"
metrics[7]+="$(grep -A0 -h '"worst_frame_rasterizer_time_millis":' $i | grep -o " [0-9.]*")"
done
for metric in "${metrics[@]}"; do
echo $metric | tr ' ' ',' >>${csv_filename}.csv
done
benchmarks=$(find ./build -maxdepth 1 -name "${timeline_name}*.timeline.benchmark" -print)
benchmerge $benchmarks
else else
echo "Provide the timeline name" echo "Provide the timeline name"
fi fi

View file

@ -24,7 +24,6 @@ import 'package:lightmeter/screens/metering/components/shared/readings_container
import 'package:lightmeter/screens/metering/components/shared/readings_container/components/shared/animated_dialog_picker/components/dialog_picker/widget_picker_dialog.dart'; import 'package:lightmeter/screens/metering/components/shared/readings_container/components/shared/animated_dialog_picker/components/dialog_picker/widget_picker_dialog.dart';
import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/components/equipment_profile_container/widget_container_equipment_profile.dart'; import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/components/equipment_profile_container/widget_container_equipment_profile.dart';
import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/screen_equipment_profile.dart'; import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/screen_equipment_profile.dart';
import 'package:lightmeter/screens/settings/screen_settings.dart';
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart'; import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart'; import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';

View file

@ -2,18 +2,18 @@ flutter --version
fvm flutter build apk \ fvm flutter build apk \
--dart-define="cameraPreviewAspectRatio=240/320" \ --dart-define="cameraPreviewAspectRatio=240/320" \
--dart-define="cameraStubImage=assets/camera_stub_image.jpg" \ --dart-define="cameraStubImage=assets/camera_stub_image.jpg" \
--target=integration_test/generate_screenshots.dart \ --target=integration_test/metering_test.dart \
--profile \ --profile \
--flavor=dev --flavor=dev
for n in {1..5}; do for n in {1..25}; do
echo "============ Run number ${n} ============" echo "============ Run number ${n} ============"
flutter drive \ flutter drive \
--dart-define="cameraPreviewAspectRatio=240/320" \ --dart-define="cameraPreviewAspectRatio=240/320" \
--dart-define="cameraStubImage=assets/camera_stub_image.jpg" \ --dart-define="cameraStubImage=assets/camera_stub_image.jpg" \
--driver=test_driver/screenshot_driver.dart \ --driver=test_driver/performance_driver.dart \
--target=integration_test/generate_screenshots.dart \ --target=integration_test/metering_test.dart \
--profile \ --profile \
--flavor=dev \ --flavor=dev \
--no-dds \ --no-dds \
@ -22,3 +22,4 @@ for n in {1..5}; do
--use-application-binary=build/app/outputs/flutter-apk/app-dev-profile.apk --use-application-binary=build/app/outputs/flutter-apk/app-dev-profile.apk
done done
sh integration_test/extract_benchmarks.sh toggle_iso_picker

View file

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart'; import 'package:integration_test/integration_test.dart';
import 'package:lightmeter/application.dart'; import 'package:lightmeter/application.dart';
@ -14,17 +13,11 @@ import 'package:lightmeter/data/permissions_service.dart';
import 'package:lightmeter/data/shared_prefs_service.dart'; import 'package:lightmeter/data/shared_prefs_service.dart';
import 'package:lightmeter/data/volume_events_service.dart'; import 'package:lightmeter/data/volume_events_service.dart';
import 'package:lightmeter/environment.dart'; import 'package:lightmeter/environment.dart';
import 'package:lightmeter/generated/l10n.dart';
import 'package:lightmeter/providers/services_provider.dart'; import 'package:lightmeter/providers/services_provider.dart';
import 'package:lightmeter/providers/user_preferences_provider.dart'; import 'package:lightmeter/providers/user_preferences_provider.dart';
import 'package:lightmeter/res/dimens.dart'; import 'package:lightmeter/res/dimens.dart';
import 'package:lightmeter/res/theme.dart'; import 'package:lightmeter/res/theme.dart';
import 'package:lightmeter/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart';
import 'package:lightmeter/screens/metering/components/shared/readings_container/components/iso_picker/widget_picker_iso.dart'; import 'package:lightmeter/screens/metering/components/shared/readings_container/components/iso_picker/widget_picker_iso.dart';
import 'package:lightmeter/screens/metering/components/shared/readings_container/components/shared/animated_dialog_picker/components/dialog_picker/widget_picker_dialog.dart';
import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/components/equipment_profile_container/widget_container_equipment_profile.dart';
import 'package:lightmeter/screens/settings/components/metering/components/equipment_profiles/components/equipment_profile_screen/screen_equipment_profile.dart';
import 'package:lightmeter/screens/settings/screen_settings.dart';
import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart'; import 'package:m3_lightmeter_iap/m3_lightmeter_iap.dart';
import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart'; import 'package:m3_lightmeter_resources/m3_lightmeter_resources.dart';
import 'package:mocktail/mocktail.dart'; import 'package:mocktail/mocktail.dart';
@ -149,12 +142,10 @@ void main() {
() async { () async {
await tester.tap(find.byType(IsoValuePicker)); await tester.tap(find.byType(IsoValuePicker));
await tester.pumpAndSettle(Dimens.durationL); await tester.pumpAndSettle(Dimens.durationL);
},
"open_iso_picker",
);
expect(find.byType(DialogPicker<IsoValue>), findsOneWidget);
await tester.tapCancelButton(); await tester.tapCancelButton();
expect(find.byType(DialogPicker<IsoValue>), findsNothing); },
"toggle_iso_picker",
);
}); });
} }

View file

@ -0,0 +1,3 @@
{
"timeExtentMicros": 1201484
}

View file

@ -0,0 +1,14 @@
{
"buildTime": {
"averageFrameTimeMs": 10.006865276698612,
"percentile90FrameTimeMs": 21.645888888888887,
"percentile99FrameTimeMs": 21.645888888888887,
"worstFrameTimeMs": 26.134444444444448
},
"rasterizerTime": {
"averageFrameTimeMs": 23.913184792368128,
"percentile90FrameTimeMs": 57.51240740740741,
"percentile99FrameTimeMs": 57.51240740740741,
"worstFrameTimeMs": 78.87037037037038
}
}