graphql.go (98 lines of code) (raw):

package main import "github.com/machinebox/graphql" var ( graphQL = graphql.NewRequest(` query ($zone_in: [String]!, $start_time: Time!, $end_time: Time!, $limit: Int!) { viewer { zones(filter: {zoneTag_in: $zone_in}) { zoneTag trafficCached: httpRequestsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [cacheStatus_ASC]) { count sum { edgeResponseBytes } dimensions { cacheStatus sampleInterval } } trafficCountry: httpRequestsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [clientCountryName_ASC]) { count sum { edgeResponseBytes } dimensions { clientCountryName sampleInterval } } trafficColo: httpRequestsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [coloCode_ASC]) { count sum { edgeResponseBytes } dimensions { coloCode sampleInterval } } trafficDetails: httpRequestsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [clientSSLProtocol_ASC]) { count sum { edgeResponseBytes } dimensions { clientSSLProtocol edgeResponseStatus originResponseStatus sampleInterval clientRequestHTTPProtocol } } networkErrorLogs: nelReportsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [clientIPCountryCode_ASC]){ count dimensions { clientIPCountryCode clientIPVersion lastKnownGoodColoCode protocol phase type } } reputation: firewallEventsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [clientIPClass_ASC]) { count dimensions { source sampleInterval clientIPClass clientCountryName } } firewallEventsAdaptiveGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [ruleId_ASC]) { count dimensions { action edgeResponseStatus originResponseStatus ruleId source sampleInterval } } healthCheckEventsGroups(limit: $limit, filter: {datetime_gt: $start_time, datetime_lt: $end_time}, orderBy: [healthCheckName_ASC]) { count dimensions { failureReason healthCheckName healthStatus region scope originResponseStatus } } } } } `) )