Skip to content

Commit

Permalink
MINOR: sample: add date_us sample
Browse files Browse the repository at this point in the history
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
  • Loading branch information
etiennecarriere authored and wtarreau committed Jan 21, 2018
1 parent cc35923 commit a792a0a
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
5 changes: 5 additions & 0 deletions doc/configuration.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 12 additions & 0 deletions src/sample.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 },
Expand Down

0 comments on commit a792a0a

Please sign in to comment.