首頁 / 資訊透明

資訊透明

本頁說明本站公布的瀏覽次數如何計算。瀏覽次數資料來自 Cloudflare Analytics Engine。

每位造訪網站的人都計為一次瀏覽。這項數據讀取自 Workers Analytics Engine。

一次瀏覽如何計入統計

  1. 1 有人開啟網站 每位造訪網站的人都計為一次瀏覽。
  2. 2 網站通知 Cloudflare 網站將這次造訪傳送至 Cloudflare,供其記錄。
  3. 3 Cloudflare 儲存造訪紀錄 Workers Analytics Engine 將這次造訪儲存為一個資料點。
  4. 4 網站讀取總數 網站讀取總數,並顯示為瀏覽次數。
  1. 1

    有人開啟網站

    每位造訪網站的人都計為一次瀏覽。

  2. 2

    網站通知 Cloudflare

    網站將這次造訪傳送至 Cloudflare,供其記錄。

  3. 3

    Cloudflare 儲存造訪紀錄

    Workers Analytics Engine 將這次造訪儲存為一個資料點。

  4. 4

    網站讀取總數

    網站讀取總數,並顯示為瀏覽次數。

瀏覽紀錄寫入 Cloudflare 後,再讀取回來顯示於頁面上。

Workers Analytics Engine 是 Cloudflare 用來儲存計數資料的服務,資料分類可以持續增加,不受固定分類清單限制。Cloudflare 將其定位為可大規模處理、分類數量不設限的分析服務。Worker 透過內建 API 寫入資料點,之後同一帳戶就能透過 HTTP SQL API,以 SQL 讀取這些資料點。這套 SQL 語法與 Cloudflare 另一項 Analytics SQL API 所使用的語法不同。

dataset 是資料儲存的單位。Cloudflare 將 dataset 比喻為 SQL 中的資料表:每一列和每一欄都應維持一致的意義。dataset 的名稱在 Worker 設定中指定,並與 Worker 綁定。當 Worker 開始寫入資料時,資料表就會出現,不需要另外宣告欄位。

一個資料點就是一筆事件,也就是資料表中的一列。Worker 記錄事件時,Cloudflare 會加上 timestamp。其餘資料全由 Worker 提供,而且每次都必須按照相同順序提供。Cloudflare 將這些依序排列的位置稱為欄位。

欄位就是這個排列順序中的一個位置。第一個字串一律對應第一個字串欄位,第二個數值一律對應第二個數值欄位。資料庫不會在值的旁邊儲存名稱,而是記錄它的位置。順序一變,欄位的意義也會跟著改變。查詢時,這些位置就對應到資料表的欄。字串欄位為 blob1 到 blob20,數值欄位為 double1 到 double20,抽樣鍵則是 index1。每一列也都包含 timestamp、dataset 和 _sample_interval。查詢可以依當次需求替欄位設定別名,例如 blob1 AS city,但實際儲存的欄位仍是 blob1。

什麼是欄位

  1. 依序排列的字串 之後可能用來分組的標籤,例如地點。
    blob1, then blob2, up to blob20 這個欄位在 Cloudflare 中的名稱。
  2. 依序排列的數值 之後可能用來加總或計算平均值的測量值。
    double1, then double2, up to double20 這個欄位在 Cloudflare 中的名稱。
  3. 一個索引 事件流量龐大而需要抽樣時,Cloudflare 用來決定抽樣的鍵。
    index1 這個欄位在 Cloudflare 中的名稱。
  4. 由 Cloudflare 加上的時間 事件寫入時的時間。
    timestamp 這個欄位在 Cloudflare 中的名稱。
  5. 由 Cloudflare 加上的樣本大小 這筆儲存的資料列代表多少筆原始事件。
    _sample_interval 這個欄位在 Cloudflare 中的名稱。
  1. 依序排列的字串

    之後可能用來分組的標籤,例如地點。

    儲存名稱 blob1, then blob2, up to blob20

  2. 依序排列的數值

    之後可能用來加總或計算平均值的測量值。

    儲存名稱 double1, then double2, up to double20

  3. 一個索引

    事件流量龐大而需要抽樣時,Cloudflare 用來決定抽樣的鍵。

    儲存名稱 index1

  4. 由 Cloudflare 加上的時間

    事件寫入時的時間。

    儲存名稱 timestamp

  5. 由 Cloudflare 加上的樣本大小

    這筆儲存的資料列代表多少筆原始事件。

    儲存名稱 _sample_interval

每個欄位都有固定位置。查詢時可依當次需求替 blob1 設定別名,但實際儲存的欄位仍是 blob1。

欄位分為三種類型。Blob 欄位儲存字串,Cloudflare 稱之為用於分組與篩選的維度,也就是其他系統所說的標籤。每個資料點最多可包含二十個 Blob 欄位,合計不得超過 16 千位元組。Double 欄位儲存數值,也就是可用來加總或計算平均值的測量值。每個資料點最多可包含二十個 Double 欄位。索引則是一個長度不超過 96 位元組的字串。寫入時雖然接受清單格式,但只有清單內恰好包含一個索引時,Cloudflare 才會儲存該資料點。若有第二個索引,該資料點就不會被記錄。

資料量極大時,Analytics Engine 會對資料進行抽樣,讓查詢維持快速。寫入與讀取時都可能抽樣,並以索引為依據。事件數量龐大的索引可能會被抽樣,事件較少的索引則可能保留完整資料。每筆儲存的資料列都包含 _sample_interval,表示該列代表多少筆原始事件。計數結果就是 _sample_interval 的總和。加總測量值時,會先將各筆測量值乘以 _sample_interval。計算平均值時,則以加權總和除以 _sample_interval 的總和。

每次呼叫 Worker 最多可寫入 250 個資料點。資料保留三個月。