Skip to content

Understanding Interceptor Synchronization with the BizMetry Platform

Once deployed, a Biz Interceptor doesn't push data continuously — it runs two independent periodic cycles, each on its own configurable interval, both tuned per-environment on Step 3 — Tuning (or the equivalent tab of the Edit dialog).

Not the same thing as Agent synchronization

This page covers the interceptor's own sync cycle — separate from, and unrelated to, how the Agent itself keeps its own configuration and health in sync with the platform. The interceptor talks to its environment's Agent as part of the cycle described below, but the Agent's own platform sync runs independently.


Heartbeat

On the Heartbeat Interval (default 60 seconds), the interceptor sends a lightweight signal to the BizMetry platform confirming it's still alive and reachable — nothing else. This is what drives Last Heartbeat and, together with the interceptor's own reachability check to its Agent, the four-state runtime status shown throughout the platform.

A missed heartbeat window is what eventually flips an environment to Offline — see Priority Order for exactly how that's decided relative to the other states.

Sync

On the Sync Interval (default 60 seconds), the interceptor sends whatever it has actually captured since the last sync — up to Sync Batch Size frames per batch — to its environment's Agent. This is what drives Sync Count, and the Captured/Uploaded/Filtered/Dropped counters shown throughout Consolidated Stats.

Between sync ticks, captured frames sit in the interceptor's own in-memory buffer, sized by Buffer Max Size. This is also where Pressure comes from: pressure is exactly how full that buffer is at any given moment, as a percentage of Buffer Max Size. A healthy interceptor drains its buffer close to empty on every sync tick; sustained pressure means capture is consistently outpacing what a single sync cycle can transmit — worth tuning Sync Interval, Sync Batch Size, or Transmit Worker Count (which parallelizes batch transmission) before it reaches 100% and starts dropping newly-captured frames. In practice, Sync Batch Size and the active Transmit Worker Count already move on their own between syncs under sustained pressure, independent of whatever's configured on the Tuning tab — see Backpressure Auto-Tuning.

If a sync attempt fails — most commonly because the environment's Agent is temporarily unreachable — nothing already buffered is lost; the interceptor simply retries on the next tick. If the Agent stays unreachable across several consecutive attempts, the interceptor also periodically tries to re-establish the connection itself, on the separate Reconnect Interval, independent of the regular sync cadence.


Why Both Cycles Exist Separately

Heartbeat and Sync are deliberately split into two independent signals rather than one combined "I'm here and here's my data" call:

  • An interceptor can be perfectly reachable (heartbeating fine) while genuinely having nothing new to sync — an idle application simply isn't generating traffic to capture. Splitting the two means "no data this cycle" is never confused with "the interceptor stopped responding."
  • The two intervals can be tuned independently for the same environment — for example, a fast heartbeat for quick status detection, paired with a slower, larger-batched sync interval to reduce transmission overhead on a low-traffic environment.