INTEGRITY Documentation

HTTP Requests by Colo Groups to HTTP Requests by Adaptive Groups

This guide shares considerations when migrating from the deprecated httpRequests1mByColoGroups and httpRequests1dByColoGroups GraphQL API nodes to the httpRequestsAdaptiveGroups GraphQL API node.

For example, if you wanted to see which five data centers had the most number of requests, the total number of those requests, and the total amount of data transfer, in the past you used the httpRequests1mByColoGroups GraphQL API node as in the following example:

{
	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
				}
			}
		}
	}
}

Response

{
	"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 node

With the deprecation of the httpRequests1mByColoGroups and httpRequests1dByColoGroups GraphQL API nodes, use the httpRequestsAdaptiveGroups GraphQL API node to access the same data (count, sum(edgeResponseBytes), and visits).

Request

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
				}
			}
		}
	}
}

Response

{
	"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
}

This query says:

A few points to note: