Is there a builtin value i can emit to linelog that will indicate how long a given request has taken from start to finish? -- Thanks, Andy Arp
On Sep 27, 2023, at 1:22 PM, Andy Arp <bubbaandy89@gmail.com> wrote:
Is there a builtin value i can emit to linelog that will indicate how long a given request has taken from start to finish?
You can use: %{expr: %l - %c} which gets you the time difference in seconds. However, that is not generally useful. Matthew just added something related to v3.2.x: https://github.com/FreeRADIUS/freeradius-server/commit/1b4f1d0a622384495ba55... That will be in the next release. Alan DeKok.
Oh this will be perfect! Thank you! On Wed, Sep 27, 2023 at 1:45 PM Alan DeKok <aland@deployingradius.com> wrote:
On Sep 27, 2023, at 1:22 PM, Andy Arp <bubbaandy89@gmail.com> wrote:
Is there a builtin value i can emit to linelog that will indicate how long a given request has taken from start to finish?
You can use:
%{expr: %l - %c}
which gets you the time difference in seconds. However, that is not generally useful.
Matthew just added something related to v3.2.x: https://github.com/FreeRADIUS/freeradius-server/commit/1b4f1d0a622384495ba55...
That will be in the next release.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Thanks, Andy Arp
On 27/09/2023 18:45, Alan DeKok wrote:
On Sep 27, 2023, at 1:22 PM, Andy Arp <bubbaandy89@gmail.com> wrote:
Is there a builtin value i can emit to linelog that will indicate how long a given request has taken from start to finish?
You can use:
%{expr: %l - %c}
which gets you the time difference in seconds. However, that is not generally useful.
Yeah - until now the best was update session-state { &Tmp-Integer64-1 = "%{expr:(%c*1000) + (%C/1000)}" } at the start of authorize, and then update request { &Tmp-Integer64-0 := "%{expr:(%c*1000) + (%C/1000) - %{session-state:Tmp-Integer64-1}}" } to find the time taken so far. It'll work most of the time, but fails randomly because %c and %C are calculated separately.
Matthew just added something related to v3.2.x: https://github.com/FreeRADIUS/freeradius-server/commit/1b4f1d0a622384495ba55...
That will be in the next release.
It makes things much nicer :) update session-state { &Tmp-Integer64-1 = "%{time_since:ms}" } and update request { &Tmp-Integer64-0 := "%{time_since:ms &session-state:Tmp-Integer64-1}" } Debian/Ubuntu packages in the freeradius-devel-3.2 repo contain it. -- Matthew
participants (3)
-
Alan DeKok -
Andy Arp -
Matthew Newton