Lines Matching +full:max +full:- +full:sample +full:- +full:rate +full:- +full:hz
2 .\" Copyright (c) 2016-2018 Netflix, Inc.
212 framework facilitates real-time kernel and user space statistics gathering.
238 .Bd -literal -offset indent
239 ---------------------------------------------------------
242 ---------------------------------------------------------
245 The publicly visible 8-byte header is defined as:
246 .Bd -literal -offset indent
289 .Bd -literal -offset indent
310 .Bl -tag -width ".Dv VS_STYPE_TDGST"
319 .Dq out-of-band/bucket
331 A dynamic bucket histogram of VOI values based on the t-digest method
332 .Po refer to the t-digest paper in the
345 .Bd -literal -offset indent
365 to encapsulate per-template sample rate information per the definition below:
366 .Bd -literal -offset indent
381 member holds the template's sample rate as an integer percentage in the range
391 .Bd -literal -offset indent
403 .Bl -dash
434 .Bl -enum
455 The in-kernel
457 framework exposes the following framework-specific variables in the
462 .Bl -tag -width "templates"
464 Read-only CSV list of registered templates in normative template spec form.
470 runtime-stable template slot ID for use with other API functions.
477 function returns the runtime-stable template slot ID of any registered template
492 function provides a generic handler for template sample rates management and
496 Subsystems can use this function to create a subsystem-specific
498 MIB variable that manages and reports subsystem-specific template sampling
504 which is a callback used to interact with the subsystem's stats template sample
508 as non-zero, which causes a zero-initialized allocation of arg2-sized contextual
509 memory to be heap-allocated and passed in to all subsystem callbacks made during
531 helper macros or manually for non-standard use cases.
660 Returning a non-zero value from the callback function terminates the iteration.
674 debugging or string-to-binary blob reconstruction purposes.
706 .Ss Space-Time Complexity
708 .Bd -literal -offset indent
709 ------------------------------------------------------
712 ------------------------------------------------------
731 Data storage for statistics is only allocated for non-vacant slot pairs.
734 .Bl -dash
758 .Bd -literal
759 --------------------------------------
761 |------------------------------------|
765 |------------------------------------|
768 | voi[2]voistat[MAX] | struct voistat, 8 bytes
771 | voi[0]voistat[MAX] (vacant) | struct voistat, 8 bytes
773 |------------------------------------|
775 | voi[2]voistat[MAX]voistatdata | struct voistatdata_int32, 4 bytes
778 --------------------------------------
790 .Bd -literal
799 vois[0]stat[1]: stype=-1
800 vois[0]stat[2]: stype=-1
804 vois[1]: id=-1
807 vois[2]stat[0]: stype=-1
811 vois[2]stat[2]: stype=MAX, flags=0x0000, dtype=INT_U32, dsz=4, \\
825 API functions that reference a non-template blob.
829 in-kernel, and
835 returns a runtime-stable template slot ID on success, or a negative errno on
842 returns a runtime-stable template slot ID, or negative errno on failure.
865 or -1 if a NULL selection was made, that is no stats collection this roll.
946 .%T "Computing Extremely Accurate Quantiles Using t-digests"
947 .%U "https://github.com/tdunning/t-digest/raw/master/docs/t-digest-paper/histo.pdf"
955 .An -nosplit
962 Granularity of timing-dependent network statistics, in particular TCP_RTT,
964 .Dv HZ
966 To minimize the measurement error avoid using HZ lower than 1000.