このガイドでは、非推奨の httpRequests1mByColoGroups および httpRequests1dByColoGroups GraphQL API ノードから、httpRequestsAdaptiveGroups GraphQL API ノードへ移行するときの考慮点を説明します。
たとえば、リクエスト数が最も多いデータセンター 5 か所と、そのリクエスト総数、データ転送量の合計を見たい場合、以前は次の例のように 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
}httpRequests1mByColoGroups と httpRequests1dByColoGroups GraphQL API ノードは非推奨です。同じデータ(count、sum(edgeResponseBytes)、visits)には、httpRequestsAdaptiveGroups GraphQL API ノードを使います。
リクエスト
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、時間範囲を前提にします。 - データセンターごとのリクエスト総数(
count)、データ転送量の合計(sumオブジェクトのedgeResponseBytes)、visitsの合計を取得します。
注意点は次のとおりです。
requestSourceフィルターにeyeballを指定すると、サイトのエンドユーザーに関するリクエスト、データ転送、訪問データだけが返ります。httpRequestsAdaptiveGroupsノードはrequestsの代わりにcountを返します。データセンターあたりのリクエスト数です。- データ転送量の計測には
sum(edgeResponseBytes)を使います。旧 API ではbandwidthと呼ばれていましたが、実際にはデータ転送量を測っていました。 httpRequestsAdaptiveGroupsではunique visitors per colocationは使えません。一方、httpRequestsAdaptiveGroupsAPI はvisitsをサポートします。visit は、別サイトまたは直接リンクから始まったページビューです。Cloudflare は HTTP リファラーがホスト名と一致しないかを確認します。1 回の visit に複数のページビューが含まれることがあります。