freebsd-dev/lib
Edward Tomasz Napierala 1a13f2e6b4 Introduce stats(3), a flexible statistics gathering API.
This provides a framework to define a template describing
a set of "variables of interest" and the intended way for
the framework to maintain them (for example the maximum, sum,
t-digest, or a combination thereof).  Afterwards the user
code feeds in the raw data, and the framework maintains
these variables inside a user-provided, opaque stats blobs.
The framework also provides a way to selectively extract the
stats from the blobs.  The stats(3) framework can be used in
both userspace and the kernel.

See the stats(3) manual page for details.

This will be used by the upcoming TCP statistics gathering code,
https://reviews.freebsd.org/D20655.

The stats(3) framework is disabled by default for now, except
in the NOTES kernel (for QA); it is expected to be enabled
in amd64 GENERIC after a cool down period.

Reviewed by:	sef (earlier version)
Obtained from:	Netflix
Relnotes:	yes
Sponsored by:	Klara Inc, Netflix
Differential Revision:	https://reviews.freebsd.org/D20477
2019-10-07 19:05:05 +00:00
..
atf libatf: remove workaround not required after atf >= 0.18 update 2019-06-01 18:26:07 +00:00
clang Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp 2019-07-20 15:26:21 +00:00
csu Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2019-10-06 04:19:49 +00:00
geom Add a "count_until_fail" option to gnop, which says to start failing 2019-09-13 23:03:56 +00:00
googletest Import proof-of-concept for handling GTEST_SKIP() in Environment::SetUp 2019-04-01 18:07:48 +00:00
lib80211 [lib80211] add initial VHT (11ac) channel ranges for FCC. 2019-09-05 15:55:24 +00:00
libalias pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libarchive Whitespace cleanup, no functional change 2019-09-19 13:25:19 +00:00
libauditd pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libbe fixup up fallout from r352447 in libbe 2019-09-17 14:15:48 +00:00
libbearssl Add libbearssl 2019-02-26 05:59:22 +00:00
libbegemot
libblacklist
libblocksruntime
libbluetooth pkgbase: Put libbluetooth in the bluetooth package 2019-09-05 14:11:16 +00:00
libbsdstat
libbsm
libbsnmp Avoid the use of the non-portable -D argument to ls. 2019-09-11 17:01:31 +00:00
libbz2
libc memfd_create(3): Don't actually force hugetlb size with MFD_HUGETLB 2019-09-29 17:30:10 +00:00
libc_nonshared
libc++ Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2019-10-06 04:19:49 +00:00
libc++experimental Rework CXXSTD setting via r345708 2019-04-22 18:38:54 +00:00
libc++fs Rework CXXSTD setting via r345708 2019-04-22 18:38:54 +00:00
libcalendar pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libcam pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libcapsicum pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libcasper pkgbase: Move libcap_ to FreeBSD-runtime 2019-09-05 14:10:26 +00:00
libclang_rt Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++, 2019-06-12 21:10:37 +00:00
libcom_err pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libcompat ftime appeared in 7th Edition Unix to replace gtime. 2018-10-28 02:58:15 +00:00
libcompiler_rt compiler-rt: enable __bswapsi2/__bswapdi2 for RISC-V 2019-08-14 18:41:28 +00:00
libcrypt pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libcuse Implement flag for telling cuse(3) clients if the peer is running in 32-bit 2019-04-18 19:04:07 +00:00
libcxxrt Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2019-10-06 04:19:49 +00:00
libdevctl pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libdevdctl
libdevinfo pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libdevstat pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libdl
libdpv pkgbase: Add a FreeBSD-dpv package 2019-07-19 15:10:53 +00:00
libdwarf
libedit Update libedit to a snapshot from 2019-09-10 2019-09-13 06:50:02 +00:00
libefivar Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
libelf pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libelftc libelftc: Add MLINKS. 2019-05-30 19:18:01 +00:00
libevent
libexecinfo
libexpat Update expat to 2.2.6 2018-11-04 16:08:59 +00:00
libfetch pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libfigpar pkgbase: Add a FreeBSD-dpv package 2019-07-19 15:10:53 +00:00
libgcc_eh Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2019-10-06 04:19:49 +00:00
libgcc_s
libgeom pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libgpio pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libgssapi pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libiconv_modules
libifconfig Make libifconfig INTERNALLIB 2019-02-25 18:22:20 +00:00
libipsec pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libipt
libjail pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libkiconv pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libkvm Add support for ps -H on corefiles in libkvm 2019-09-22 13:56:27 +00:00
libldns
liblzma Enable use of Capsicum sandbox when there is only one 2019-01-09 05:30:46 +00:00
libmagic Fix .depend files to work for build tools. 2019-06-15 17:08:13 +00:00
libmd pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libmemstat pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libmilter
libmp pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libmt pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libnetbsd
libnetgraph pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libngatm pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libnv pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libomp To avoid unnecessarily modifying ports, add a -lgomp symlink, since GCC 2019-05-19 20:13:55 +00:00
libopenbsd Allow bootstrapping libopenbsd on Linux 2018-12-05 10:58:02 +00:00
libopencsd
libopie
libpam pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libpathconv
libpcap pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libpe
libpjdlog pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libpmc Re-add ALLOW_MIPS_SHARED_TEXTREL, sprinkle it around 2019-10-06 04:19:49 +00:00
libpmcstat
libproc pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libprocstat pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libradius pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libregex Further normalize copyright notices 2019-09-26 16:19:22 +00:00
librpcsec_gss
librpcsvc pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
librss
librt pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
librtld_db pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libsbuf pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libsdp Add support for Audio Sink and Audio Source profiles to sdpd(8). 2019-01-30 09:44:54 +00:00
libsecureboot libsecureboot: avoid recusion in ve_trust_init 2019-07-11 22:06:59 +00:00
libsm
libsmb
libsmdb
libsmutil
libsqlite3 Disable FTS3, FTS4, and RTREE in bundled and private sqlite3. 2019-01-12 17:56:23 +00:00
libstats Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
libstdbuf
libstdthreads
libsysdecode libsysdecode: decode PROT_MAX flags 2019-09-30 19:03:43 +00:00
libtacplus pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libtelnet
libthr Fix destruction of the robust mutexes. 2019-09-23 13:24:31 +00:00
libthread_db mips: hide regnum definitions behind _KERNEL/_WANT_MIPS_REGNUM 2019-08-22 21:43:21 +00:00
libucl
libufs pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libugidfw pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libulog pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libunbound
libusb libusb: LIBUSB_DEBUG environment variable override of libusb_set_debug 2019-10-02 15:19:39 +00:00
libusbhid pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libutil pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libveriexec
libvgl Fix copying planar bitmaps when the horizontal start and end are both not 2019-05-03 13:06:46 +00:00
libvmmapi
libwrap pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libxo pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
liby
libypclnt pkgbase: Create a FreeBSD-utilities package and make it the default one 2019-09-05 14:15:47 +00:00
libz pkgbase: Put a lot of binaries and lib in FreeBSD-runtime 2019-09-05 14:13:08 +00:00
libzstd Update to Zstandard 1.4.2 2019-08-08 16:54:22 +00:00
msun Do not left-shift a negative number (inducing undefined behavior in 2019-09-25 18:50:57 +00:00
ncurses Fix .depend files to work for build tools. 2019-06-15 17:08:13 +00:00
ofed Rework CXXSTD setting via r345708 2019-04-22 18:38:54 +00:00
tests
Makefile Introduce stats(3), a flexible statistics gathering API. 2019-10-07 19:05:05 +00:00
Makefile.inc