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

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
}

Этот запрос означает следующее:

Несколько важных моментов: