← Аналитика / analytics / graphql-api / migration-guides
HTTP Requests by Colo Groups to HTTP Requests by Adaptive Groups
В этом руководстве рассматриваются аспекты миграции с устаревшего httpRequests1mByColoGroups и httpRequests1dByColoGroups узлы GraphQL API в httpRequestsAdaptiveGroups узел GraphQL API.
Например, если вы хотели узнать, у каких пяти дата-центров было больше всего запросов, их общее количество и общий объём переданных данных, раньше вы использовали httpRequests1mByColoGroups узел GraphQL API, как показано в следующем примере:
{
viewer {
zones(filter: { zoneTag: $zoneTag }) {
series: httpRequests1mByColoGroups(
limit: 5
orderBy: [sum_requests_DESC]
filter: { datetime_geq: $start, datetime_lt: $end }
) {
sum {
requests
bytes
}
dimensions {
coloCode
}
}
}
}
}Ответ
{
"data": {
"viewer": {
"zones": [
{
"series": [
{
"dimensions": {
"coloCode": "LHR"
},
"sum": {
"bytes": 18260055,
"requests": 4404
}
},
{
"dimensions": {
"coloCode": "AMS"
},
"sum": {
"bytes": 17563009,
"requests": 4302
}
},
{
"dimensions": {
"coloCode": "CDG"
},
"sum": {
"bytes": 17200434,
"requests": 4032
}
},
{
"dimensions": {
"coloCode": "PTY"
},
"sum": {
"bytes": 10400209,
"requests": 2707
}
},
{
"dimensions": {
"coloCode": "JIB"
},
"sum": {
"bytes": 9040105,
"requests": 2601
}
}
]
}
]
}
},
"errors": null
}httpRequestsAdaptiveGroups узел GraphQL API
С устареванием httpRequests1mByColoGroups и httpRequests1dByColoGroups узлы GraphQL API используйте httpRequestsAdaptiveGroups узел GraphQL API для доступа к тем же данным (count, sum(edgeResponseBytes), а также visits).
Запрос
query MigrationSample($zoneTag: string, $start: Time, $end: Time) {
viewer {
zones(filter: { zoneTag: $zoneTag }) {
series: httpRequestsAdaptiveGroups(
limit: 5
orderBy: [count_DESC]
filter: {
datetime_geq: $start
datetime_lt: $end
requestSource: "eyeball"
}
) {
count
avg {
sampleInterval
}
sum {
visits
edgeResponseBytes
}
dimensions {
coloCode
}
}
}
}
}Ответ
{
"data": {
"viewer": {
"zones": [
{
"series": [
{
"avg": {
"sampleInterval": 10
},
"count": 4350,
"dimensions": {
"coloCode": "LHR"
},
"sum": {
"edgeResponseBytes": 17860000,
"visits": 4120
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 4210,
"dimensions": {
"coloCode": "AMS"
},
"sum": {
"edgeResponseBytes": 17110000,
"visits": 3910
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 3890,
"dimensions": {
"coloCode": "CDG"
},
"sum": {
"edgeResponseBytes": 17050000,
"visits": 3700
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 2550,
"dimensions": {
"coloCode": "PTY"
},
"sum": {
"edgeResponseBytes": 10286000,
"visits": 2130
}
},
{
"avg": {
"sampleInterval": 10
},
"count": 2410,
"dimensions": {
"coloCode": "JIB"
},
"sum": {
"edgeResponseBytes": 9029000,
"visits": 2080
}
}
]
}
]
}
},
"errors": null
}Этот запрос означает следующее:
- При указанном
zones,limit, а такжеtime range. - Получение общего количества запросов (как
count), общий объём переданных данных (какedgeResponseBytessumобъект) и общее количествоvisitsна дата-центр.
Несколько важных моментов:
- Добавление
requestSourceфильтр дляeyeballвозвращает данные о запросах, передаче данных и посещениях только для конечных пользователей вашего сайта. - Вместо
requests,httpRequestsAdaptiveGroupsузел сообщаетcount, который показывает количество запросов на каждый дата-центр. - Чтобы измерить объём передачи данных, используйте
sum(edgeResponseBytes). Обратите внимание, что в старом API это называлосьbandwidthхотя фактически измерялась передача данных. unique visitors per colocationне поддерживается вhttpRequestsAdaptiveGroups, ноhttpRequestsAdaptiveGroupsAPI поддерживаетvisits. Визит определяется как просмотр страницы, источником которого стал другой сайт или прямая ссылка. Cloudflare проверяет случаи, когда HTTP referer не совпадает с именем хоста. Один визит может включать несколько просмотров страниц.