-
-
Save dalyons/2554048 to your computer and use it in GitHub Desktop.
Add X-Request-Start header so we can track queue times in New Relic RPM beginning at Varnish.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
C{ | |
#include </etc/varnish/newrelic.h> | |
}C | |
sub vcl_recv { | |
C{ | |
set_x_request_start(sp); | |
}C | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* Add X-Request-Start header so we can track queue times in New Relic RPM beginning at Varnish. | |
* Taken from https://gist.github.com/494265 & modified to compile on OSX. | |
*/ | |
#include <sys/time.h> | |
void set_x_request_start(const struct sess *sp) { | |
struct timeval detail_time; | |
gettimeofday(&detail_time,NULL); | |
char start[20]; | |
sprintf(start, "t=%lu%06lu", detail_time.tv_sec, detail_time.tv_usec); | |
VRT_SetHdr(sp, HDR_REQ, "\020X-Request-Start:", start, vrt_magic_string_end); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Had to wrap it in a function - original Gist wont compile on OSX due to disabled support for
-fnested-functions
CFLAG/