В чем разница "dom_content_loaded.histogram.bin.start/end" в Google BigQuery?

Мне нужно построить гистограмму, касающуюся DOMContentLoaded веб-страницы. Когда я использовал BigQuery, я заметил, что кроме плотности, есть еще 2 атрибута (начало, конец). В моей голове должен быть только 1 атрибут, событие DOMContentLoaded вызывается только при загрузке DOM.

Может кто-нибудь помочь прояснить разницу .start и .stop? Эти атрибуты всегда имеют разницу в 100 миллисекунд (если start = X мс, stop = X+100 мс. См. Пример запроса, размещенный ниже.

Я не могу понять, что именно представляют эти атрибуты:

dom_content_loaded.histogram.bin.START

А ТАКЖЕ

dom_content_loaded.histogram.bin.END

Вопрос: Какой из них представляет время, когда событие DOMContentLoaded запускается в браузере пользователя?

SELECT
    bin.START AS start,
    bin.END AS endd
FROM
    `chrome-ux-report.all.201809`,
    UNNEST(dom_content_loaded.histogram.bin) AS bin
WHERE
    origin = 'https://www.google.com'

Выход:

Row |start | end    
1    0       100
2    100     200
3    200     300
4    300     400
[...]

1 ответ

Решение

Ниже объясняется значение bin.start, bin.end и bin.density

Запустите ниже оператора SELECT

SELECT
  origin, 
  effective_connection_type.name type_name, 
  form_factor.name factor_name,
  bin.start AS bin_start,
  bin.end AS bin_end,
  bin.density AS bin_density
FROM `chrome-ux-report.all.201809`,
  UNNEST(dom_content_loaded.histogram.bin) AS bin
WHERE origin = 'https://www.google.com'  

В результате вы получите 1550 строк

ниже первые 5 строк

Row origin                  type_name   factor_name bin_start   bin_end bin_density  
1   https://www.google.com  4G          phone       0           100     0.01065  
2   https://www.google.com  4G          phone       100         200     0.01065  
3   https://www.google.com  4G          phone       200         300     0.02705  
4   https://www.google.com  4G          phone       300         400     0.02705  
5   https://www.google.com  4G          phone       400         500     0.0225    

Вы можете прочитать их как: для телефона с 4G загрузка dom_content была загружена в течение 100 миллисекунд для 1,065% загрузок; от 100 до 200 миллисекунд на 1,065%; от 200 до 300 миллисекунд, 2,705% и т. д.

Подводя итог для каждого источника, типа и фактора, вы получили гистограмму, которая представлена ​​в виде повторяющейся записи с началом и концом каждого бина вместе с плотностью, которая представляет собой процент от соответствующего пользовательского опыта

Примечание: если вы добавите плотности dom_content_loaded по всем измерениям для одного источника, вы получите 1 (или значение, очень близкое к 1 из-за приближений).

Например

SELECT SUM(bin.density) AS total_density
FROM `chrome-ux-report.all.201809`,
  UNNEST(dom_content_loaded.histogram.bin) AS bin
WHERE origin = 'https://www.google.com'

возвращается

Row total_density    
1   0.9995999999999978   

Надеюсь, это помогло

Другие вопросы по тегам