Skip to content

Commit 5fc2fb2

Browse files
committed
[Radar] Add internet services ranking, robots.txt and workers AI entries to glossary
* Fix occurrences of 'Netflows' to 'NetFlows' * Fix json blocks with API response examples
1 parent fa11541 commit 5fc2fb2

File tree

7 files changed

+182
-115
lines changed

7 files changed

+182
-115
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@ pnpm-debug.log*
2525

2626
.wrangler
2727
/assets/secrets
28-
/worker/functions/
28+
/worker/functions/
29+
30+
.idea

src/content/docs/radar/get-started/making-comparisons.mdx

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sidebar:
88

99
When comparing time series, across locations/time ranges/etc., in endpoints that normalize values using [min-max](/radar/concepts/normalization), you must do so in the same request. This is done by asking for multiple series. All values will then be normalized using the same minimum and maximum value and can safely be compared against each other.
1010

11-
[Netflows](/radar/investigate/netflows) values are normalized using [min0-max](/radar/concepts/normalization), so we will use it as an example. Refer to [Get NetFlow time series](/api/resources/radar/subresources/netflows/methods/timeseries/) for more information.
11+
[NetFlows](/radar/investigate/netflows) values are normalized using [min0-max](/radar/concepts/normalization), so we will use it as an example. Refer to [Get NetFlow time series](/api/resources/radar/subresources/netflows/methods/timeseries/) for more information.
1212

1313
## Compare locations
1414

@@ -49,7 +49,7 @@ The response (shortened below for brevity) uses the provided `name` property to
4949
"startTime": "2022-10-26T17:00:00Z",
5050
"endTime": "2022-11-02T17:00:00Z"
5151
},
52-
"aggInterval": "ONE_HOUR",
52+
"aggInterval": "ONE_HOUR"
5353
}
5454
}
5555
}
@@ -113,13 +113,19 @@ In the above example, we requested for an [aggregation interval](/radar/concepts
113113
The `result` property should return a response like this:
114114

115115
```json
116-
"tonga": {
117-
"timestamps": ["2022-10-15T02:00:00Z", "2022-10-15T03:00:00Z", "2022-10-15T04:00:00Z", "2022-10-15T05:00:00Z"],
118-
"values": ["1.0", "0.832473", "0.820083", "0.79408"]
119-
},
120-
"tonga_outage": {
121-
"timestamps": ["2022-01-15T02:00:00Z", "2022-01-15T03:00:00Z", "2022-01-15T04:00:00Z", "2022-01-15T05:00:00Z"],
122-
"values": ["0.354105", "0.357287", "0.181811", "0.044198"]
116+
{
117+
"success": true,
118+
"errors": [],
119+
"result": {
120+
"tonga": {
121+
"timestamps": ["2022-10-15T02:00:00Z", "2022-10-15T03:00:00Z", "2022-10-15T04:00:00Z", "2022-10-15T05:00:00Z"],
122+
"values": ["1.0", "0.832473", "0.820083", "0.79408"]
123+
},
124+
"tonga_outage": {
125+
"timestamps": ["2022-01-15T02:00:00Z", "2022-01-15T03:00:00Z", "2022-01-15T04:00:00Z", "2022-01-15T05:00:00Z"],
126+
"values": ["0.354105", "0.357287", "0.181811", "0.044198"]
127+
}
128+
}
123129
}
124130
```
125131

src/content/docs/radar/glossary.mdx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ Internet connectivity can experience outages or disruptions due to a number of f
110110

111111
An early warning signal that an Internet outage may be underway on a given network or in a given country is an anomalous drop in traffic as compared to historical traffic patterns and trends. Internet anomalies listed in the Cloudflare Radar Outage Center represent an algorithmically-observed anomalous drop in traffic for the listed entity. If a given entry is marked as verified, it means that we have manually corroborated the observed drop in traffic across multiple Cloudflare data sources and/or third-party sources such as [IODA](https://ioda.inetintel.cc.gatech.edu/), or third-party sources of information, such as those listed above. In the case of the latter, an associated Internet outage event will be opened, with the event listed in the Internet Outages table (and API).
112112

113+
## Internet services ranking
114+
115+
Internet services ranking is based on our anonymized and aggregated 1.1.1.1 resolver data, complies with our [privacy policy](https://www.cloudflare.com/en-gb/privacypolicy/), and aims to identify the top most popular Internet services that reflect how people use the Internet globally. A service represents one or more domains aggregated together. Ranking popularity metric is best described as the estimated number of unique users that access domains associated with a service, over some period of time.
116+
113117
## Internet traffic trends
114118

115119
Trends observed in Internet traffic originating globally or within a given location or autonomous system within the selected time range, based on aggregated data from our network.
@@ -154,6 +158,14 @@ Network-level DDoS attacks graphs are based on traffic measured in bytes.
154158

155159
The Post-Quantum Encryption Adoption graph shows the share of HTTPS requests to Cloudflare that are encrypted with post-quantum (PQ) cryptography. Additional details about Cloudflare's support for PQ cryptography can be found at [Cloudflare Research](https://pq.cloudflareresearch.com/).
156160

161+
## Robots.txt
162+
163+
A [robots.txt](https://www.cloudflare.com/learning/bots/what-is-robots-txt/) file contains instructions for bots that tell them which webpages they can and cannot access.
164+
165+
The data displayed for robots.txt is based on successfully parsed robots.txt files from the top 10,000 domains (should we link to somewhere). From these files, we count the occurrences of each user agent under the "Allow" and "Disallow" directives. A user agent is classified as "fully allowed" or "fully disallowed" if the directive value is "*". Otherwise, if the user agent is only allowed or disallowed to crawl specific paths, it is classified as "partially allowed" or "partially disallowed."
166+
167+
Currently, we only include AI-focused user agents listed in the [ai.robots.txt](https://github.com/ai-robots-txt/ai.robots.txt) repository.
168+
157169
## TCP resets and timeouts
158170

159171
In the Transmission Control Protocol (TCP), client-initiated connection resets (via the RST flag, TCP's "panic button") are atypical, and indicate to the server that *something went wrong* requiring the connection to be closed immediately. Similarly, connection timeouts (where the server closes a connection due to an unresponsive client) should not happen in conventional data exchanges. For comparison, a typical TCP connection consists of a 3-way handshake initiated by a client with a SYN packet to the server, then a data exchange moderated with ACK and PSH flags in the data packets, and finally a graceful close initiated from either side with a FIN packet. A FIN close is considered graceful because it ensures both sides complete their data transfer before closing the connection. In contrast, a timeout or RST flag triggers a hard stop, even if data is waiting to be sent or acknowledged. See [RFC 9293](https://datatracker.ietf.org/doc/html/rfc9293) for more details on the TCP protocol.
@@ -205,3 +217,7 @@ The data displayed on domain-specific geographic traffic patterns is based solel
205217
## WHOIS
206218

207219
WHOIS is a standard for publishing the contact and nameserver information for all registered domains. Each registrar maintains their own WHOIS service. Anyone can query the registrar's WHOIS service to reveal the data behind a given domain.
220+
221+
## Workers AI
222+
223+
[Workers AI](https://developers.cloudflare.com/workers-ai) allows you to run machine learning models, on the Cloudflare network, from your own code -- whether that be from Workers, Pages, or anywhere via the Cloudflare API. The data displayed for Workers AI is based on the number of Cloudflare accounts using a model during a specific time interval.

src/content/docs/radar/investigate/http-requests.mdx

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar:
66

77
---
88

9-
While in [Netflows](/radar/investigate/netflows/) we can inspect bytes and packets reaching Cloudflare's edge routers, in HTTP requests we are a layer above in the [OSI model](https://en.wikipedia.org/wiki/OSI_model). HTTP requests examines complete HTTP requests from end users that reach websites served by Cloudflare's [CDN](https://www.cloudflare.com/en-gb/learning/cdn/what-is-a-cdn/).
9+
While in [NetFlows](/radar/investigate/netflows/) we can inspect bytes and packets reaching Cloudflare's edge routers, in HTTP requests we are a layer above in the [OSI model](https://en.wikipedia.org/wiki/OSI_model). HTTP requests examines complete HTTP requests from end users that reach websites served by Cloudflare's [CDN](https://www.cloudflare.com/en-gb/learning/cdn/what-is-a-cdn/).
1010

1111
:::note
1212

@@ -87,15 +87,21 @@ curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?name=h
8787
Here is the abbreviated response:
8888

8989
```json
90-
"human": {
91-
"mobile": "54.967243",
92-
"desktop": "44.974006",
93-
"other": "0.058751"
94-
},
95-
"bot": {
96-
"desktop": "83.275452",
97-
"mobile": "16.707455",
98-
"other": "0.017093"
90+
{
91+
"success": true,
92+
"errors": [],
93+
"result": {
94+
"human": {
95+
"mobile": "54.967243",
96+
"desktop": "44.974006",
97+
"other": "0.058751"
98+
},
99+
"bot": {
100+
"desktop": "83.275452",
101+
"mobile": "16.707455",
102+
"other": "0.017093"
103+
}
104+
}
99105
}
100106
```
101107

@@ -113,13 +119,19 @@ curl "https://api.cloudflare.com/client/v4/radar/http/summary/ip_version?name=hu
113119
This returns the following:
114120

115121
```json
116-
"human": {
117-
"IPv4": "76.213647",
118-
"IPv6": "23.786353"
119-
},
120-
"bot": {
121-
"IPv4": "91.492032",
122-
"IPv6": "8.507968"
122+
{
123+
"success": true,
124+
"errors": [],
125+
"result": {
126+
"human": {
127+
"IPv4": "76.213647",
128+
"IPv6": "23.786353"
129+
},
130+
"bot": {
131+
"IPv4": "91.492032",
132+
"IPv6": "8.507968"
133+
}
134+
}
123135
}
124136
```
125137

@@ -141,29 +153,35 @@ curl "https://api.cloudflare.com/client/v4/radar/http/top/locations/ip_version/I
141153
```
142154

143155
```json
144-
"ipv6": [
145-
{
146-
"clientCountryAlpha2": "IN",
147-
"clientCountryName": "India",
148-
"value": "50.612747"
149-
}, {
150-
"clientCountryAlpha2": "MY",
151-
"clientCountryName": "Malaysia",
152-
"value": "46.233654"
153-
}, {
154-
"clientCountryAlpha2": "UY",
155-
"clientCountryName": "Uruguay",
156-
"value": "39.796762"
157-
}, {
158-
"clientCountryAlpha2": "LK",
159-
"clientCountryName": "Sri Lanka",
160-
"value": "39.709355"
161-
}, {
162-
"clientCountryAlpha2": "VN",
163-
"clientCountryName": "Vietnam",
164-
"value": "39.1514"
156+
{
157+
"success": true,
158+
"errors": [],
159+
"result": {
160+
"ipv6": [
161+
{
162+
"clientCountryAlpha2": "IN",
163+
"clientCountryName": "India",
164+
"value": "50.612747"
165+
}, {
166+
"clientCountryAlpha2": "MY",
167+
"clientCountryName": "Malaysia",
168+
"value": "46.233654"
169+
}, {
170+
"clientCountryAlpha2": "UY",
171+
"clientCountryName": "Uruguay",
172+
"value": "39.796762"
173+
}, {
174+
"clientCountryAlpha2": "LK",
175+
"clientCountryName": "Sri Lanka",
176+
"value": "39.709355"
177+
}, {
178+
"clientCountryAlpha2": "VN",
179+
"clientCountryName": "Vietnam",
180+
"value": "39.1514"
181+
}
182+
]
165183
}
166-
]
184+
}
167185
```
168186

169187
According to the returned data, India is leading in IPv6 adoption.

src/content/docs/radar/investigate/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ sidebar:
88

99
import { DirectoryListing } from "~/components"
1010

11-
Explore the different types of data available in Cloudflare Radar, from Netflows (what feeds the [Internet Traffic Change](https://radar.cloudflare.com/) chart in Radar) to HTTP requests and DNS queries.
11+
Explore the different types of data available in Cloudflare Radar, from NetFlows (what feeds the [Internet Traffic Change](https://radar.cloudflare.com/) chart in Radar) to HTTP requests and DNS queries.
1212

1313
<DirectoryListing />

src/content/docs/radar/investigate/netflows.mdx

Lines changed: 52 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
pcx_content_type: reference
3-
title: Netflows
3+
title: NetFlows
44
sidebar:
55
order: 2
66

77
---
88

9-
[Netflows](https://en.wikipedia.org/wiki/NetFlow) shows network traffic data from end users collected from Cloudflare's edge routers. Netflows' data also feeds the [Internet traffic change](https://radar.cloudflare.com/) chart.
9+
[NetFlows](https://en.wikipedia.org/wiki/NetFlow) shows network traffic data from end users collected from Cloudflare's edge routers. NetFlows' data also feeds the [Internet traffic change](https://radar.cloudflare.com/) chart.
1010

11-
Netflows includes all types of traffic from Cloudflare's routers, not just traffic to websites served by Cloudflare's [CDN](https://www.cloudflare.com/en-gb/learning/cdn/what-is-a-cdn/).
11+
NetFlows includes all types of traffic from Cloudflare's routers, not just traffic to websites served by Cloudflare's [CDN](https://www.cloudflare.com/en-gb/learning/cdn/what-is-a-cdn/).
1212

1313
## List of endpoints
1414

@@ -20,7 +20,7 @@ Besides comparing time series across locations or date ranges (discussed in [Mak
2020

2121
:::note[NetFlow products]
2222

23-
`HTTP` traffic only includes web traffic to Cloudflare's zones, while `ALL` also includes traffic to all other services, like [Spectrum](/spectrum/), [Magic Transit](/magic-transit/), [1.1.1.1](/1.1.1.1/), and others.
23+
`HTTP` traffic only includes web traffic to Cloudflare's zones, while `ALL` also includes traffic to all other services, like [Spectrum](/spectrum/), [Magic Transit](/magic-transit/), [1.1.1.1](/1.1.1.1/), and others.
2424
:::
2525

2626
In the following example, we will examine both `ALL` and `HTTP` traffic in two [autonomous systems](https://www.cloudflare.com/en-gb/learning/network-layer/what-is-an-autonomous-system/). First, we will examine [AS3243](https://radar.cloudflare.com/as3243), a Portuguese local Internet Service Provider (ISP). The parameters for all traffic are `name=AS3243_all&product=ALL&dateRange=1d&asn=3243`, and for just the HTTP traffic are `name=AS3243_http&product=HTTP&dateRange=1d&asn=3243`):
@@ -33,14 +33,20 @@ curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=meo_al
3333
This is the abbreviated response:
3434

3535
```json
36-
"AS3243_all": {
37-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
38-
"values": ["0.565885", "0.586434", "..."]
39-
},
40-
"AS3243_http": {
41-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
42-
"values": ["0.548564", "0.568329", "..."]
43-
},
36+
{
37+
"success": true,
38+
"errors": [],
39+
"result": {
40+
"AS3243_all": {
41+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
42+
"values": ["0.565885", "0.586434", "..."]
43+
},
44+
"AS3243_http": {
45+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
46+
"values": ["0.548564", "0.568329", "..."]
47+
}
48+
}
49+
}
4450
```
4551

4652
`HTTP` traffic values are similar to `ALL` traffic values. This means that most traffic Cloudflare receives from this AS is traffic to websites served by Cloudflare's [CDN](https://www.cloudflare.com/en-gb/learning/cdn/what-is-a-cdn/) product.
@@ -55,13 +61,19 @@ curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_
5561
The abbreviated response is:
5662

5763
```json
58-
"AS174_all": {
59-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
60-
"values": ["0.917348", "1.0", "..."]
61-
},
62-
"AS174_http": {
63-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
64-
"values": ["0.381777", "0.408091", "..."]
64+
{
65+
"success": true,
66+
"errors": [],
67+
"result": {
68+
"AS174_all": {
69+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
70+
"values": ["0.917348", "1.0", "..."]
71+
},
72+
"AS174_http": {
73+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
74+
"values": ["0.381777", "0.408091", "..."]
75+
}
76+
}
6577
}
6678
```
6779

@@ -77,21 +89,27 @@ curl "https://api.cloudflare.com/client/v4/radar/netflows/timeseries?name=AS174_
7789
which would lead to a response like this:
7890

7991
```json
80-
"AS174_all": {
81-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
82-
"values": ["0.917348", "1.0", "..."]
83-
},
84-
"AS174_http": {
85-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
86-
"values": ["0.381777", "0.408091", "..."]
87-
},
88-
"AS3243_all": {
89-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
90-
"values": ["0.317136", "0.328652", "..."]
91-
},
92-
"AS3243_http": {
93-
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
94-
"values": ["0.307429", "0.318505", "..."]
92+
{
93+
"success": true,
94+
"errors": [],
95+
"result": {
96+
"AS174_all": {
97+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
98+
"values": ["0.917348", "1.0", "..."]
99+
},
100+
"AS174_http": {
101+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
102+
"values": ["0.381777", "0.408091", "..."]
103+
},
104+
"AS3243_all": {
105+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
106+
"values": ["0.317136", "0.328652", "..."]
107+
},
108+
"AS3243_http": {
109+
"timestamps": ["2022-11-08T14:00:00Z", "2022-11-08T15:00:00Z", "..."],
110+
"values": ["0.307429", "0.318505", "..."]
111+
}
112+
}
95113
}
96114
```
97115

0 commit comments

Comments
 (0)