Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
unique-xids
Commits
9e6b75dc
Commit
9e6b75dc
authored
Apr 26, 2013
by
Tollef Fog Heen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add %D and %T support to varnishncsa
parent
763a8117
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
5 deletions
+17
-5
varnishncsa.c
bin/varnishncsa/varnishncsa.c
+17
-5
No files found.
bin/varnishncsa/varnishncsa.c
View file @
9e6b75dc
...
...
@@ -97,9 +97,11 @@ static struct logline {
char
*
df_h
;
/* %h (host name / IP adress)*/
char
*
df_m
;
/* %m, Request method*/
char
*
df_s
;
/* %s, Status */
struct
tm
df_t
;
/* %t, Date and time */
struct
tm
df_t
;
/* %t, Date and time
, received
*/
char
*
df_u
;
/* %u, Remote user */
char
*
df_ttfb
;
/* Time to first byte */
double
df_D
;
/* %D, time taken to serve the request,
in microseconds, also used for %T */
const
char
*
df_hitmiss
;
/* Whether this is a hit or miss */
const
char
*
df_handling
;
/* How the request was handled
(hit/miss/pass/pipe) */
...
...
@@ -400,7 +402,6 @@ collect_client(struct logline *lp, enum VSL_tag_e tag, unsigned spec,
const
char
*
ptr
,
unsigned
len
)
{
const
char
*
end
,
*
next
,
*
split
;
long
l
;
time_t
t
;
assert
(
spec
&
VSL_S_CLIENT
);
...
...
@@ -557,18 +558,20 @@ collect_client(struct logline *lp, enum VSL_tag_e tag, unsigned spec,
case
SLT_ReqEnd
:
{
char
ttfb
[
64
];
double
t_start
,
t_end
;
if
(
!
lp
->
active
)
break
;
if
(
lp
->
df_ttfb
!=
NULL
||
sscanf
(
ptr
,
"%*u %
*u.%*u %ld.%*u %*u.%*u %s"
,
&
l
,
ttfb
)
!=
2
)
{
sscanf
(
ptr
,
"%*u %
lf %lf %*u.%*u %s"
,
&
t_start
,
&
t_end
,
ttfb
)
!=
3
)
{
clean_logline
(
lp
);
break
;
}
if
(
lp
->
df_ttfb
!=
NULL
)
free
(
lp
->
df_ttfb
);
lp
->
df_ttfb
=
strdup
(
ttfb
);
t
=
l
;
lp
->
df_D
=
t_end
-
t_start
;
t
=
t_start
;
localtime_r
(
&
t
,
&
lp
->
df_t
);
/* got it all */
lp
->
complete
=
1
;
...
...
@@ -669,6 +672,10 @@ h_ncsa(void *priv, enum VSL_tag_e tag, unsigned fd,
VSB_cat
(
os
,
lp
->
df_b
?
lp
->
df_b
:
"-"
);
break
;
case
'D'
:
/* %D */
VSB_printf
(
os
,
"%f"
,
lp
->
df_D
);
case
'H'
:
VSB_cat
(
os
,
lp
->
df_H
?
lp
->
df_H
:
"HTTP/1.0"
);
break
;
...
...
@@ -724,6 +731,11 @@ h_ncsa(void *priv, enum VSL_tag_e tag, unsigned fd,
VSB_cat
(
os
,
tbuf
);
break
;
case
'T'
:
/* %T */
VSB_printf
(
os
,
"%d"
,
(
int
)
lp
->
df_D
);
break
;
case
'U'
:
VSB_cat
(
os
,
lp
->
df_U
?
lp
->
df_U
:
"-"
);
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment