-
-
Save hackebrot/cf1b608967fb034328b3fe16bf62cfcf to your computer and use it in GitHub Desktop.
Glean testing coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
category | name | tested | |
---|---|---|---|
basic | os | False | |
bookmarks_sync | failure_reason | False | |
bookmarks_sync | finished_at | False | |
bookmarks_sync | incoming | False | |
bookmarks_sync | outgoing | False | |
bookmarks_sync | outgoing_batches | False | |
bookmarks_sync | remote_tree_problems | False | |
bookmarks_sync | started_at | False | |
bookmarks_sync | uid | False | |
browser.engagement | click | False | |
browser.engagement | event_no_keys | False | |
crash_metrics | crash_count | False | |
custom | counter | False | |
fxa_tab | received | True | |
fxa_tab | sent | True | |
history_sync | failure_reason | False | |
history_sync | finished_at | False | |
history_sync | incoming | False | |
history_sync | outgoing | False | |
history_sync | outgoing_batches | False | |
history_sync | started_at | False | |
history_sync | uid | False | |
logins_sync | failure_reason | False | |
logins_sync | finished_at | False | |
logins_sync | incoming | False | |
logins_sync | outgoing | False | |
logins_sync | outgoing_batches | False | |
logins_sync | started_at | False | |
logins_sync | uid | False | |
migration | migration_versions | False | |
migration.addons | any_failures | False | |
migration.addons | failed_addons | False | |
migration.addons | failure_reason | False | |
migration.addons | migrated_addons | False | |
migration.addons | success_reason | False | |
migration.addons | total_duration | False | |
migration.bookmarks | any_failures | False | |
migration.bookmarks | detected | False | |
migration.bookmarks | duration | False | |
migration.bookmarks | failure_reason | False | |
migration.bookmarks | migrated | False | |
migration.bookmarks | success_reason | False | |
migration.bookmarks | total_duration | False | |
migration.fxa | any_failures | False | |
migration.fxa | bad_auth_state | False | |
migration.fxa | failure_reason | False | |
migration.fxa | has_custom_idp_server | False | |
migration.fxa | has_custom_token_server | False | |
migration.fxa | success_reason | False | |
migration.fxa | total_duration | False | |
migration.fxa | unsupported_account_version | False | |
migration.fxa | unsupported_pickle_version | False | |
migration.fxa | unsupported_state_version | False | |
migration.gecko | any_failures | False | |
migration.gecko | failure_reason | False | |
migration.gecko | success_reason | False | |
migration.gecko | total_duration | False | |
migration.history | any_failures | False | |
migration.history | detected | False | |
migration.history | duration | False | |
migration.history | failure_reason | False | |
migration.history | migrated | False | |
migration.history | success_reason | False | |
migration.history | total_duration | False | |
migration.logins | any_failures | False | |
migration.logins | detected | False | |
migration.logins | failure_counts | False | |
migration.logins | failure_reason | False | |
migration.logins | success_reason | False | |
migration.logins | total_duration | False | |
migration.logins | unsupported_db_version | False | |
migration.open_tabs | any_failures | False | |
migration.open_tabs | detected | False | |
migration.open_tabs | failure_reason | False | |
migration.open_tabs | migrated | False | |
migration.open_tabs | success_reason | False | |
migration.open_tabs | total_duration | False | |
migration.pinned_sites | any_failures | False | |
migration.pinned_sites | detected_pinned_sites | False | |
migration.pinned_sites | failure_reason | False | |
migration.pinned_sites | migrated_pinned_sites | False | |
migration.pinned_sites | success_reason | False | |
migration.pinned_sites | total_duration | False | |
migration.search | any_failures | False | |
migration.search | failure_reason | False | |
migration.search | success_reason | False | |
migration.search | total_duration | False | |
migration.settings | any_failures | False | |
migration.settings | failure_reason | False | |
migration.settings | success_reason | False | |
migration.settings | telemetry_enabled | False | |
migration.settings | total_duration | False | |
migration.telemetry_identifiers | any_failures | False | |
migration.telemetry_identifiers | failure_reason | False | |
migration.telemetry_identifiers | fennec_client_id | False | |
migration.telemetry_identifiers | fennec_profile_creation_date | False | |
migration.telemetry_identifiers | success_reason | False | |
migration.telemetry_identifiers | total_duration | False | |
sample_metrics | test | False | |
sync | failure_reason | False | |
sync | sync_uuid | True | |
test | counter | False | |
test | string_list | False | |
test | timespan | False |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
category | name | tested | |
---|---|---|---|
about_page | privacy_notice_tapped | False | |
about_page | support_tapped | False | |
activation | activation_id | False | |
activation | identifier | False | |
addons | enabled_addons | False | |
addons | has_enabled_addons | False | |
addons | has_installed_addons | False | |
addons | installed_addons | False | |
addons | open_addon_in_toolbar_menu | False | |
addons | open_addons_in_settings | False | |
app_theme | dark_theme_selected | False | |
autoplay | setting_changed | False | |
autoplay | visited_setting | False | |
bookmarks_management | copied | False | |
bookmarks_management | edited | False | |
bookmarks_management | folder_add | False | |
bookmarks_management | folder_remove | False | |
bookmarks_management | moved | False | |
bookmarks_management | multi_removed | False | |
bookmarks_management | open_in_new_tab | False | |
bookmarks_management | open_in_new_tabs | False | |
bookmarks_management | open_in_private_tab | False | |
bookmarks_management | open_in_private_tabs | False | |
bookmarks_management | removed | False | |
bookmarks_management | shared | False | |
browser.search | ad_clicks | False | |
browser.search | in_content | False | |
browser.search | with_ads | False | |
collections | add_tab_button | False | |
collections | all_tabs_restored | False | |
collections | long_press | False | |
collections | removed | False | |
collections | rename_button | False | |
collections | renamed | False | |
collections | save_button | False | |
collections | saved | False | |
collections | shared | False | |
collections | tab_removed | False | |
collections | tab_restored | False | |
collections | tab_select_opened | False | |
collections | tabs_added | False | |
context_menu | item_tapped | False | |
contextual_hint.tracking_protection | dismiss | False | |
contextual_hint.tracking_protection | display | False | |
contextual_hint.tracking_protection | inside_tap | False | |
contextual_hint.tracking_protection | outside_tap | False | |
crash_reporter | closed | False | |
crash_reporter | opened | False | |
custom_tab | action_button | False | |
custom_tab | closed | False | |
custom_tab | menu | False | |
download_notification | cancel | False | |
download_notification | in_app_open | False | |
download_notification | in_app_try_again | False | |
download_notification | open | False | |
download_notification | pause | False | |
download_notification | resume | False | |
download_notification | try_again | False | |
error_page | visited_error | False | |
events | app_opened | True | |
events | app_opened_all_startup | False | |
events | app_received_intent | False | |
events | browser_menu_action | False | |
events | entered_url | False | |
events | opened_link | False | |
events | performed_search | False | |
events | preference_toggled | False | |
events | search_bar_tapped | False | |
events | tab_counter_menu_action | False | |
events | total_uri_count | False | |
events | whats_new_tapped | False | |
find_in_page | closed | False | |
find_in_page | opened | False | |
find_in_page | searched_page | False | |
first_session | adgroup | False | |
first_session | campaign | False | |
first_session | creative | False | |
first_session | network | False | |
first_session | timestamp | False | |
history | opened | False | |
history | opened_item | False | |
history | removed | False | |
history | removed_all | False | |
history | shared | False | |
login_dialog | cancelled | False | |
login_dialog | displayed | False | |
login_dialog | never_save | False | |
login_dialog | saved | False | |
logins | copy_login | False | |
logins | delete_saved_login | False | |
logins | open_individual_login | False | |
logins | open_login_editor | False | |
logins | open_logins | False | |
logins | save_edited_login | False | |
logins | save_logins_setting_changed | False | |
logins | view_password_login | False | |
master_password | displayed | False | |
master_password | migration | False | |
media_notification | pause | False | |
media_notification | play | False | |
media_state | pause | False | |
media_state | play | False | |
media_state | stop | False | |
metrics | adjust_ad_group | False | |
metrics | adjust_campaign | False | |
metrics | adjust_creative | False | |
metrics | adjust_network | False | |
metrics | close_tab_setting | False | |
metrics | default_browser | True | |
metrics | default_moz_browser | True | |
metrics | has_open_tabs | False | |
metrics | has_recent_pwas | False | |
metrics | has_top_sites | False | |
metrics | mozilla_products | True | |
metrics | recently_used_pwa_count | False | |
metrics | search_count | False | |
metrics | search_widget_installed | False | |
metrics | tab_view_setting | False | |
metrics | tabs_open_count | False | |
metrics | toolbar_position | False | |
metrics | top_sites_count | False | |
onboarding | finish | False | |
onboarding | fxa_auto_signin | False | |
onboarding | fxa_manual_signin | False | |
onboarding | pref_toggled_private_browsing | False | |
onboarding | pref_toggled_theme_picker | False | |
onboarding | pref_toggled_toolbar_position | False | |
onboarding | pref_toggled_tracking_prot | False | |
onboarding | privacy_notice | False | |
onboarding | whats_new | False | |
perf.awesomebar | bookmark_suggestions | False | |
perf.awesomebar | clipboard_suggestions | False | |
perf.awesomebar | history_suggestions | False | |
perf.awesomebar | search_engine_suggestions | False | |
perf.awesomebar | session_suggestions | False | |
perf.awesomebar | shortcuts_suggestions | False | |
perf.awesomebar | synced_tabs_suggestions | False | |
pocket_top_site_clicked | False | ||
pocket_top_site_removed | False | ||
preferences | accessibility_services | False | |
preferences | open_links_in_a_private_tab | False | |
preferences | open_links_in_app | False | |
preferences | remote_debugging | False | |
preferences | search_bookmarks | False | |
preferences | search_browsing_history | False | |
preferences | search_suggestions_private | False | |
preferences | show_clipboard_suggestions | False | |
preferences | show_search_shortcuts | False | |
preferences | show_search_suggestions | False | |
preferences | show_voice_search | False | |
preferences | sync | False | |
preferences | sync_items | False | |
preferences | telemetry | False | |
preferences | theme | False | |
preferences | toolbar_position | False | |
preferences | tracking_protection | False | |
private_browsing_mode | garbage_icon | False | |
private_browsing_mode | notification_delete | False | |
private_browsing_mode | notification_open | False | |
private_browsing_mode | notification_tapped | False | |
private_browsing_mode | snackbar_undo | False | |
private_browsing_shortcut | cfr_add_shortcut | False | |
private_browsing_shortcut | cfr_cancel | False | |
private_browsing_shortcut | create_shortcut | False | |
private_browsing_shortcut | pinned_shortcut_priv | False | |
private_browsing_shortcut | static_shortcut_priv | False | |
private_browsing_shortcut | static_shortcut_tab | False | |
progressive_web_app | background | False | |
progressive_web_app | foreground | False | |
progressive_web_app | homescreen_tap | False | |
progressive_web_app | install_tap | False | |
qr_scanner | navigation_allowed | False | |
qr_scanner | navigation_denied | False | |
qr_scanner | opened | False | |
qr_scanner | prompt_displayed | False | |
reader_mode | appearance | False | |
reader_mode | available | False | |
reader_mode | closed | False | |
reader_mode | opened | False | |
search.default_engine | code | True | |
search.default_engine | name | True | |
search.default_engine | submission_url | True | |
search_shortcuts | selected | False | |
search_suggestions | enable_in_private | False | |
search_widget | new_tab_button | False | |
search_widget | voice_button | False | |
search_widget_cfr | add_widget_pressed | False | |
search_widget_cfr | canceled | False | |
search_widget_cfr | displayed | False | |
search_widget_cfr | not_now_pressed | False | |
startup.timeline | clock_ticks_per_second | False | |
startup.timeline | framework_start | False | |
startup.timeline | framework_start_error | False | |
startup.timeline | framework_start_read_error | False | |
storage.stats | app_bytes | False | |
storage.stats | cache_bytes | False | |
storage.stats | data_dir_bytes | False | |
storage.stats | query_stats_duration | False | |
sync_account | closed | False | |
sync_account | opened | False | |
sync_account | send_tab | False | |
sync_account | sign_in_to_send_tab | False | |
sync_account | sync_now | False | |
sync_auth | auto_login | False | |
sync_auth | closed | False | |
sync_auth | opened | False | |
sync_auth | other_external | False | |
sync_auth | paired | False | |
sync_auth | recovered | False | |
sync_auth | scan_pairing | False | |
sync_auth | sign_in | False | |
sync_auth | sign_out | False | |
sync_auth | sign_up | False | |
sync_auth | use_email | False | |
sync_auth | use_email_problem | False | |
tab | media_pause | False | |
tab | media_play | False | |
tabs | setting_opened | False | |
tabs_tray | close_all_tabs | False | |
tabs_tray | closed | False | |
tabs_tray | closed_existing_tab | False | |
tabs_tray | menu_opened | False | |
tabs_tray | new_private_tab_tapped | False | |
tabs_tray | new_tab_tapped | False | |
tabs_tray | normal_mode_tapped | False | |
tabs_tray | opened | False | |
tabs_tray | opened_existing_tab | False | |
tabs_tray | private_mode_tapped | False | |
tabs_tray | save_to_collection | False | |
tabs_tray | share_all_tabs | False | |
tip | closed | False | |
tip | displayed | False | |
tip | pressed | False | |
toolbar_settings | changed_position | False | |
top_sites | long_press | False | |
top_sites | open_default | False | |
top_sites | open_frecency | False | |
top_sites | open_in_new_tab | False | |
top_sites | open_in_private_tab | False | |
top_sites | open_pinned | False | |
top_sites | remove | False | |
top_sites | swipe_carousel | False | |
tracking_protection | etp_setting_changed | False | |
tracking_protection | etp_settings | False | |
tracking_protection | etp_shield | False | |
tracking_protection | etp_tracker_list | False | |
tracking_protection | exception_added | False | |
tracking_protection | panel_settings | False | |
user_specified_search_engines | custom_engine_added | False | |
user_specified_search_engines | custom_engine_deleted | False | |
voice_search | tapped | False |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Find metrics that never use the Glean testing API | |
import argparse | |
from pathlib import Path | |
import sys | |
from glean_parser import parser, util | |
def find_testing_apis( | |
metric_names, | |
testing_apis=["testGetValue", "testHasValue", "testGetNumRecordedErrors"], | |
): | |
results = {x: False for x in metric_names} | |
for filename in root_dir.glob("**/*.kt"): | |
with open(filename, "r", encoding="utf8") as fd: | |
content = fd.read() | |
for category, name in metric_names: | |
kotlin_id = f"{util.Camelize(category)}.{util.camelize(name)}" | |
for api in testing_apis: | |
testing_id = f"{kotlin_id}.{api}" | |
if testing_id in content: | |
results[(category, name)] = True | |
return results | |
argparser = argparse.ArgumentParser( | |
"Determine the Glean metric testing coverage for an Android project" | |
) | |
argparser.add_argument( | |
"root_dir", type=str, nargs=1, help="Root directory of the project to analyse" | |
) | |
args = argparser.parse_args() | |
root_dir = Path(args.root_dir[0]).resolve() | |
metrics_files = list( | |
x for x in root_dir.glob("**/metrics.yaml") if "gecko" not in str(x) | |
) | |
metrics = parser.parse_objects(metrics_files) | |
if util.report_validation_errors(metrics): | |
sys.exit(1) | |
metric_names = set() | |
for category_name, category in metrics.value.items(): | |
for metric_name, metric in category.items(): | |
metric_names.add((category_name, metric_name)) | |
results = find_testing_apis(metric_names) | |
print("category,name,tested") | |
for (category, name), tested in sorted(list(results.items())): | |
print(f"{category},{name},{tested}") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment