Skip to main content

ConfigValueGroup

Struct ConfigValueGroup 

Source
pub struct ConfigValueGroup {
    pub enabled: bool,
    pub heartbeat_after: Duration,
    pub heartbeat_interval: Duration,
    pub request_timeout: Duration,
    pub final_flush_timeout: Duration,
    pub max_in_flight: usize,
}
Expand description

ConfigValueGroup struct containing all configurable values

Fields§

§enabled: bool

Whether the client reports transfer performance telemetry to the CAS server.

When enabled, each upload or download transfer sends a single summary document to POST /v1/telemetry when it finishes, plus periodic heartbeat documents for transfers that run longer than heartbeat_after. Sends are best-effort: they are never retried, never block data movement, and failures are only logged at DEBUG.

The payload carries no file names, paths, hashes, repository ids, or user ids.

Telemetry is force-disabled regardless of this value when any of huggingface_hub’s opt-out variables (HF_HUB_DISABLE_TELEMETRY, DISABLE_TELEMETRY, DO_NOT_TRACK, HF_HUB_OFFLINE, TRANSFORMERS_OFFLINE) is set to a truthy value.

The default value is true.

Use the environment variable HF_XET_TELEMETRY_ENABLED to set this value.

§heartbeat_after: Duration

How long a transfer must run before it starts emitting heartbeat documents.

Short transfers - the common case - only ever emit their terminal summary. Heartbeats exist so a long transfer that hangs or is killed still reports something.

Set to zero to disable heartbeats entirely.

The default value is 5 minutes.

Use the environment variable HF_XET_TELEMETRY_HEARTBEAT_AFTER to set this value.

§heartbeat_interval: Duration

The interval between heartbeat documents once heartbeat_after has elapsed.

The default value is 5 minutes.

Use the environment variable HF_XET_TELEMETRY_HEARTBEAT_INTERVAL to set this value.

§request_timeout: Duration

Whole-request budget for a single telemetry POST, including connection setup.

The default value is 5 seconds.

Use the environment variable HF_XET_TELEMETRY_REQUEST_TIMEOUT to set this value.

§final_flush_timeout: Duration

How long a transfer waits for its terminal telemetry document to be delivered.

This runs after all transfer work has completed, so it delays no data movement, but it does delay the return of finalize(). A short bounded wait is used because a fully detached final send is usually lost: host processes frequently exit within milliseconds of the transfer returning.

Set to zero to make the terminal send fully detached.

The default value is 2 seconds.

Use the environment variable HF_XET_TELEMETRY_FINAL_FLUSH_TIMEOUT to set this value.

§max_in_flight: usize

Maximum number of telemetry requests allowed in flight at once, across the whole process.

Documents submitted beyond this cap are dropped rather than queued; this is the backpressure mechanism that keeps a degraded telemetry endpoint from accumulating tasks.

The cap is process-wide rather than per-transfer, so it bounds a wide fan-out - a snapshot download becomes many concurrent per-file transfers, and a per-transfer cap would multiply by that count instead of limiting it.

The default value is 32. It is sized as a process-wide number: a transfer emits one terminal document, and heartbeats only start after heartbeat_after, so the realistic burst is a set of concurrent transfers finalizing together. A much smaller ceiling would shed most of a wide snapshot’s terminal documents, which are the ones worth keeping.

Use the environment variable HF_XET_TELEMETRY_MAX_IN_FLIGHT to set this value.

Implementations§

Source§

impl ConfigValueGroup

Source

pub fn new() -> Self

Create a new instance with default values only (no environment variable overrides).

Source

pub fn apply_env_overrides(&mut self)

Apply environment variable overrides to this configuration group.

The group name is derived from the module path. For example, in module xet_config::groups::data, the env var for TEST_INT would be HF_XET_DATA_TEST_INT.

Source

pub fn field_names() -> &'static [&'static str]

Returns the list of field names in this configuration group.

Source

pub fn get(&self, name: &str) -> Result<String, ConfigError>

Get a configuration field’s string representation by name.

Trait Implementations§

Source§

impl AsRef<ConfigValueGroup> for ConfigValueGroup

Source§

fn as_ref(&self) -> &ConfigValueGroup

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for ConfigValueGroup

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ConfigValueGroup

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ConfigValueGroup

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DropFlavorWrapper<T> for T

Source§

type Flavor = MayDrop

The DropFlavor that wraps T into Self
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<E> ResultError for E
where E: Send + Debug + Sync,

Source§

impl<T> ResultType for T
where T: Send + Clone + Sync + Debug,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more