import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
waap_traffic_metrics = client.waap.analytics.get_traffic(
resolution="daily",
start="2024-04-13T00:00:00+01:00",
)
print(waap_traffic_metrics)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/waap"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
waapTrafficMetrics, err := client.Waap.Analytics.GetTraffic(context.TODO(), waap.AnalyticsGetTrafficParams{
Resolution: waap.AnalyticsGetTrafficParamsResolutionDaily,
Start: "2024-04-13T00:00:00+01:00",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", waapTrafficMetrics)
}
curl --request GET \
--url https://api.gcore.com/waap/v1/analytics/traffic \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.gcore.com/waap/v1/analytics/traffic', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/waap/v1/analytics/traffic",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.gcore.com/waap/v1/analytics/traffic")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/waap/v1/analytics/traffic")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"timestamp": 123,
"ajax": 0,
"api": 0,
"ddosBlocked": 0,
"origin2xx": 0,
"origin3xx": 0,
"originError4xx": 0,
"originError5xx": 0,
"monitored": 0,
"uncategorized": 0,
"static": 0,
"responseTime": 0,
"originTimeout": 0,
"customAllowed": 0,
"total": 0,
"passedToOrigin": 0,
"customBlocked": 0,
"policyAllowed": 0,
"policyBlocked": 0
}
]{
"type": "http-bad-request",
"title": "Bad Request",
"status": 400,
"detail": "Invalid domain name: ''''"
}{
"detail": "Auth token is missing or invalid"
}{
"detail": "Permission denied"
}{
"type": "http-not-found",
"title": "Not Found",
"status": 404,
"detail": "The resource is not found"
}{
"type": "request-validation-failed",
"title": "Request validation error.",
"status": 422,
"detail": "One or more fields have validation errors.",
"errors": [
{
"loc": [
"body",
"name"
],
"detail": "Input should be a valid string"
},
{
"loc": [
"body",
"date"
],
"detail": "Field required"
},
{
"loc": [
"query",
"limit"
],
"detail": "Field required"
}
]
}{
"type": "internal-server-error",
"title": "Internal server error.",
"status": 500,
"detail": "An unexpected condition was encountered which prevented the server from fulfilling the request."
}Get traffic data
Retrieves a comprehensive report on traffic statistics for a set of domains. The report includes details such as API requests, blocked events, error counts, and many more traffic-related metrics.
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
waap_traffic_metrics = client.waap.analytics.get_traffic(
resolution="daily",
start="2024-04-13T00:00:00+01:00",
)
print(waap_traffic_metrics)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/waap"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
waapTrafficMetrics, err := client.Waap.Analytics.GetTraffic(context.TODO(), waap.AnalyticsGetTrafficParams{
Resolution: waap.AnalyticsGetTrafficParamsResolutionDaily,
Start: "2024-04-13T00:00:00+01:00",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", waapTrafficMetrics)
}
curl --request GET \
--url https://api.gcore.com/waap/v1/analytics/traffic \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.gcore.com/waap/v1/analytics/traffic', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/waap/v1/analytics/traffic",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.gcore.com/waap/v1/analytics/traffic")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/waap/v1/analytics/traffic")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"timestamp": 123,
"ajax": 0,
"api": 0,
"ddosBlocked": 0,
"origin2xx": 0,
"origin3xx": 0,
"originError4xx": 0,
"originError5xx": 0,
"monitored": 0,
"uncategorized": 0,
"static": 0,
"responseTime": 0,
"originTimeout": 0,
"customAllowed": 0,
"total": 0,
"passedToOrigin": 0,
"customBlocked": 0,
"policyAllowed": 0,
"policyBlocked": 0
}
]{
"type": "http-bad-request",
"title": "Bad Request",
"status": 400,
"detail": "Invalid domain name: ''''"
}{
"detail": "Auth token is missing or invalid"
}{
"detail": "Permission denied"
}{
"type": "http-not-found",
"title": "Not Found",
"status": 404,
"detail": "The resource is not found"
}{
"type": "request-validation-failed",
"title": "Request validation error.",
"status": 422,
"detail": "One or more fields have validation errors.",
"errors": [
{
"loc": [
"body",
"name"
],
"detail": "Input should be a valid string"
},
{
"loc": [
"body",
"date"
],
"detail": "Field required"
},
{
"loc": [
"query",
"limit"
],
"detail": "Field required"
}
]
}{
"type": "internal-server-error",
"title": "Internal server error.",
"status": 500,
"detail": "An unexpected condition was encountered which prevented the server from fulfilling the request."
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Query Parameters
List of domain IDs. Empty list means all domains belonging to the current account.
Domain ID
[1, 2, 3]
Specifies the granularity of the result data.
daily, hourly, minutely Optional explicit aggregation bucket width in seconds. When supplied, bucket_size supersedes resolution for aggregation granularity.
60, 300, 600, 900, 1800, 3600, 7200, 10800, 21600, 43200, 86400 Filter data items starting from a specified date in ISO 8601 format
"2024-04-13T00:00:00+01:00"
Filter data items up to a specified end date in ISO 8601 format. If not provided, defaults to the current date and time.
"2024-04-14T12:00:00Z"
Response
Successful Response
UNIX timestamp indicating when the traffic data was recorded
Number of AJAX requests made
Number of API requests made
Number of DDoS attack attempts successfully blocked
Number of successful HTTP 2xx responses from the origin server
Number of HTTP 3xx redirects issued by the origin server
Number of HTTP 4xx errors from the origin server
Number of HTTP 5xx errors from the origin server
Number of requests triggering monitoring actions
Requests resulting in neither blocks nor sanctions
Number of static asset requests
Average origin server response time in milliseconds
Number of timeouts experienced at the origin server
Number of requests allowed through custom rules
Total number of requests
Number of requests served directly by the origin server
Number of requests blocked due to custom rules
Number of requests allowed by security policies
Number of requests blocked by security policies
Was this page helpful?