INTEGRITY Документация

Аналитика Waiting Room

Waiting Room Analytics даёт исторические сведения о трафике, проходящем через зал ожидания, в сравнении с его настройками. Данные хранятся за последние 30 дней.

С помощью Waiting Room Analytics можно:

Dashboard Analytics

Чтобы просмотреть аналитику своего зала ожидания в дашборде:

  1. На панели управления Cloudflare перейдите к разделу Waiting Room страницу.

    Перейдите в Waiting Room ↗
  2. Разверните зал ожидания, для которого хотите просмотреть метрики, чтобы отобразить предварительный просмотр аналитики зала ожидания. Предварительный просмотр показывает пиковый трафик через зал ожидания за последние 24 часа, включая: Maximum active users, Maximum queued users и Typical time in queue для пользователей в очереди.

  3. Выберите View More в разделе Waiting Room Analytics, чтобы получить больше исторической аналитики по вашему Waiting Room.

  4. По умолчанию временной диапазон для всех отображаемых метрик составляет последние 24 часа. Чтобы изменить его, выберите нужный диапазон в раскрывающемся списке. Можно выбрать любой промежуток времени за последние 30 дней длительностью не менее 30 минут.

Аналитика событий

Если у вашего зала ожидания есть завершённое запланированное событие, вы можете быстро перейти к аналитике этого события, развернув строку интересующего вас зала ожидания и выбрав время события. Ссылка открывает вид аналитики для этого зала ожидания, включая данные с периода предварительной очереди до конца события.

Чтобы сохранить эти данные о событии, можно либо выбрать Скачивание данных или Печать отчета. Если вы удалите событие, ссылка на период времени больше не будет отображаться в панели управления. Если вы измените время события, ссылка на период времени также обновится.

Если вы не получили ссылку на аналитику своего события, могла произойти одна из следующих ситуаций:

Метрики

Ниже перечислены метрики, доступные на панели управления Analytics, и способ их расчёта.

Time in queue

Сводные значения Time in queue показывают, сколько времени пользователи в очереди ждали доступа к вашему приложению. Здесь отображается время ожидания как для типичного пользователя, так и для тех, кто ждал дольше всех, за выбранный период. Эти значения показывают, как настройки зала ожидания в сочетании с трафиком повлияли на время ожидания.

Если время ожидания больше, чем вам хотелось бы, и вы готовы к этому, можно рассмотреть один или несколько из следующих вариантов действий:

Time on origin

Сводные значения Time on origin показывают приблизительное время, которое пользователи провели на страницах, защищённых залом ожидания, перед уходом. За выбранный период доступны расчётное время на источнике для типичного пользователя, а также для тех, кто провёл на сайте больше всего времени. Учитывайте, что если продление сессии отключено и активная очередь отсутствует, новая сессия зала ожидания выдаётся пользователю каждые session_duration минут. Поэтому такие пользователи могут оставаться в течение нескольких сессий. Время на источнике для этих пользователей отсчитывается заново при каждом истечении сессии.

Ниже приведены некоторые выводы, которые можно сделать в зависимости от значений времени на источнике.

Возможно, стоит увеличить продолжительность сессии, чтобы дать пользователям больше времени на подзапросы, и (или) включить продление сессии, если:

Это может говорить о том, что пользователям требуется больше времени, чтобы выполнить нужные действия на вашем сайте.

Возможно, стоит уменьшить продолжительность сессии и (или) отключить её продление, если:

Это может говорить о том, что пользователям требуется меньше времени на вашем сайте и они просто занимают места у источника.

Активные пользователи и пользователи в очереди

График Active users представляет собой график временного ряда, который показывает максимальное количество активных пользователей по всем URL-адресам, охватываемым вашим залом ожидания, а также максимальное количество пользователей в очереди. Эти значения сравниваются с настроенным пороговым значением цели по активным пользователям.

Новым пользователем считается первый запрос к любому из URL-адресов, охваченных залом ожидания. Waiting Room засчитывает запрос как новый, если к нему не привязан cookie зала ожидания. После того как запрос выполнен, выдаётся cookie зала ожидания. Если в этот момент активна очередь, пользователь считается пользователем в очереди. Как только этот пользователь проходит очередь и попадает на сайт, он становится активным пользователем и остаётся таковым, пока продолжает отправлять HTTP запросы к URL-адресам зала ожидания не реже одного раза в session_duration минут.

Чтобы найти и детально изучить пиковый трафик, выберите более длинный период, например 30 дней. Затем перетащите курсор влево и вправо от интересующего вас периода, чтобы увеличить масштаб и рассмотреть его подробнее. Масштаб можно увеличивать, пока каждый столбец не будет представлять интервал в одну минуту. Все остальные метрики на странице автоматически обновятся в соответствии с выбранным периодом.

Чтобы узнать больше о конкретном моменте времени, наведите курсор на столбец графика. Появится подсказка со следующими данными за период, который представляет этот столбец:

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

New users per minute

График New users per minute показывает, сколько новых пользователей в минуту прошло через зал ожидания к вашему источнику, по сравнению с настроенным пороговым значением цели New users per minute. Как и на графике Active users, вы можете приблизить нужный период времени, выделив область слева и справа от него: это обновит и другой график, и сводные значения. При отдалении каждая точка данных усредняется, поэтому при приближении значения могут колебаться.

Turnstile Widget Traffic

График Turnstile widget traffic показывает количество проверок, выданных за минуту, и распределение трафика в рамках этих проверок. Трафик делится на три основные категории:

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

GraphQL Analytics

Вы можете запрашивать данные аналитики Waiting Room через GraphQL API. Аналитика Waiting Room даёт почти мгновенную видимость трафика вашего приложения и показывает, как он обрабатывается с учётом заданных лимитов.

Вот несколько примеров запросов для начала работы:

Получение значений общего количества активных пользователей и новых пользователей в минуту за определённый период.

Это простой запрос для получения значений метрик. Вы можете отфильтровать данные по тегу zone и запросить waitingRoomAnalyticsAdaptive набор данных. В этом примере запрос применён только к двум метрикам, но вы можете изучить схему и получить необработанные значения из набора данных GraphQL без применения методов агрегации.

Запрос
{
  viewer {
    zones(filter: {zoneTag: "example-zone"}) {
      waitingRoomAnalyticsAdaptive(limit: 3, filter: {datetime_gt: "2023-03-05T19:14:30Z", datetime_lt: "2023-03-07T19:13:00Z", waitingRoomId: "example-waiting-room-id"}) { 
        totalActiveUsers
          newUsersPerMinutes
      }
    }
  }
Ответ
{
  "data": {
    "viewer": {
      "zones": [
        {
          "waitingRoomAnalyticsAdaptive": [
            {
              "newUsersPerMinute": 77,
              "totalActiveUsers": 1023
            },
            {
              "newUsersPerMinute": 113,
              "totalActiveUsers": 1009
            },
            {
              "newUsersPerMinute": 99,
              "totalActiveUsers": 927
            }
          ]
        }
      ]
    }
  },
  "errors": null
}

Вычисление среднего значения общего количества активных пользователей и новых пользователей в минуту за определённый период с агрегацией данных за интервалы по 15 минут.

Этот запрос вычисляет среднее значение общего количества активных пользователей и новых пользователей в минуту. Временное измерение в запросе составляет 15 минут, поэтому данные за выбранный период агрегируются с шагом 15 минут.

Запрос
{
  viewer {
    zones(filter: {zoneTag: "example-zone"}) {
      waitingRoomAnalyticsAdaptiveGroups(limit: 10, filter: {datetime_geq: "2023-03-15T04:00:00Z", datetime_leq: "2023-03-15T04:45:00Z", waitingRoomId: "example-waiting-room-id"}, orderBy: [datetimeFifteenMinutes_ASC]) {
        avg {
          totalActiveUsers
          newUsersPerMinute
        }
        dimensions {
          datetimeFifteenMinutes
        }
      }
Ответ
{
  "data": {
    "viewer": {
      "zones": [
        {
          "waitingRoomAnalyticsAdaptiveGroups": [
            {
              "avg": {
                "newUsersPerMinute": 119,
                "totalActiveUsers": 1180
              },
              "dimensions": {
                "datetimeFifteenMinutes": "2023-03-15T04:00:00Z"
              }
            },
            {
              "avg": {
                "newUsersPerMinute": 146,
                "totalActiveUsers": 961
              },
              "dimensions": {
                "datetimeFifteenMinutes": "2023-03-15T04:15:00Z"
              }
            },
            {
              "avg": {
                "newUsersPerMinute": 144,
                "totalActiveUsers": 1015
              },
              "dimensions": {
                "datetimeFifteenMinutes": "2023-03-15T04:30:00Z"
              }
            }
          ]
        }
      ]
    }
  },
  "errors": null
}

Вычисление средневзвешенных значений времени на источнике (50-й процентиль) и общего времени ожидания (90-й процентиль) за определённый период с агрегацией данных за интервалы по одному часу.

Этот запрос вычисляет средневзвешенные значения метрик за определённый период времени с почасовой агрегацией.

Запрос
{
  viewer {
    zones(filter: {zoneTag: "example-zone"}) {
      waitingRoomAnalyticsAdaptiveGroups(limit: 10, filter: {datetime_geq: "2023-03-15T04:00:00Z", datetime_leq: "2023-03-15T04:45:00Z", waitingRoomId: "example-waiting-room-id"}, orderBy: [datetimeHour_ASC]) {
        avgWeighted {
          timeOnOriginP50
          totalTimeWaitedP90
        }
        dimensions {
          datetimeHour
        }
      }
Ответ
{
  "data": {
    "viewer": {
      "zones": [
        {
          "waitingRoomAnalyticsAdaptiveGroups": [
            {
              "avgWeighted": {
                "timeOnOriginP50": 99.19,
                "totalTimeWaitedP90": 1625.63
              },
              "dimensions": {
                "datetimeHour": "2023-03-15T04:00:00Z"
              }
            }
          ]
        }
      ]
    }
  },
  "errors": null
}

Почему нет данных по моему залу ожидания?

Если для вашего зала ожидания не отображаются исторические данные, возможна одна или несколько из следующих причин: