in mozetl/search/aggregates.py [0:0]
def search_clients_daily(main_summary):
return agg_search_data(
main_summary,
["client_id", "submission_date", "engine", "source"],
list(
map(
agg_first,
[
"country",
"app_version",
"distribution_id",
"locale",
"user_pref_browser_search_region",
"search_cohort",
"addon_version",
"os",
"os_version",
"channel",
"profile_creation_date",
"default_search_engine",
"default_search_engine_data_load_path",
"default_search_engine_data_submission_url",
"sample_id",
],
)
)
+ [
# Count of 'first' subsessions seen for this client_day
(
count(when(col("subsession_counter") == 1, 1)).alias(
"sessions_started_on_this_day"
)
),
first(
datediff(
"subsession_start_date",
from_unixtime(col("profile_creation_date") * 24 * 60 * 60),
)
).alias("profile_age_in_days"),
sum(col("subsession_length") / 3600.0).alias("subsession_hours_sum"),
mean(size("active_addons")).alias("active_addons_count_mean"),
(
max("scalar_parent_browser_engagement_max_concurrent_tab_count").alias(
"max_concurrent_tab_count_max"
)
),
(
sum("scalar_parent_browser_engagement_tab_open_event_count").alias(
"tab_open_event_count_sum"
)
),
(sum(col("active_ticks") * 5 / 3600.0).alias("active_hours_sum")),
],
)