MINOR: sample: add date_us sample

Add date_us sample that returns the microsecond part of the timeval
structure representing the date of the structure. The "second" part of
the timeval can already be fetched by the "date" sample
This commit is contained in:
Etienne Carriere 2018-01-17 13:43:24 +01:00 committed by Willy Tarreau
parent cc35923c32
commit a792a0aa93
2 changed files with 17 additions and 0 deletions

View File

@ -13503,6 +13503,11 @@ date([<offset>]) : integer
# set an expires header to now+1 hour in every response
http-response set-header Expires %[date(3600),http_date]
date_us : integer
Return the microseconds part of the date (the "second" part is returned by
date sample). This sample is coherent with the date sample as it is comes
from the same timeval structure.
distcc_body(<token>[,<occ>]) : binary
Parses a distcc message and returns the body associated to occurrence #<occ>
of the token <token>. Occurrences start at 1, and when unspecified, any may

View File

@ -2575,6 +2575,17 @@ smp_fetch_date(const struct arg *args, struct sample *smp, const char *kw, void
return 1;
}
/* retrieve the current microsecond part of the date */
static int
smp_fetch_date_us(const struct arg *args, struct sample *smp, const char *kw, void *private)
{
smp->data.u.sint = date.tv_usec;
smp->data.type = SMP_T_SINT;
smp->flags |= SMP_F_VOL_TEST | SMP_F_MAY_CHANGE;
return 1;
}
/* returns the hostname */
static int
smp_fetch_hostname(const struct arg *args, struct sample *smp, const char *kw, void *private)
@ -2768,6 +2779,7 @@ static struct sample_fetch_kw_list smp_kws = {ILH, {
{ "always_true", smp_fetch_true, 0, NULL, SMP_T_BOOL, SMP_USE_INTRN },
{ "env", smp_fetch_env, ARG1(1,STR), NULL, SMP_T_STR, SMP_USE_INTRN },
{ "date", smp_fetch_date, ARG1(0,SINT), NULL, SMP_T_SINT, SMP_USE_INTRN },
{ "date_us", smp_fetch_date_us, 0, NULL, SMP_T_SINT, SMP_USE_INTRN },
{ "hostname", smp_fetch_hostname, 0, NULL, SMP_T_STR, SMP_USE_INTRN },
{ "nbproc", smp_fetch_nbproc,0, NULL, SMP_T_SINT, SMP_USE_INTRN },
{ "proc", smp_fetch_proc, 0, NULL, SMP_T_SINT, SMP_USE_INTRN },