Search


Search something to see results

DynamicBlockMetadata

interface DynamicBlockMetadata {
    blockingDuration?: number;
    bodyMergeChanges?: {
        inserted: string[];
        insertedTruncated?: boolean;
        removed: string[];
        removedTruncated?: boolean;
    };
    changeDetection?: number;
    changes: ChangeInfo;
    comparedBlocks: number;
    complete: number;
    dataComplete: boolean;
    deactivateSpeedKit?: (disconnectCause?: DisconnectCause) => void;
    debug?: DebugInfo[];
    delayedDoneSignal?: number;
    delayedOfflineBanner?: number;
    detectChanges?: (
        local: HTMLElement,
        remote: HTMLElement,
        cd: ChangeDetection[],
    ) => void;
    errors: ErrorInfo[];
    exchangeDocument?: (doc: Document) => void;
    frameToNextTask?: number;
    frameToPaint?: number;
    hotness?: number;
    isChangeDetectionExecuted?: boolean;
    localBlocks: number;
    mergedBlocks: number;
    mergeDuration?: number;
    mergeToFrame?: number;
    mergeToPaint?: number;
    mergeToRelease?: number;
    missingSelectors: string[];
    originResponseStart?: number;
    originTTFB?: number;
    received?: number;
    reloadFromOrigin?: () => void;
    remoteBlocks: number;
    responsePreparation?: number;
    retries: number;
    scriptsAtRisk: string[];
    setAssetList?: (assetList: { scripts: string[]; styles: string[] }) => void;
    ssr?: SsrMetaData;
    start: number;
    status: number;
    track: (action: string, label: string, value: number) => void;
    trackChanges?: (changes: DetectedChanges) => void;
    updateDevice: (device: string) => void;
}

Index

Properties

Types.DynamicBlockMetadata.blockingDurationTypes.DynamicBlockMetadata.bodyMergeChangesTypes.DynamicBlockMetadata.changeDetectionTypes.DynamicBlockMetadata.changesTypes.DynamicBlockMetadata.comparedBlocksTypes.DynamicBlockMetadata.completeTypes.DynamicBlockMetadata.dataCompleteTypes.DynamicBlockMetadata.deactivateSpeedKitTypes.DynamicBlockMetadata.debugTypes.DynamicBlockMetadata.delayedDoneSignalTypes.DynamicBlockMetadata.delayedOfflineBannerTypes.DynamicBlockMetadata.detectChangesTypes.DynamicBlockMetadata.errorsTypes.DynamicBlockMetadata.exchangeDocumentTypes.DynamicBlockMetadata.frameToNextTaskTypes.DynamicBlockMetadata.frameToPaintTypes.DynamicBlockMetadata.hotnessTypes.DynamicBlockMetadata.isChangeDetectionExecutedTypes.DynamicBlockMetadata.localBlocksTypes.DynamicBlockMetadata.mergedBlocksTypes.DynamicBlockMetadata.mergeDurationTypes.DynamicBlockMetadata.mergeToFrameTypes.DynamicBlockMetadata.mergeToPaintTypes.DynamicBlockMetadata.mergeToReleaseTypes.DynamicBlockMetadata.missingSelectorsTypes.DynamicBlockMetadata.originResponseStartTypes.DynamicBlockMetadata.originTTFBTypes.DynamicBlockMetadata.receivedTypes.DynamicBlockMetadata.reloadFromOriginTypes.DynamicBlockMetadata.remoteBlocksTypes.DynamicBlockMetadata.responsePreparationTypes.DynamicBlockMetadata.retriesTypes.DynamicBlockMetadata.scriptsAtRiskTypes.DynamicBlockMetadata.setAssetListTypes.DynamicBlockMetadata.ssrTypes.DynamicBlockMetadata.startTypes.DynamicBlockMetadata.statusTypes.DynamicBlockMetadata.trackTypes.DynamicBlockMetadata.trackChangesTypes.DynamicBlockMetadata.updateDevice

Properties

blockingDuration?: number

Duration of blocking script (speed-kit-dom-ready.js).

bodyMergeChanges?: {
    inserted: string[];
    insertedTruncated?: boolean;
    removed: string[];
    removedTruncated?: boolean;
}

Tracks inserted/removed top-level elements when merging the full body. Each entry is a CSS selector computed via getSelector.

Type Declaration

  • inserted: string[]

    CSS selectors of top-level elements that were only present in the origin/remote body and got inserted during merge.

  • OptionalinsertedTruncated?: boolean

    Whether the inserted list was truncated to keep tracking payload size bounded.

  • removed: string[]

    CSS selectors of top-level elements that were only present in the cached/local body and got removed during merge.

  • OptionalremovedTruncated?: boolean

    Whether the removed list was truncated to keep tracking payload size bounded.

changeDetection?: number

How long the change detection took.

changes: ChangeInfo

Details about detected changes between the cached version and the origin version of the document.

comparedBlocks: number

Number of blocks which were compared by the change detection.

complete: number

A timestamp indicating when the dynamic fetcher was done merging blocks.

dataComplete: boolean

A boolean indicating when the service worker answered the dynamic fetcher.

deactivateSpeedKit?: (disconnectCause?: DisconnectCause) => void

Locally deactivates Speed Kit.

2.20.0

debug?: DebugInfo[]

Dynamic Block Debug Information.

delayedDoneSignal?: number

The id of the timer executing the done signal. This can be used to abort emitting the signal in error cases.

delayedOfflineBanner?: number

The id of the timer showing the offline banner. This can be used to abort displaying the banner in error cases.

detectChanges?: (
    local: HTMLElement,
    remote: HTMLElement,
    cd: ChangeDetection[],
) => void

Detects changes between the local and remote document and tracks them using the trackChanges method.

2.21.0

errors: ErrorInfo[]

All Error that happened while merging blocks.

exchangeDocument?: (doc: Document) => void

Exchange the current document with the provided document (e.g., error page).

2.20.0

frameToNextTask?: number

Duration from start of the animation frame to newly scheduled task.

frameToPaint?: number

Duration of the animation and paint procedure.

hotness?: number

Hotness of the resource.

isChangeDetectionExecuted?: boolean

Whether the change detection was executed.

localBlocks: number

Amount of local blocks within cached site.

mergedBlocks: number

Amount of merged blocks.

mergeDuration?: number

Duration of response preparation timespan involving automated change detections.

mergeToFrame?: number

Duration from end of merge to start of next animation frame.

mergeToPaint?: number

Duration from end of merge to end of paint.

mergeToRelease?: number

Duration from end of merge to release of our blocking resource.

missingSelectors: string[]

Stores the selectors and finds of dynamicBlockConfig missing from the remote document. This property is used to track outdated change detection configuration.

originResponseStart?: number

A timestamp indicating when the first byte of the origin document was received.

originTTFB?: number

The TTFB of the origin document.

received?: number

A timestamp indicating when the remote document was done loading.

reloadFromOrigin?: () => void

Reloads the current page from origin.

2.20.0

remoteBlocks: number

Amount of blocks in the origin's personalized site.

responsePreparation?: number

Duration of response preparation timespan involving automated change detections.

retries: number

How many retries were needed, 0 if non needed.

scriptsAtRisk: string[]

Scripts at risk of not being executed by Chrome.

setAssetList?: (assetList: { scripts: string[]; styles: string[] }) => void

Sets the list of external assets of a document.

ssr?: SsrMetaData

Metadata of speed-kit-prerender-ready event.

start: number

A timestamp indicating when the dynamic fetcher was started.

status: number

The status of the remote document request.

track: (action: string, label: string, value: number) => void

Track custom events.

trackChanges?: (changes: DetectedChanges) => void

Tracks changes detected during the merge.

2.20.0

updateDevice: (device: string) => void

Sends custom device types.