INTEGRITY Dokumentace

Metriky a analytika

Durable Objects poskytují analytiku metrik na úrovni namespace Durable Object i na úrovni jednotlivých požadavků.

Metriky zobrazené v Cloudflare dashboard ↗ grafy se získávají z dat Cloudflare GraphQL Analytics API. K metrikám máte přístup přes programově přes GraphQL nebo HTTP klienta.

Zobrazit metriky a analytiku

Analytika za jednotlivé namespace pro Durable Objects je k dispozici na Cloudflare dashboardu. Aktuální a historické metriky namespace zobrazíte takto:

  1. V dashboardu Cloudflare přejděte na Durable Objects stránce.

    Přejděte na Durable Objects ↗
  2. Zobrazte využití Durable Objects na úrovni účtu.

  3. Vyberte existující Durable Object namespace.

  4. Vyberte Metriky kartě.

Volitelně můžete vybrat časové okno pro dotaz. Výchozí hodnota je posledních 24 hodin.

Grafy můžete také filtrovat na jediný Durable Object zadáním jeho ID nebo název a výběrem shody. Vymazáním filtru se vrátíte k metrikám na úrovni namespace.

Využití paměti

Využití paměti graf na Metriky karta zobrazuje V8 izolát využití paměti, pravidelně vzorkované, zatímco jsou vaše Durable Objects aktivní, rozdělené do percentilů P50, P90, P99 a P999. Na každý isolate se vztahuje limit paměti 128 MB.

Tato paměť uchovává stav v paměti, který se v objektech hromadí, například vlastnosti třídy, mezipaměti a aktivní spojení WebSocket, a zůstává zachován napříč požadavky, dokud není objekt hibernován nebo vytěsněn z paměti. Tento stav se při odebrání z paměti, hibernaci ani pádu nezachovává, proto vše důležité ukládejte trvale do úložiště.

To, co graf zobrazuje, závisí na tom, zda použijete filtr:

Využití paměti je založeno na durableObjectsPeriodicGroups GraphQL dataset, který zpřístupňuje memoryUsageBytes metrika. Hodnoty percentilů jsou dostupné jako quantiles.memoryUsageBytesP50 přes quantiles.memoryUsageBytesP999, v bajtech.

Pokud si všimnete, že využití paměti v čase postupně roste, může to znamenat únik paměti. Použijte profilování paměti pomocí DevTools lokálně a pořídit heap snapshots, abyste identifikovali konkrétní objekty způsobující vysokou spotřebu paměti.

Zobrazit protokoly

Protokoly Durable Object můžete zobrazit v Cloudflare dashboardu. Protokoly se agregují podle názvu skriptu a názvu třídy Durable Object.

Chcete-li začít používat logování Durable Object:

  1. Protokolování Durable Object povolte v konfiguračním souboru Wrangler toho Workeru, který definuje vaši třídu Durable Object:

    {
        "observability": {
            "enabled": true
        }
    }
    [observability]
    enabled = true
  2. Nasaďte nejnovější verzi Workeru s aktualizovaným bindingem.

  3. Přejděte na Durable Objects stránce.

    Přejděte na Durable Objects ↗
  4. Vyberte existující Durable Object namespace.

  5. Vyberte Protokoly kartě.

Dotazování přes GraphQL API

Metriky Durable Object jsou založené na GraphQL.

Mezi datové sady, které obsahují metriky Durable Object, patří:

Použijte Introspekce GraphQL pro informace o polích, která jednotlivé datové sady zpřístupňují.

Metriky WebSocketu

Durable Objects používající WebSockets uvidíte metriky požadavků napříč několika datovými sadami GraphQL, protože WebSockets mají různé typy požadavků.

Příklad dotazu GraphQL pro Durable Objects

  viewer {
    /*
    Replace with your account tag, the 32 hex character id visible at the beginning of any url
    when logged in to dash.cloudflare.com or under "Account ID" on the sidebar of the Workers & Pages Overview
    */
    accounts(filter: {accountTag: "your account tag here"}) {
      // Replace dates with a recent date
      durableObjectsInvocationsAdaptiveGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
        sum {
          // Any other fields found through introspection can be added here
          requests
          responseBodySize
        }
      }
      durableObjectsPeriodicGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
        sum {
          cpuTime
        }
      }
      durableObjectsStorageGroups(filter: {date_gt: "2023-05-23"}, limit: 1000) {
        max {
          storedBytes
        }
      }
    }
  }

Viz Dotazování metrik Workers pomocí GraphQL pro ověřování a zjistěte více o dotazování na datové sady Workers.

Další zdroje

Časté dotazy

Jak zjistím, která instance Durable Object vygenerovala daný záznam v logu?

Můžete použít $workers.durableObjectId pro identifikaci konkrétní instance Durable Object, která záznam protokolu vygenerovala.