Skip to content

Commit a8c77bb

Browse files
dmnksjan-kolarik
authored andcommitted
Update the man page entry for the countme option
Make it a bit more explanatory, format the age buckets as a table and reflect the changes from the libdnf PR #1662.
1 parent f211e1a commit a8c77bb

File tree

1 file changed

+44
-17
lines changed

1 file changed

+44
-17
lines changed

doc/conf_ref.rst

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -858,23 +858,50 @@ configuration.
858858
``countme``
859859
:ref:`boolean <boolean-label>`
860860

861-
Determines whether a special flag should be added to a single, randomly
862-
chosen metalink/mirrorlist query each week.
863-
This allows the repository owner to estimate the number of systems
864-
consuming it, by counting such queries over a week's time, which is much
865-
more accurate than just counting unique IP addresses (which is subject to
866-
both overcounting and undercounting due to short DHCP leases and NAT,
867-
respectively).
868-
869-
The flag is a simple "countme=N" parameter appended to the metalink and
870-
mirrorlist URL, where N is an integer representing the "longevity" bucket
871-
this system belongs to.
872-
The following 4 buckets are defined, based on how many full weeks have
873-
passed since the beginning of the week when this system was installed: 1 =
874-
first week, 2 = first month (2-4 weeks), 3 = six months (5-24 weeks) and 4
875-
= more than six months (> 24 weeks).
876-
This information is meant to help distinguish short-lived installs from
877-
long-term ones, and to gather other statistics about system lifecycle.
861+
When enabled, one (and only one) HTTP GET request for the metalink file
862+
will be selected at random every week to carry a special URL flag.
863+
864+
This flag allows the repository provider to estimate the number of systems
865+
consuming the repository, by counting such requests over a week's time.
866+
This method is more accurate than just counting unique IP addresses (which
867+
is subject to both overcounting and undercounting due to short DHCP leases
868+
and NAT, respectively).
869+
870+
This is *not* an out-of-band HTTP request made for this purpose alone.
871+
Only requests initiated by DNF during normal operation, such as to check
872+
for metadata updates, can get this flag.
873+
874+
The flag is a simple "countme=N" parameter appended to the metalink URL
875+
where N is an integer representing the age "bucket" this system belongs to.
876+
Four buckets are defined, based on how many full weeks have passed since
877+
the installation of a system:
878+
879+
====== ===============================
880+
bucket system age
881+
====== ===============================
882+
1 first week
883+
2 first month (2 - 4 weeks)
884+
3 first 6 months (5 - 24 weeks)
885+
4 more than 6 months (> 24 weeks)
886+
====== ===============================
887+
888+
This number is meant to help distinguish short-lived (throwaway) machines
889+
from long-term installs and get a better picture of how systems are used
890+
over time.
891+
892+
To determine a system's installation time ("epoch"), the ``machine-id(5)``
893+
file's modification time is used as the single source of truth. This file
894+
is semantically tied to the system's lifetime as it's typically populated
895+
at installation time or during the first boot by an installer tool or init
896+
system (such as ``systemd(1)``), respectively, and remains unchanged.
897+
898+
If the file is empty or missing (such as in containers), the time of the
899+
very first request made using the expanded metalink URL (i.e. with any
900+
repository variables such as ``$releasever`` substituted) that carried the
901+
flag is declared as the epoch.
902+
903+
If no metalink URL is defined for this repository but a mirrorlist URL is,
904+
the latter is used for this purpose instead.
878905

879906
Default is False.
880907

0 commit comments

Comments
 (0)