Commit 18e486f1 authored by Geoff Simmons's avatar Geoff Simmons

Initial commit, passes first test for binary log reads.

parents
See LICENSE for details.
Copyright (c) 2018 UPLEX Nils Goroll Systemoptimierung
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
WORK IN PROGRESS
/*-
* Copyright (c) 2018 UPLEX Nils Goroll Systemoptimierung
* All rights reserved
*
* Author: Geoffrey Simmons <geoffrey.simmons@uplex.de>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include "log.h"
#include "_cgo_export.h"
static int
dispatch_wrapped(struct VSL_data *vsl, struct VSL_transaction * const trans[],
void *priv)
{
return (publish((void *)trans, priv));
}
int
dispatch(struct VSLQ *vslq, int n)
{
return VSLQ_Dispatch(vslq, dispatch_wrapped, (void *)&n);
}
/*-
* Copyright (c) 2018 UPLEX Nils Goroll Systemoptimierung
* All rights reserved
*
* Author: Geoffrey Simmons <geoffrey.simmons@uplex.de>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
// Package log implements a client for the Varnish native logging
// interface.
package log
/*
#cgo pkg-config: varnishapi
#include "log.h"
*/
import "C"
// import "uplex.de/varnishapi/internal/pkg/vsm"
import (
"errors"
"fmt"
"os"
"regexp"
"unsafe"
)
// Possible values for type TxType, which classifies a log
// transaction.
const (
// Unknown transaction type.
TxUnknown = TxType(C.VSL_t_unknown)
// The log of a session, which stands for the "conversation"
// that Varnish has with a single client connection,
// comprising one or more requests/responses.
Sess = TxType(C.VSL_t_sess)
// A client request/response log.
Req = TxType(C.VSL_t_req)
// A backend request/response log.
BeReq = TxType(C.VSL_t_bereq)
// A raw transaction with only one Record, such as the log of
// a backend health check.
TxRaw = TxType(C.VSL_t_raw)
)
// TxType is a classifier for a log transaction, indicating if it is
// the log of a client or backend request/response, a Varnish session,
// or a raw transaction. Possible values for TxType are shown in the
// constants above.
type TxType uint8
// Possible values for a Reason, which classifies the cause of the
// event that was logged.
const (
// Unknown reason.
ReasonUnknown = Reason(C.VSL_r_unknown)
// The start of an HTTP/1 session.
HTTP1 = Reason(C.VSL_r_http_1)
// A client request was received.
Rxreq = Reason(C.VSL_r_rxreq)
// An ESI subrequest.
ESI = Reason(C.VSL_r_esi)
// A request restart.
Restart = Reason(C.VSL_r_restart)
// A backend request resulting from a pass (cache lookup was
// bypassed).
Pass = Reason(C.VSL_r_pass)
// A synchronous backend fetch.
Fetch = Reason(C.VSL_r_fetch)
// A backend fetch in the background.
Bgfetch = Reason(C.VSL_r_bgfetch)
// A pipe (exchanging bytes with a backend until one or the
// other side closes the connection).
Pipe = Reason(C.VSL_r_pipe)
)
// Reason is a classifier for the cause of the event that was logged.
// Possible values for Reason are shown in the constants above.
type Reason uint8
// Possible values for a Grouping, which indicates how transactions
// are aggregated when read from the log. The default Grouping is
// VXID.
const (
// Transactions are not grouped, nor are records grouped into
// transactions -- every transaction has exactly one
// record. Records unrelated to requests, responses and
// sessions, such as backend health checks, are only reported
// in this mode.
GRaw = Grouping(C.VSL_g_raw)
// In the default mode, transactions are not grouped -- each
// read returns one transaction for a request/response (client
// or backend) or session. Non-transactional data, such as
// backend health checks, are not reported in this mode. VXID
// is the unique ID generated by Varnish for each transaction.
VXID = Grouping(C.VSL_g_vxid)
// Group by client request. A group contains the client
// request and any other transactions that it initiated, such
// as backend requests, ESI subrequests and restarts,
Request = Grouping(C.VSL_g_request)
// Group all transactions initiated by a client
// connection. These groups can be much larger than the
// others; they may occupy significantly more memory, and log
// reads with this mode may take much longer.
Session = Grouping(C.VSL_g_session)
)
// Grouping mode determines how transactions are aggregated when read
// from the log. Depending on the mode, transactions in a group may
// form a hierarchy. Possible values for Grouping are shown in the
// constants above. The default Grouping is VXID.
type Grouping uint8
// Possible values for RecordType, which classifies the data in a
// Record.
const (
// The Record is part of the log for a client
// request/response.
Client = RecordType('c')
// Part of the log for a backend request/response.
Backend = RecordType('b')
// Not part of the log of a backend or client
// transaction. Examples are records with tags such as
// "Backend_health", "CLI" and so forth.
None = RecordType('-')
)
// RecordType is a classifier for the data in a Record, indicating if
// it is part of the log for a client request/response, a backend
// request/repsonse, or neither. Corresponds to the indicator 'b',
// 'c' or '-' in the fourth column of verbose varnishlog
// output. Possible values for RecordType are shown in the constants
// above.
type RecordType uint8
func tags() []string {
var tags []string
if uint8(C.slt_max()) > ^uint8(0) {
panic("SLT__MAX > max uint8")
}
max := int(C.slt_max())
for i := 0; i < max; i++ {
if C.VSL_tags[i] == nil {
tags = append(tags, "")
continue
}
tags = append(tags, C.GoString(C.VSL_tags[i]))
}
return tags
}
var (
// Tags is an array of strings indexed by the Tag field of a
// Record, classifying the Record's contents, as in the second
// column of default varnishlog output. Examples are "ReqURL"
// for a client request URL and "BerespStatus" for the HTTP
// status of a backend response.
//
// If Tags[i] == "", then no tag exists for index i.
Tags = tags()
nonprint = regexp.MustCompile("[^[:print:]]")
log2txchan = make(map[int]*(chan<- []*Transaction))
)
// A Record in the Varnish log, corresponding to a line of output from
// the varnishlog utility. Instances of this type are contained in the
// Transaction objects returned by Read() operations, and form the
// bulk of log data.
//
// The contents and format of log records are described in vsl(7):
// https://varnish-cache.org/docs/trunk/reference/vsl.html
type Record struct {
// Indicates whether this record is part of a client or
// backend log, or neither.
Type RecordType
// An index into the Tags array, classifying the contents of
// this record, as in the second column of default varnishlog
// output. For a Tag t, Tags[t] may be a string such as
// "ReqURL" for a client request URL, "BerespStatus" for the
// HTTP status of a backend response, and so forth.
Tag uint8
// The unique ID generated by Varnish for this log
// transaction.
VXID uint
// The log payload is the specific data for this record. The
// payload appears after the second column of default
// varnishlog output.
//
// Unprintable bytes in the payload are rendered with the "%q"
// verb for package fmt: "\xXX", where XX is the hex value of
// the byte.
Payload string
}
// A Transaction is a collection of related log records, typically as
// the log of a client or backend request and response. Transactions
// may also include data unrelated to requests and responses, such as
// backend health checks.
//
// Transactions are read from the log in groups, according to the
// Grouping selected for the log client, corresponding to the grouping
// modes set by varnishlog -g. Transactions in a group may form a
// hierarchy, in which case they are related by the parent VXID
// property -- a transaction's parent VXID is the VXID of the
// transaction that initiated it. Parent VXID 0 indicates that a
// transaction has no parent transaction.
//
// The depth of nesting in a hierarchy is represented by a
// transaction's Level property. Levels start at level 1, except for
// raw transactions, which always have level 0.
type Transaction struct {
// Whether this is the log of a client request/response,
// backend request/response, session and so forth.
Type TxType
// The cause of the event logged by this transaction.
Reason Reason
// The level of this transaction in a group. Always 1 for VXID
// grouping, and always 0 for raw grouping.
Level uint
// The unique ID generated by Varnish for this transaction.
VXID uint32
// The ID of the parent transaction for this transaction in a
// group. 0 if there is no parent. Always 0 for VXID and raw
// groupings.
ParentVXID uint32
// The Records that make up the bulk of this transaction's
// data.
Records []*Record
}
// A Log instance is a client for the native logging interface.
type Log struct {
vsl *C.struct_VSL_data
cursor *C.struct_VSL_cursor
vslq *C.struct_VSLQ
grp C.enum_VSL_grouping_e
query *C.char
}
// New returns a new and initialized instance of Log. Log instances
// should only be created through this method, since it performs
// initializations for the native library that are required for the
// other methods.
//
// New may return nil in rare cases, usually in an out of memory
// condition.
func New() *Log {
log := new(Log)
log.vsl = C.VSL_New()
if log.vsl == nil {
return nil
}
log.grp = C.VSL_g_vxid
log.query = nil
return log
}
// Release frees native resources associated with this client. You
// should always call Release when you're done using a Log client,
// otherwise there is risk of resource leakage. It is wise to make
// use of Go's defer mechanism:
//
// vlog := log.New()
// defer vlog.Release()
// // ... do stuff with vlog
func (log *Log) Release() {
C.VSL_Delete(log.vsl)
if log.vslq != nil {
C.VSLQ_Delete(&log.vslq)
}
}
// Error returns the most recent error message from the native
// interface.
func (log *Log) Error() string {
return C.GoString(C.VSL_Error(log.vsl))
}
// AttachFile attaches the client for reading from the binary log file
// located at path, as written by varnishlog -w.
//
// Returns nil if no file at that path is readable by the current
// process, if it is not a regular file, or if the native interface
// cannot successfully attach to the file.
func (log *Log) AttachFile(path string) error {
info, err := os.Stat(path)
if err != nil {
return err
}
if !info.Mode().IsRegular() {
return errors.New(path + " is not a regular file")
}
log.cursor = C.VSL_CursorFile(log.vsl, C.CString(path), 0)
if log.cursor == nil {
return log
}
return nil
}
func quote(s string) string {
return fmt.Sprintf("%q", s)
}
//export publish
func publish(trans unsafe.Pointer, priv unsafe.Pointer) C.int {
var gtxn []*Transaction
status := C.int(0)
txn := (*[1 << 30]*C.struct_VSL_transaction)(unsafe.Pointer(trans))
n := int(*(*C.int)(priv))
txChan, ok := log2txchan[n]
if !ok {
panic("unmapped transaction channel")
}
for i := 0; txn[i] != nil; i++ {
vtx := txn[i]
tx := new(Transaction)
tx.Type = TxType(C.txtype(vtx))
tx.VXID = uint32(vtx.vxid)
tx.ParentVXID = uint32(vtx.vxid_parent)
tx.Reason = Reason(vtx.reason)
tx.Level = uint(vtx.level)
for {
status = C.int(C.VSL_Next(vtx.c))
if status <= 0 {
break
}
tag := C.tag(vtx.c)
if tag < 0 || int(tag) >= len(Tags) {
panic("tag index out of range")
}
if Tags[tag] == "" {
panic("unknown tag")
}
rec := new(Record)
rec.Tag = uint8(tag)
rec.Payload = C.GoStringN(C.cdata(vtx.c), C.len(vtx.c))
if C.unsafe(tag) != 0 || C.binary(tag) != 0 {
nonprint.ReplaceAllStringFunc(rec.Payload,
quote)
}
switch {
case C.backend(vtx.c) != 0:
rec.Type = Backend
case C.client(vtx.c) != 0:
rec.Type = Client
default:
rec.Type = None
}
rec.VXID = uint(C.vxid(vtx.c))
tx.Records = append(tx.Records, rec)
}
gtxn = append(gtxn, tx)
}
*txChan <- gtxn
return status
}
// Possible values for the Status field of a RWStatus object,
// indicating the error or end condition of a Varnish log read/write
// sequence.
const (
// Write error.
WriteErr = StatusType(C.vsl_e_write)
// IO error while reading.
IOErr = StatusType(C.vsl_e_io)
// Overrun indicates that the write position of a live Varnish
// instance, writing into the ring buffer, has cycled around
// and overtaken the read position of the Log client.
Overrun = StatusType(C.vsl_e_overrun)
// The log was closed or abandoned (usually because the Varnish
// child process stopped).
Abandoned = StatusType(C.vsl_e_abandon)
// The end of a binary log file was reached.
EOF = StatusType(C.vsl_e_eof)
// The end of a live Varnish log was reached (there is
// currently no new log data).
EOL = StatusType(C.vsl_end)
)
// StatusType is the type of the Status field of a RWStatus object,
// and classifies the error or end condition of a log read/write
// sequence. Possible values for StatusType are shown in the constants
// above.
type StatusType int8
// RWStatus indicates the error or end condition of a log read/write
// sequence. A pointers to an object of this type is sent on the
// status channel of a Read operation.
type RWStatus struct {
// A classifier for the error or end condition.
Status StatusType
}
// Error returns a string describing the RWStatus.
//
// Some of the strings returned, such as for EOF or EOL, do not
// necessarily describe an error.
func (rdstatus *RWStatus) Error() string {
switch StatusType(rdstatus.Status) {
case WriteErr:
return "write error"
case IOErr:
return "I/O read error"
case Overrun:
return "Log overrun"
case Abandoned:
return "Log was abandoned or closed"
case EOF:
return "End of file"
case EOL:
return "End of log"
default:
panic("invalid read status")
}
}
// Read starts a goroutine that reads from the currently attached log
// source, and sends the results as groups of pointers to Transaction
// on the txChan channel. When the read process encounters an end or
// error condition, a pointer to a RWStatus is sent on the errChan
// channel indicating the condition.
//
// Returns nil if either of txChan or statusChan is nil, or if the
// native library could not initialize the read.
func (log *Log) Read(txChan chan<- []*Transaction,
statusChan chan<- *RWStatus) error {
if txChan == nil {
return errors.New("txChan is nil")
}
if statusChan == nil {
return errors.New("statusChan is nil")
}
log.vslq = C.VSLQ_New(log.vsl, &log.cursor, log.grp, log.query)
if log.vslq == nil {
return log
}
n := len(log2txchan) + 1
log2txchan[n] = &txChan
go func(vslq *C.struct_VSLQ, n int) {
var status C.int
for status = C.vsl_more; status == C.vsl_more; {
status = C.dispatch(vslq, C.int(n))
}
close(txChan)
delete(log2txchan, n)
rdstatus := new(RWStatus)
rdstatus.Status = StatusType(status)
statusChan <- rdstatus
close(statusChan)
}(log.vslq, n)
return nil
}
/*-
* Copyright (c) 2018 UPLEX Nils Goroll Systemoptimierung
* All rights reserved
*
* Author: Geoffrey Simmons <geoffrey.simmons@uplex.de>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _LOG_H_INCLUDED
#define _LOG_H_INCLUDED
#include <stdio.h>
#include <vapi/vsl.h>
int dispatch(struct VSLQ *vslq, int n);
// Necessary because the field name is a go keyword.
static enum VSL_transaction_e
txtype(struct VSL_transaction *tx)
{
return tx->type;
}
// The rest are necessary due to the use of macros.
static inline int
slt_max()
{
return SLT__MAX;
}
static inline unsigned
vxid(struct VSL_cursor *c)
{
return (VSL_ID(c->rec.ptr));
}
static inline enum VSL_tag_e
tag(struct VSL_cursor *c)
{
return (VSL_TAG(c->rec.ptr));
}
static inline const char *
cdata(struct VSL_cursor *c)
{
return (VSL_CDATA(c->rec.ptr));
}
static inline int
len(struct VSL_cursor *c)
{
// Subtracting one because Go doesn't need the terminating null.
return (VSL_LEN(c->rec.ptr) - 1);
}
static inline int
client(struct VSL_cursor *c)
{
return (VSL_CLIENT(c->rec.ptr));
}
static inline int
backend(struct VSL_cursor *c)
{
return (VSL_BACKEND(c->rec.ptr));
}
static inline int
binary(enum VSL_tag_e tag)
{
return (VSL_tagflags[tag] & SLT_F_BINARY);
}
static inline int
unsafe(enum VSL_tag_e tag)
{
return (VSL_tagflags[tag] & SLT_F_UNSAFE);
}
#endif
/*-
* Copyright (c) 2018 UPLEX Nils Goroll Systemoptimierung
* All rights reserved
*
* Author: Geoffrey Simmons <geoffrey.simmons@uplex.de>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
package log
import (
"bufio"
"errors"
"os"
"regexp"
"strconv"
"testing"
)
const (
testFile = "testdata/bin.log"
vxidLog = "testdata/vxid.log"
failPath = "ifAFileWithThisNameReallyExistsThenTestsFail"
)
func TestCheckData(t *testing.T) {
files := []string{testFile, vxidLog}
for _, file := range files {
_, err := os.Stat(file)
if err != nil {
t.Fatal("Cannot stat " + file + ": " + err.Error())
}
}
}
func TestNewRelease(t *testing.T) {
l := New()
defer l.Release()
if l == nil {
t.Fatal("New() returned nil")
}
}
func TestAttachFile(t *testing.T) {
l := New()
defer l.Release()
err := l.AttachFile(failPath)
if err == nil {
t.Error("Expected AttachFile() to fail for " + failPath)
}
err = l.AttachFile(testFile)
if err != nil {
t.Fatal("Cannot attach to " + testFile + ": " + err.Error())
}
}
type testRec struct {
vxid int
tag string
rectype rune
payload string
}
type testTx struct {
level uint
vxid uint32
txtype string
recs []*testRec
}
var (
txType2string = map[TxType]string{
TxUnknown: "Unknown",
Sess: "Session",
Req: "Request",
BeReq: "BeReq",
}
txline = regexp.MustCompile(`^(\*+)\s+<<\s+(\w+)\s+>>\s+(\d+)`)
recline = regexp.MustCompile(`^-+\s+(\d+)\s+(\w+)\s+([b|c|-])\s+(.*)$`)
)
func scrapeLog(file string) ([]*testTx, error) {
var txn []*testTx
f, err := os.Open(file)
if err != nil {
return nil, err
}
lines := bufio.NewScanner(f)
TX:
for lines.Scan() {
flds := txline.FindStringSubmatch(lines.Text())
if flds == nil {
return nil, errors.New("Cannot parse tx line: " +
lines.Text())
}
txVxid, err := strconv.Atoi(flds[3])
if err != nil {
return nil, errors.New("Cannot parse vxid " +
flds[4] + " in tx line: " + lines.Text())
}
tx := new(testTx)
tx.vxid = uint32(txVxid)
// NB: this works only for levels up to 3
tx.level = uint(len(flds[1]))
tx.txtype = flds[2]
for lines.Scan() {
// XXX: currently does not work for grouped txn
if lines.Text() == "" {
txn = append(txn, tx)
continue TX
}
flds = recline.FindStringSubmatch(lines.Text())
if flds == nil {
return nil, errors.New("Cannot parse record: " +
lines.Text())
}
rec := new(testRec)
rec.vxid, err = strconv.Atoi(flds[1])
if err != nil {
return nil, errors.New("Cannot parse vxid " +
flds[1] + " in rec line: " +
lines.Text())
}
rec.tag = flds[2]
rec.rectype = rune(flds[3][0])
rec.payload = flds[4]
tx.recs = append(tx.recs, rec)
}
}
return txn, nil
}
func TestDefaultRead(t *testing.T) {
expTxn, err := scrapeLog(vxidLog)
if err != nil {
t.Fatal(vxidLog + ": " + err.Error())
}
l := New()
defer l.Release()
err = l.AttachFile(testFile)
if err != nil {
t.Fatal("Cannot attach to " + testFile + ": " + err.Error())
}
txChan := make(chan []*Transaction, 50)
statusChan := make(chan *RWStatus)
err = l.Read(txChan, statusChan)
if err != nil {
t.Fatal("Read(): " + err.Error())
}
txi := 0
for txn := range txChan {
for _, txp := range txn {
if txi+1 > len(expTxn) {
t.Fatalf("too many transactions expected=%v "+
"got=%v",
len(expTxn), txi+1)
}
tx := *txp
expTx := expTxn[txi]
if tx.Level != expTx.level {
t.Errorf("tx Level expected=%v got=%v",
expTx.level, tx.Level)
}
if tx.VXID != expTx.vxid {
t.Errorf("tx VXID expected=%v got=%v",
expTx.vxid, tx.VXID)
}
if txType2string[tx.Type] != expTx.txtype {
t.Errorf("tx Type expected=%v got=%v",
expTx.txtype, txType2string[tx.Type])
}
// XXX: check pxvid and reason from Begin record
if len(tx.Records) != len(expTx.recs) {
t.Errorf("tx number of records expected=%v "+
"got %v", len(expTx.recs),
len(tx.Records))
continue
}
reci := 0
for _, rec := range tx.Records {
expRec := expTx.recs[reci]
if rec.VXID != uint(expRec.vxid) {
t.Errorf("rec vxid expected=%v got=%v",
expRec.vxid, rec.VXID)
}
if Tags[rec.Tag] != expRec.tag {
t.Errorf("rec tag expected=%v got=%v",
expRec.tag, rec.Tag)
}
if rune(rec.Type) != expRec.rectype {
t.Errorf("rec type expected=%v got=%v",
expRec.rectype, rune(rec.Type))
}
if len(rec.Payload) != len(expRec.payload) {
t.Errorf("rec payload length "+
"expected=%v got=%v",
len(expRec.payload),
len(rec.Payload))
}
if rec.Payload != expRec.payload {
t.Errorf("rec payload expected='%v' "+
"got='%v'",
expRec.payload, rec.Payload)
}
reci++
}
txi++
}
}
if txi < len(expTxn) {
t.Errorf("not enough transactions expected=%v got=%v",
len(expTxn), txi)
}
status := <-statusChan
if status.Status != StatusType(EOF) {
t.Errorf("expected EOF status got: %v", status.Error())
}
}
* << BeReq >> 3
- 3 Begin b bereq 2 fetch
- 3 Timestamp b Start: 1533381033.472938 0.000000 0.000000
- 3 BereqMethod b GET
- 3 BereqURL b /pkg/uplex.de/
- 3 BereqProtocol b HTTP/1.1
- 3 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 3 BereqHeader b Accept: */*
- 3 BereqHeader b Host: localhost:8080
- 3 BereqHeader b X-Forwarded-For: 127.0.0.1
- 3 BereqHeader b Accept-Encoding: gzip
- 3 BereqHeader b X-Varnish: 3
- 3 VCL_call b BACKEND_FETCH
- 3 VCL_return b fetch
- 3 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 3 BackendStart b 127.0.0.1 6060
- 3 Timestamp b Bereq: 1533381033.473053 0.000114 0.000114
- 3 Timestamp b Beresp: 1533381033.473506 0.000567 0.000453
- 3 BerespProtocol b HTTP/1.1
- 3 BerespStatus b 200
- 3 BerespReason b OK
- 3 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 3 BerespHeader b Content-Type: text/html; charset=utf-8
- 3 BerespHeader b Transfer-Encoding: chunked
- 3 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 3 VCL_call b BACKEND_RESPONSE
- 3 VCL_return b deliver
- 3 Filters b
- 3 Storage b malloc s0
- 3 Fetch_Body b 2 chunked stream
- 3 BackendReuse b 27 default
- 3 Timestamp b BerespBody: 1533381033.473579 0.000641 0.000073
- 3 Length b 3527
- 3 BereqAcct b 166 0 166 124 3527 3651
- 3 End b
* << Request >> 2
- 2 Begin c req 1 rxreq
- 2 Timestamp c Start: 1533381033.472884 0.000000 0.000000
- 2 Timestamp c Req: 1533381033.472884 0.000000 0.000000
- 2 ReqStart c 127.0.0.1 52946 a0
- 2 ReqMethod c GET
- 2 ReqURL c /pkg/uplex.de/
- 2 ReqProtocol c HTTP/1.1
- 2 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 2 ReqHeader c Accept: */*
- 2 ReqHeader c Accept-Encoding: identity
- 2 ReqHeader c Host: localhost:8080
- 2 ReqHeader c Connection: Keep-Alive
- 2 ReqHeader c X-Forwarded-For: 127.0.0.1
- 2 VCL_call c RECV
- 2 VCL_return c hash
- 2 ReqUnset c Accept-Encoding: identity
- 2 VCL_call c HASH
- 2 VCL_return c lookup
- 2 VCL_call c MISS
- 2 VCL_return c fetch
- 2 Link c bereq 3 fetch
- 2 Timestamp c Fetch: 1533381033.473554 0.000670 0.000670
- 2 RespProtocol c HTTP/1.1
- 2 RespStatus c 200
- 2 RespReason c OK
- 2 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 2 RespHeader c Content-Type: text/html; charset=utf-8
- 2 RespHeader c X-Varnish: 2
- 2 RespHeader c Age: 0
- 2 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 2 VCL_call c DELIVER
- 2 VCL_return c deliver
- 2 Timestamp c Process: 1533381033.473564 0.000680 0.000010
- 2 RespHeader c Accept-Ranges: bytes
- 2 RespHeader c Transfer-Encoding: chunked
- 2 RespHeader c Connection: keep-alive
- 2 Timestamp c Resp: 1533381033.473608 0.000725 0.000044
- 2 ReqAcct c 152 0 152 224 3541 3765
- 2 End c
* << BeReq >> 5
- 5 Begin b bereq 4 fetch
- 5 Timestamp b Start: 1533381033.474142 0.000000 0.000000
- 5 BereqMethod b GET
- 5 BereqURL b /robots.txt
- 5 BereqProtocol b HTTP/1.1
- 5 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 5 BereqHeader b Accept: */*
- 5 BereqHeader b Host: localhost:8080
- 5 BereqHeader b X-Forwarded-For: 127.0.0.1
- 5 BereqHeader b Accept-Encoding: gzip
- 5 BereqHeader b X-Varnish: 5
- 5 VCL_call b BACKEND_FETCH
- 5 VCL_return b fetch
- 5 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 5 BackendStart b 127.0.0.1 6060
- 5 Timestamp b Bereq: 1533381033.474179 0.000037 0.000037
- 5 Timestamp b Beresp: 1533381033.474273 0.000130 0.000094
- 5 BerespProtocol b HTTP/1.1
- 5 BerespStatus b 404
- 5 BerespReason b Not Found
- 5 BerespHeader b Content-Type: text/plain; charset=utf-8
- 5 BerespHeader b X-Content-Type-Options: nosniff
- 5 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 5 BerespHeader b Content-Length: 19
- 5 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 5 VCL_call b BACKEND_RESPONSE
- 5 VCL_return b deliver
- 5 Filters b
- 5 Storage b malloc s0
- 5 Fetch_Body b 3 length stream
- 5 BackendReuse b 27 default
- 5 Timestamp b BerespBody: 1533381033.474313 0.000171 0.000041
- 5 Length b 19
- 5 BereqAcct b 163 0 163 157 19 176
- 5 End b
* << Request >> 4
- 4 Begin c req 1 rxreq
- 4 Timestamp c Start: 1533381033.474113 0.000000 0.000000
- 4 Timestamp c Req: 1533381033.474113 0.000000 0.000000
- 4 ReqStart c 127.0.0.1 52946 a0
- 4 ReqMethod c GET
- 4 ReqURL c /robots.txt
- 4 ReqProtocol c HTTP/1.1
- 4 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 4 ReqHeader c Accept: */*
- 4 ReqHeader c Accept-Encoding: identity
- 4 ReqHeader c Host: localhost:8080
- 4 ReqHeader c Connection: Keep-Alive
- 4 ReqHeader c X-Forwarded-For: 127.0.0.1
- 4 VCL_call c RECV
- 4 VCL_return c hash
- 4 ReqUnset c Accept-Encoding: identity
- 4 VCL_call c HASH
- 4 VCL_return c lookup
- 4 VCL_call c MISS
- 4 VCL_return c fetch
- 4 Link c bereq 5 fetch
- 4 Timestamp c Fetch: 1533381033.474301 0.000187 0.000187
- 4 RespProtocol c HTTP/1.1
- 4 RespStatus c 404
- 4 RespReason c Not Found
- 4 RespHeader c Content-Type: text/plain; charset=utf-8
- 4 RespHeader c X-Content-Type-Options: nosniff
- 4 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 4 RespHeader c Content-Length: 19
- 4 RespHeader c X-Varnish: 4
- 4 RespHeader c Age: 0
- 4 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 4 VCL_call c DELIVER
- 4 VCL_return c deliver
- 4 Timestamp c Process: 1533381033.474309 0.000196 0.000009
- 4 RespHeader c Connection: keep-alive
- 4 Timestamp c Resp: 1533381033.474336 0.000223 0.000027
- 4 ReqAcct c 149 0 149 235 19 254
- 4 End c
* << BeReq >> 7
- 7 Begin b bereq 6 fetch
- 7 Timestamp b Start: 1533381033.474643 0.000000 0.000000
- 7 BereqMethod b GET
- 7 BereqURL b /lib/godoc/style.css
- 7 BereqProtocol b HTTP/1.1
- 7 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 7 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 7 BereqHeader b Accept: */*
- 7 BereqHeader b Host: localhost:8080
- 7 BereqHeader b X-Forwarded-For: 127.0.0.1
- 7 BereqHeader b Accept-Encoding: gzip
- 7 BereqHeader b X-Varnish: 7
- 7 VCL_call b BACKEND_FETCH
- 7 VCL_return b fetch
- 7 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 7 BackendStart b 127.0.0.1 6060
- 7 Timestamp b Bereq: 1533381033.474676 0.000033 0.000033
- 7 Timestamp b Beresp: 1533381033.474814 0.000171 0.000138
- 7 BerespProtocol b HTTP/1.1
- 7 BerespStatus b 200
- 7 BerespReason b OK
- 7 BerespHeader b Accept-Ranges: bytes
- 7 BerespHeader b Content-Length: 12116
- 7 BerespHeader b Content-Type: text/css; charset=utf-8
- 7 BerespHeader b Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 7 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 7 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 7 VCL_call b BACKEND_RESPONSE
- 7 VCL_return b deliver
- 7 Filters b
- 7 Storage b malloc s0
- 7 Fetch_Body b 3 length stream
- 7 BackendReuse b 27 default
- 7 Timestamp b BerespBody: 1533381033.474857 0.000214 0.000043
- 7 Length b 12116
- 7 BereqAcct b 218 0 218 186 12116 12302
- 7 End b
* << Request >> 6
- 6 Begin c req 1 rxreq
- 6 Timestamp c Start: 1533381033.474620 0.000000 0.000000
- 6 Timestamp c Req: 1533381033.474620 0.000000 0.000000
- 6 ReqStart c 127.0.0.1 52946 a0
- 6 ReqMethod c GET
- 6 ReqURL c /lib/godoc/style.css
- 6 ReqProtocol c HTTP/1.1
- 6 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 6 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 6 ReqHeader c Accept: */*
- 6 ReqHeader c Accept-Encoding: identity
- 6 ReqHeader c Host: localhost:8080
- 6 ReqHeader c Connection: Keep-Alive
- 6 ReqHeader c X-Forwarded-For: 127.0.0.1
- 6 VCL_call c RECV
- 6 VCL_return c hash
- 6 ReqUnset c Accept-Encoding: identity
- 6 VCL_call c HASH
- 6 VCL_return c lookup
- 6 VCL_call c MISS
- 6 VCL_return c fetch
- 6 Link c bereq 7 fetch
- 6 Timestamp c Fetch: 1533381033.474836 0.000216 0.000216
- 6 RespProtocol c HTTP/1.1
- 6 RespStatus c 200
- 6 RespReason c OK
- 6 RespHeader c Content-Length: 12116
- 6 RespHeader c Content-Type: text/css; charset=utf-8
- 6 RespHeader c Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 6 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 6 RespHeader c X-Varnish: 6
- 6 RespHeader c Age: 0
- 6 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 6 VCL_call c DELIVER
- 6 VCL_return c deliver
- 6 Timestamp c Process: 1533381033.474844 0.000224 0.000008
- 6 RespHeader c Accept-Ranges: bytes
- 6 RespHeader c Connection: keep-alive
- 6 Timestamp c Resp: 1533381033.474873 0.000253 0.000030
- 6 ReqAcct c 204 0 204 264 12116 12380
- 6 End c
* << BeReq >> 9
- 9 Begin b bereq 8 fetch
- 9 Timestamp b Start: 1533381033.475315 0.000000 0.000000
- 9 BereqMethod b GET
- 9 BereqURL b /lib/godoc/jquery.treeview.css
- 9 BereqProtocol b HTTP/1.1
- 9 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 9 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 9 BereqHeader b Accept: */*
- 9 BereqHeader b Host: localhost:8080
- 9 BereqHeader b X-Forwarded-For: 127.0.0.1
- 9 BereqHeader b Accept-Encoding: gzip
- 9 BereqHeader b X-Varnish: 9
- 9 VCL_call b BACKEND_FETCH
- 9 VCL_return b fetch
- 9 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 9 BackendStart b 127.0.0.1 6060
- 9 Timestamp b Bereq: 1533381033.475346 0.000031 0.000031
- 9 Timestamp b Beresp: 1533381033.475452 0.000138 0.000106
- 9 BerespProtocol b HTTP/1.1
- 9 BerespStatus b 200
- 9 BerespReason b OK
- 9 BerespHeader b Accept-Ranges: bytes
- 9 BerespHeader b Content-Length: 2755
- 9 BerespHeader b Content-Type: text/css; charset=utf-8
- 9 BerespHeader b Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 9 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 9 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 9 VCL_call b BACKEND_RESPONSE
- 9 VCL_return b deliver
- 9 Filters b
- 9 Storage b malloc s0
- 9 Fetch_Body b 3 length stream
- 9 BackendReuse b 27 default
- 9 Timestamp b BerespBody: 1533381033.475486 0.000171 0.000034
- 9 Length b 2755
- 9 BereqAcct b 228 0 228 185 2755 2940
- 9 End b
* << Request >> 8
- 8 Begin c req 1 rxreq
- 8 Timestamp c Start: 1533381033.475291 0.000000 0.000000
- 8 Timestamp c Req: 1533381033.475291 0.000000 0.000000
- 8 ReqStart c 127.0.0.1 52946 a0
- 8 ReqMethod c GET
- 8 ReqURL c /lib/godoc/jquery.treeview.css
- 8 ReqProtocol c HTTP/1.1
- 8 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 8 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 8 ReqHeader c Accept: */*
- 8 ReqHeader c Accept-Encoding: identity
- 8 ReqHeader c Host: localhost:8080
- 8 ReqHeader c Connection: Keep-Alive
- 8 ReqHeader c X-Forwarded-For: 127.0.0.1
- 8 VCL_call c RECV
- 8 VCL_return c hash
- 8 ReqUnset c Accept-Encoding: identity
- 8 VCL_call c HASH
- 8 VCL_return c lookup
- 8 VCL_call c MISS
- 8 VCL_return c fetch
- 8 Link c bereq 9 fetch
- 8 Timestamp c Fetch: 1533381033.475472 0.000181 0.000181
- 8 RespProtocol c HTTP/1.1
- 8 RespStatus c 200
- 8 RespReason c OK
- 8 RespHeader c Content-Length: 2755
- 8 RespHeader c Content-Type: text/css; charset=utf-8
- 8 RespHeader c Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 8 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 8 RespHeader c X-Varnish: 8
- 8 RespHeader c Age: 0
- 8 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 8 VCL_call c DELIVER
- 8 VCL_return c deliver
- 8 Timestamp c Process: 1533381033.475480 0.000189 0.000008
- 8 RespHeader c Accept-Ranges: bytes
- 8 RespHeader c Connection: keep-alive
- 8 Timestamp c Resp: 1533381033.475506 0.000215 0.000026
- 8 ReqAcct c 214 0 214 263 2755 3018
- 8 End c
* << BeReq >> 11
- 11 Begin b bereq 10 fetch
- 11 Timestamp b Start: 1533381033.475898 0.000000 0.000000
- 11 BereqMethod b GET
- 11 BereqURL b /
- 11 BereqProtocol b HTTP/1.1
- 11 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 11 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 11 BereqHeader b Accept: */*
- 11 BereqHeader b Host: localhost:8080
- 11 BereqHeader b X-Forwarded-For: 127.0.0.1
- 11 BereqHeader b Accept-Encoding: gzip
- 11 BereqHeader b X-Varnish: 11
- 11 VCL_call b BACKEND_FETCH
- 11 VCL_return b fetch
- 11 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 11 BackendStart b 127.0.0.1 6060
- 11 Timestamp b Bereq: 1533381033.475929 0.000030 0.000030
- 11 Timestamp b Beresp: 1533381033.476305 0.000407 0.000377
- 11 BerespProtocol b HTTP/1.1
- 11 BerespStatus b 404
- 11 BerespReason b Not Found
- 11 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 11 BerespHeader b Content-Type: text/html; charset=utf-8
- 11 BerespHeader b Transfer-Encoding: chunked
- 11 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 11 VCL_call b BACKEND_RESPONSE
- 11 VCL_return b deliver
- 11 Filters b
- 11 Storage b malloc s0
- 11 Fetch_Body b 2 chunked stream
- 11 BackendReuse b 27 default
- 11 Timestamp b BerespBody: 1533381033.476346 0.000447 0.000040
- 11 Length b 2687
- 11 BereqAcct b 200 0 200 131 2687 2818
- 11 End b
* << Request >> 10
- 10 Begin c req 1 rxreq
- 10 Timestamp c Start: 1533381033.475878 0.000000 0.000000
- 10 Timestamp c Req: 1533381033.475878 0.000000 0.000000
- 10 ReqStart c 127.0.0.1 52946 a0
- 10 ReqMethod c GET
- 10 ReqURL c /
- 10 ReqProtocol c HTTP/1.1
- 10 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 10 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 10 ReqHeader c Accept: */*
- 10 ReqHeader c Accept-Encoding: identity
- 10 ReqHeader c Host: localhost:8080
- 10 ReqHeader c Connection: Keep-Alive
- 10 ReqHeader c X-Forwarded-For: 127.0.0.1
- 10 VCL_call c RECV
- 10 VCL_return c hash
- 10 ReqUnset c Accept-Encoding: identity
- 10 VCL_call c HASH
- 10 VCL_return c lookup
- 10 VCL_call c MISS
- 10 VCL_return c fetch
- 10 Link c bereq 11 fetch
- 10 Timestamp c Fetch: 1533381033.476326 0.000448 0.000448
- 10 RespProtocol c HTTP/1.1
- 10 RespStatus c 404
- 10 RespReason c Not Found
- 10 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 10 RespHeader c Content-Type: text/html; charset=utf-8
- 10 RespHeader c X-Varnish: 10
- 10 RespHeader c Age: 0
- 10 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 10 VCL_call c DELIVER
- 10 VCL_return c deliver
- 10 Timestamp c Process: 1533381033.476333 0.000455 0.000007
- 10 RespHeader c Transfer-Encoding: chunked
- 10 RespHeader c Connection: keep-alive
- 10 Timestamp c Resp: 1533381033.476367 0.000489 0.000034
- 10 ReqAcct c 185 0 185 210 2701 2911
- 10 End c
* << BeReq >> 13
- 13 Begin b bereq 12 fetch
- 13 Timestamp b Start: 1533381033.476579 0.000000 0.000000
- 13 BereqMethod b GET
- 13 BereqURL b /doc/
- 13 BereqProtocol b HTTP/1.1
- 13 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 13 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 13 BereqHeader b Accept: */*
- 13 BereqHeader b Host: localhost:8080
- 13 BereqHeader b X-Forwarded-For: 127.0.0.1
- 13 BereqHeader b Accept-Encoding: gzip
- 13 BereqHeader b X-Varnish: 13
- 13 VCL_call b BACKEND_FETCH
- 13 VCL_return b fetch
- 13 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 13 BackendStart b 127.0.0.1 6060
- 13 Timestamp b Bereq: 1533381033.476612 0.000033 0.000033
- 13 Timestamp b Beresp: 1533381033.477091 0.000512 0.000479
- 13 BerespProtocol b HTTP/1.1
- 13 BerespStatus b 404
- 13 BerespReason b Not Found
- 13 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 13 BerespHeader b Content-Type: text/html; charset=utf-8
- 13 BerespHeader b Transfer-Encoding: chunked
- 13 TTL b RFC 120 10 0 1533381033 1533381033 1533381033 0 0 cacheable
- 13 VCL_call b BACKEND_RESPONSE
- 13 VCL_return b deliver
- 13 Filters b
- 13 Storage b malloc s0
- 13 Fetch_Body b 2 chunked stream
- 13 BackendReuse b 27 default
- 13 Timestamp b BerespBody: 1533381033.477129 0.000549 0.000038
- 13 Length b 2687
- 13 BereqAcct b 204 0 204 131 2687 2818
- 13 End b
* << Request >> 12
- 12 Begin c req 1 rxreq
- 12 Timestamp c Start: 1533381033.476557 0.000000 0.000000
- 12 Timestamp c Req: 1533381033.476557 0.000000 0.000000
- 12 ReqStart c 127.0.0.1 52946 a0
- 12 ReqMethod c GET
- 12 ReqURL c /doc/
- 12 ReqProtocol c HTTP/1.1
- 12 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 12 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 12 ReqHeader c Accept: */*
- 12 ReqHeader c Accept-Encoding: identity
- 12 ReqHeader c Host: localhost:8080
- 12 ReqHeader c Connection: Keep-Alive
- 12 ReqHeader c X-Forwarded-For: 127.0.0.1
- 12 VCL_call c RECV
- 12 VCL_return c hash
- 12 ReqUnset c Accept-Encoding: identity
- 12 VCL_call c HASH
- 12 VCL_return c lookup
- 12 VCL_call c MISS
- 12 VCL_return c fetch
- 12 Link c bereq 13 fetch
- 12 Timestamp c Fetch: 1533381033.477113 0.000556 0.000556
- 12 RespProtocol c HTTP/1.1
- 12 RespStatus c 404
- 12 RespReason c Not Found
- 12 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 12 RespHeader c Content-Type: text/html; charset=utf-8
- 12 RespHeader c X-Varnish: 12
- 12 RespHeader c Age: 0
- 12 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 12 VCL_call c DELIVER
- 12 VCL_return c deliver
- 12 Timestamp c Process: 1533381033.477121 0.000564 0.000008
- 12 RespHeader c Transfer-Encoding: chunked
- 12 RespHeader c Connection: keep-alive
- 12 Timestamp c Resp: 1533381033.477155 0.000598 0.000034
- 12 ReqAcct c 189 0 189 210 2701 2911
- 12 End c
* << BeReq >> 15
- 15 Begin b bereq 14 fetch
- 15 Timestamp b Start: 1533381033.477354 0.000000 0.000000
- 15 BereqMethod b GET
- 15 BereqURL b /pkg/
- 15 BereqProtocol b HTTP/1.1
- 15 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 15 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 15 BereqHeader b Accept: */*
- 15 BereqHeader b Host: localhost:8080
- 15 BereqHeader b X-Forwarded-For: 127.0.0.1
- 15 BereqHeader b Accept-Encoding: gzip
- 15 BereqHeader b X-Varnish: 15
- 15 VCL_call b BACKEND_FETCH
- 15 VCL_return b fetch
- 15 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 15 BackendStart b 127.0.0.1 6060
- 15 Timestamp b Bereq: 1533381033.477386 0.000032 0.000032
- 15 Timestamp b Beresp: 1533381033.538470 0.061116 0.061084
- 15 BerespProtocol b HTTP/1.1
- 15 BerespStatus b 200
- 15 BerespReason b OK
- 15 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 15 BerespHeader b Content-Type: text/html; charset=utf-8
- 15 BerespHeader b Transfer-Encoding: chunked
- 15 TTL b RFC 120 10 0 1533381034 1533381034 1533381033 0 0 cacheable
- 15 VCL_call b BACKEND_RESPONSE
- 15 VCL_return b deliver
- 15 Filters b
- 15 Storage b malloc s0
- 15 Fetch_Body b 2 chunked stream
- 15 BackendReuse b 27 default
- 15 Timestamp b BerespBody: 1533381033.539181 0.061826 0.000711
- 15 Length b 1067957
- 15 BereqAcct b 204 0 204 124 1067957 1068081
- 15 End b
* << Request >> 14
- 14 Begin c req 1 rxreq
- 14 Timestamp c Start: 1533381033.477333 0.000000 0.000000
- 14 Timestamp c Req: 1533381033.477333 0.000000 0.000000
- 14 ReqStart c 127.0.0.1 52946 a0
- 14 ReqMethod c GET
- 14 ReqURL c /pkg/
- 14 ReqProtocol c HTTP/1.1
- 14 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 14 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 14 ReqHeader c Accept: */*
- 14 ReqHeader c Accept-Encoding: identity
- 14 ReqHeader c Host: localhost:8080
- 14 ReqHeader c Connection: Keep-Alive
- 14 ReqHeader c X-Forwarded-For: 127.0.0.1
- 14 VCL_call c RECV
- 14 VCL_return c hash
- 14 ReqUnset c Accept-Encoding: identity
- 14 VCL_call c HASH
- 14 VCL_return c lookup
- 14 VCL_call c MISS
- 14 VCL_return c fetch
- 14 Link c bereq 15 fetch
- 14 Timestamp c Fetch: 1533381033.538515 0.061182 0.061182
- 14 RespProtocol c HTTP/1.1
- 14 RespStatus c 200
- 14 RespReason c OK
- 14 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 14 RespHeader c Content-Type: text/html; charset=utf-8
- 14 RespHeader c X-Varnish: 14
- 14 RespHeader c Age: 0
- 14 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 14 VCL_call c DELIVER
- 14 VCL_return c deliver
- 14 Timestamp c Process: 1533381033.538529 0.061196 0.000015
- 14 RespHeader c Accept-Ranges: bytes
- 14 RespHeader c Transfer-Encoding: chunked
- 14 RespHeader c Connection: keep-alive
- 14 Timestamp c Resp: 1533381033.539188 0.061855 0.000659
- 14 ReqAcct c 189 0 189 225 1068600 1068825
- 14 End c
* << BeReq >> 17
- 17 Begin b bereq 16 fetch
- 17 Timestamp b Start: 1533381033.540693 0.000000 0.000000
- 17 BereqMethod b GET
- 17 BereqURL b /project/
- 17 BereqProtocol b HTTP/1.1
- 17 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 17 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 17 BereqHeader b Accept: */*
- 17 BereqHeader b Host: localhost:8080
- 17 BereqHeader b X-Forwarded-For: 127.0.0.1
- 17 BereqHeader b Accept-Encoding: gzip
- 17 BereqHeader b X-Varnish: 17
- 17 VCL_call b BACKEND_FETCH
- 17 VCL_return b fetch
- 17 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 17 BackendStart b 127.0.0.1 6060
- 17 Timestamp b Bereq: 1533381033.540730 0.000037 0.000037
- 17 Timestamp b Beresp: 1533381033.540947 0.000254 0.000217
- 17 BerespProtocol b HTTP/1.1
- 17 BerespStatus b 200
- 17 BerespReason b OK
- 17 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 17 BerespHeader b Content-Type: text/html; charset=utf-8
- 17 BerespHeader b Transfer-Encoding: chunked
- 17 TTL b RFC 120 10 0 1533381034 1533381034 1533381033 0 0 cacheable
- 17 VCL_call b BACKEND_RESPONSE
- 17 VCL_return b deliver
- 17 Filters b
- 17 Storage b malloc s0
- 17 Fetch_Body b 2 chunked stream
- 17 BackendReuse b 27 default
- 17 Timestamp b BerespBody: 1533381033.541004 0.000311 0.000057
- 17 Length b 6763
- 17 BereqAcct b 208 0 208 124 6763 6887
- 17 End b
* << Request >> 16
- 16 Begin c req 1 rxreq
- 16 Timestamp c Start: 1533381033.540653 0.000000 0.000000
- 16 Timestamp c Req: 1533381033.540653 0.000000 0.000000
- 16 ReqStart c 127.0.0.1 52946 a0
- 16 ReqMethod c GET
- 16 ReqURL c /project/
- 16 ReqProtocol c HTTP/1.1
- 16 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 16 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 16 ReqHeader c Accept: */*
- 16 ReqHeader c Accept-Encoding: identity
- 16 ReqHeader c Host: localhost:8080
- 16 ReqHeader c Connection: Keep-Alive
- 16 ReqHeader c X-Forwarded-For: 127.0.0.1
- 16 VCL_call c RECV
- 16 VCL_return c hash
- 16 ReqUnset c Accept-Encoding: identity
- 16 VCL_call c HASH
- 16 VCL_return c lookup
- 16 VCL_call c MISS
- 16 VCL_return c fetch
- 16 Link c bereq 17 fetch
- 16 Timestamp c Fetch: 1533381033.540970 0.000317 0.000317
- 16 RespProtocol c HTTP/1.1
- 16 RespStatus c 200
- 16 RespReason c OK
- 16 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 16 RespHeader c Content-Type: text/html; charset=utf-8
- 16 RespHeader c X-Varnish: 16
- 16 RespHeader c Age: 0
- 16 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 16 VCL_call c DELIVER
- 16 VCL_return c deliver
- 16 Timestamp c Process: 1533381033.540975 0.000322 0.000005
- 16 RespHeader c Accept-Ranges: bytes
- 16 RespHeader c Transfer-Encoding: chunked
- 16 RespHeader c Connection: keep-alive
- 16 Timestamp c Resp: 1533381033.541010 0.000357 0.000035
- 16 ReqAcct c 193 0 193 225 6787 7012
- 16 End c
* << BeReq >> 19
- 19 Begin b bereq 18 fetch
- 19 Timestamp b Start: 1533381033.541376 0.000000 0.000000
- 19 BereqMethod b GET
- 19 BereqURL b /help/
- 19 BereqProtocol b HTTP/1.1
- 19 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 19 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 19 BereqHeader b Accept: */*
- 19 BereqHeader b Host: localhost:8080
- 19 BereqHeader b X-Forwarded-For: 127.0.0.1
- 19 BereqHeader b Accept-Encoding: gzip
- 19 BereqHeader b X-Varnish: 19
- 19 VCL_call b BACKEND_FETCH
- 19 VCL_return b fetch
- 19 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 19 BackendStart b 127.0.0.1 6060
- 19 Timestamp b Bereq: 1533381033.541406 0.000030 0.000030
- 19 Timestamp b Beresp: 1533381033.541653 0.000277 0.000247
- 19 BerespProtocol b HTTP/1.1
- 19 BerespStatus b 404
- 19 BerespReason b Not Found
- 19 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 19 BerespHeader b Content-Type: text/html; charset=utf-8
- 19 BerespHeader b Transfer-Encoding: chunked
- 19 TTL b RFC 120 10 0 1533381034 1533381034 1533381033 0 0 cacheable
- 19 VCL_call b BACKEND_RESPONSE
- 19 VCL_return b deliver
- 19 Filters b
- 19 Storage b malloc s0
- 19 Fetch_Body b 2 chunked stream
- 19 BackendReuse b 27 default
- 19 Timestamp b BerespBody: 1533381033.541682 0.000305 0.000029
- 19 Length b 2687
- 19 BereqAcct b 205 0 205 131 2687 2818
- 19 End b
* << Request >> 18
- 18 Begin c req 1 rxreq
- 18 Timestamp c Start: 1533381033.541356 0.000000 0.000000
- 18 Timestamp c Req: 1533381033.541356 0.000000 0.000000
- 18 ReqStart c 127.0.0.1 52946 a0
- 18 ReqMethod c GET
- 18 ReqURL c /help/
- 18 ReqProtocol c HTTP/1.1
- 18 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 18 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 18 ReqHeader c Accept: */*
- 18 ReqHeader c Accept-Encoding: identity
- 18 ReqHeader c Host: localhost:8080
- 18 ReqHeader c Connection: Keep-Alive
- 18 ReqHeader c X-Forwarded-For: 127.0.0.1
- 18 VCL_call c RECV
- 18 VCL_return c hash
- 18 ReqUnset c Accept-Encoding: identity
- 18 VCL_call c HASH
- 18 VCL_return c lookup
- 18 VCL_call c MISS
- 18 VCL_return c fetch
- 18 Link c bereq 19 fetch
- 18 Timestamp c Fetch: 1533381033.541681 0.000324 0.000324
- 18 RespProtocol c HTTP/1.1
- 18 RespStatus c 404
- 18 RespReason c Not Found
- 18 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 18 RespHeader c Content-Type: text/html; charset=utf-8
- 18 RespHeader c X-Varnish: 18
- 18 RespHeader c Age: 0
- 18 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 18 VCL_call c DELIVER
- 18 VCL_return c deliver
- 18 Timestamp c Process: 1533381033.541687 0.000330 0.000006
- 18 RespHeader c Content-Length: 2687
- 18 RespHeader c Connection: keep-alive
- 18 Timestamp c Resp: 1533381033.541703 0.000347 0.000016
- 18 ReqAcct c 190 0 190 204 2687 2891
- 18 End c
* << BeReq >> 21
- 21 Begin b bereq 20 fetch
- 21 Timestamp b Start: 1533381033.541871 0.000000 0.000000
- 21 BereqMethod b GET
- 21 BereqURL b /blog/
- 21 BereqProtocol b HTTP/1.1
- 21 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 21 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 21 BereqHeader b Accept: */*
- 21 BereqHeader b Host: localhost:8080
- 21 BereqHeader b X-Forwarded-For: 127.0.0.1
- 21 BereqHeader b Accept-Encoding: gzip
- 21 BereqHeader b X-Varnish: 21
- 21 VCL_call b BACKEND_FETCH
- 21 VCL_return b fetch
- 21 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 21 BackendStart b 127.0.0.1 6060
- 21 Timestamp b Bereq: 1533381033.541900 0.000028 0.000028
- 21 Timestamp b Beresp: 1533381033.541963 0.000092 0.000063
- 21 BerespProtocol b HTTP/1.1
- 21 BerespStatus b 302
- 21 BerespReason b Found
- 21 BerespHeader b Location: http://blog.golang.org/
- 21 BerespHeader b Date: Sat, 04 Aug 2018 11:10:33 GMT
- 21 BerespHeader b Content-Length: 46
- 21 BerespHeader b Content-Type: text/html; charset=utf-8
- 21 TTL b RFC -1 10 0 1533381034 1533381034 1533381033 0 0 cacheable
- 21 VCL_call b BACKEND_RESPONSE
- 21 TTL b VCL 120 10 0 1533381034 cacheable
- 21 TTL b VCL 120 10 0 1533381034 uncacheable
- 21 VCL_return b deliver
- 21 Filters b
- 21 Storage b malloc Transient
- 21 Fetch_Body b 3 length stream
- 21 BackendReuse b 27 default
- 21 Timestamp b BerespBody: 1533381033.541991 0.000120 0.000029
- 21 Length b 46
- 21 BereqAcct b 205 0 205 154 46 200
- 21 End b
* << Request >> 20
- 20 Begin c req 1 rxreq
- 20 Timestamp c Start: 1533381033.541852 0.000000 0.000000
- 20 Timestamp c Req: 1533381033.541852 0.000000 0.000000
- 20 ReqStart c 127.0.0.1 52946 a0
- 20 ReqMethod c GET
- 20 ReqURL c /blog/
- 20 ReqProtocol c HTTP/1.1
- 20 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 20 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 20 ReqHeader c Accept: */*
- 20 ReqHeader c Accept-Encoding: identity
- 20 ReqHeader c Host: localhost:8080
- 20 ReqHeader c Connection: Keep-Alive
- 20 ReqHeader c X-Forwarded-For: 127.0.0.1
- 20 VCL_call c RECV
- 20 VCL_return c hash
- 20 ReqUnset c Accept-Encoding: identity
- 20 VCL_call c HASH
- 20 VCL_return c lookup
- 20 VCL_call c MISS
- 20 VCL_return c fetch
- 20 Link c bereq 21 fetch
- 20 Timestamp c Fetch: 1533381033.541991 0.000139 0.000139
- 20 RespProtocol c HTTP/1.1
- 20 RespStatus c 302
- 20 RespReason c Found
- 20 RespHeader c Location: http://blog.golang.org/
- 20 RespHeader c Date: Sat, 04 Aug 2018 11:10:33 GMT
- 20 RespHeader c Content-Length: 46
- 20 RespHeader c Content-Type: text/html; charset=utf-8
- 20 RespHeader c X-Varnish: 20
- 20 RespHeader c Age: 0
- 20 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 20 VCL_call c DELIVER
- 20 VCL_return c deliver
- 20 Timestamp c Process: 1533381033.541995 0.000143 0.000004
- 20 RespHeader c Connection: keep-alive
- 20 Timestamp c Resp: 1533381033.542009 0.000157 0.000014
- 20 ReqAcct c 190 0 190 233 46 279
- 20 End c
* << Session >> 1
- 1 Begin c sess 0 HTTP/1
- 1 SessOpen c 127.0.0.1 52946 a0 127.0.0.1 8080 1533381033.472850 25
- 1 Link c req 2 rxreq
- 1 Link c req 4 rxreq
- 1 Link c req 6 rxreq
- 1 Link c req 8 rxreq
- 1 Link c req 10 rxreq
- 1 Link c req 12 rxreq
- 1 Link c req 14 rxreq
- 1 Link c req 16 rxreq
- 1 Link c req 18 rxreq
- 1 Link c req 20 rxreq
- 1 SessClose c REM_CLOSE 0.835
- 1 End c
* << BeReq >> 32771
- 32771 Begin b bereq 32770 fetch
- 32771 Timestamp b Start: 1533381034.441730 0.000000 0.000000
- 32771 BereqMethod b GET
- 32771 BereqURL b /pkg/uplex.de/varnishapi/
- 32771 BereqProtocol b HTTP/1.1
- 32771 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32771 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32771 BereqHeader b Accept: */*
- 32771 BereqHeader b Host: localhost:8080
- 32771 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32771 BereqHeader b Accept-Encoding: gzip
- 32771 BereqHeader b X-Varnish: 32771
- 32771 VCL_call b BACKEND_FETCH
- 32771 VCL_return b fetch
- 32771 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32771 BackendStart b 127.0.0.1 6060
- 32771 Timestamp b Bereq: 1533381034.441797 0.000067 0.000067
- 32771 Timestamp b Beresp: 1533381034.442286 0.000556 0.000489
- 32771 BerespProtocol b HTTP/1.1
- 32771 BerespStatus b 200
- 32771 BerespReason b OK
- 32771 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32771 BerespHeader b Content-Type: text/html; charset=utf-8
- 32771 BerespHeader b Transfer-Encoding: chunked
- 32771 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32771 VCL_call b BACKEND_RESPONSE
- 32771 VCL_return b deliver
- 32771 Filters b
- 32771 Storage b malloc s0
- 32771 Fetch_Body b 2 chunked stream
- 32771 BackendReuse b 27 default
- 32771 Timestamp b BerespBody: 1533381034.442404 0.000674 0.000118
- 32771 Length b 3328
- 32771 BereqAcct b 227 0 227 124 3328 3452
- 32771 End b
* << Request >> 32770
- 32770 Begin c req 32769 rxreq
- 32770 Timestamp c Start: 1533381034.441646 0.000000 0.000000
- 32770 Timestamp c Req: 1533381034.441646 0.000000 0.000000
- 32770 ReqStart c 127.0.0.1 52956 a0
- 32770 ReqMethod c GET
- 32770 ReqURL c /pkg/uplex.de/varnishapi/
- 32770 ReqProtocol c HTTP/1.1
- 32770 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32770 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32770 ReqHeader c Accept: */*
- 32770 ReqHeader c Accept-Encoding: identity
- 32770 ReqHeader c Host: localhost:8080
- 32770 ReqHeader c Connection: Keep-Alive
- 32770 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32770 VCL_call c RECV
- 32770 VCL_return c hash
- 32770 ReqUnset c Accept-Encoding: identity
- 32770 VCL_call c HASH
- 32770 VCL_return c lookup
- 32770 VCL_call c MISS
- 32770 VCL_return c fetch
- 32770 Link c bereq 32771 fetch
- 32770 Timestamp c Fetch: 1533381034.442385 0.000739 0.000739
- 32770 RespProtocol c HTTP/1.1
- 32770 RespStatus c 200
- 32770 RespReason c OK
- 32770 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32770 RespHeader c Content-Type: text/html; charset=utf-8
- 32770 RespHeader c X-Varnish: 32770
- 32770 RespHeader c Age: 0
- 32770 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32770 VCL_call c DELIVER
- 32770 VCL_return c deliver
- 32770 Timestamp c Process: 1533381034.442395 0.000749 0.000010
- 32770 RespHeader c Accept-Ranges: bytes
- 32770 RespHeader c Transfer-Encoding: chunked
- 32770 RespHeader c Connection: keep-alive
- 32770 Timestamp c Resp: 1533381034.442440 0.000793 0.000044
- 32770 ReqAcct c 209 0 209 228 3342 3570
- 32770 End c
* << BeReq >> 32773
- 32773 Begin b bereq 32772 fetch
- 32773 Timestamp b Start: 1533381034.442864 0.000000 0.000000
- 32773 BereqMethod b GET
- 32773 BereqURL b /pkg/uplex.de/varnishapi/pkg/
- 32773 BereqProtocol b HTTP/1.1
- 32773 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32773 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32773 BereqHeader b Accept: */*
- 32773 BereqHeader b Host: localhost:8080
- 32773 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32773 BereqHeader b Accept-Encoding: gzip
- 32773 BereqHeader b X-Varnish: 32773
- 32773 VCL_call b BACKEND_FETCH
- 32773 VCL_return b fetch
- 32773 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32773 BackendStart b 127.0.0.1 6060
- 32773 Timestamp b Bereq: 1533381034.442904 0.000040 0.000040
- 32773 Timestamp b Beresp: 1533381034.443189 0.000325 0.000285
- 32773 BerespProtocol b HTTP/1.1
- 32773 BerespStatus b 200
- 32773 BerespReason b OK
- 32773 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32773 BerespHeader b Content-Type: text/html; charset=utf-8
- 32773 BerespHeader b Transfer-Encoding: chunked
- 32773 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32773 VCL_call b BACKEND_RESPONSE
- 32773 VCL_return b deliver
- 32773 Filters b
- 32773 Storage b malloc s0
- 32773 Fetch_Body b 2 chunked stream
- 32773 BackendReuse b 27 default
- 32773 Timestamp b BerespBody: 1533381034.443231 0.000367 0.000042
- 32773 Length b 3147
- 32773 BereqAcct b 231 0 231 124 3147 3271
- 32773 End b
* << Request >> 32772
- 32772 Begin c req 32769 rxreq
- 32772 Timestamp c Start: 1533381034.442828 0.000000 0.000000
- 32772 Timestamp c Req: 1533381034.442828 0.000000 0.000000
- 32772 ReqStart c 127.0.0.1 52956 a0
- 32772 ReqMethod c GET
- 32772 ReqURL c /pkg/uplex.de/varnishapi/pkg/
- 32772 ReqProtocol c HTTP/1.1
- 32772 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32772 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32772 ReqHeader c Accept: */*
- 32772 ReqHeader c Accept-Encoding: identity
- 32772 ReqHeader c Host: localhost:8080
- 32772 ReqHeader c Connection: Keep-Alive
- 32772 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32772 VCL_call c RECV
- 32772 VCL_return c hash
- 32772 ReqUnset c Accept-Encoding: identity
- 32772 VCL_call c HASH
- 32772 VCL_return c lookup
- 32772 VCL_call c MISS
- 32772 VCL_return c fetch
- 32772 Link c bereq 32773 fetch
- 32772 Timestamp c Fetch: 1533381034.443216 0.000387 0.000387
- 32772 RespProtocol c HTTP/1.1
- 32772 RespStatus c 200
- 32772 RespReason c OK
- 32772 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32772 RespHeader c Content-Type: text/html; charset=utf-8
- 32772 RespHeader c X-Varnish: 32772
- 32772 RespHeader c Age: 0
- 32772 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32772 VCL_call c DELIVER
- 32772 VCL_return c deliver
- 32772 Timestamp c Process: 1533381034.443222 0.000393 0.000006
- 32772 RespHeader c Accept-Ranges: bytes
- 32772 RespHeader c Transfer-Encoding: chunked
- 32772 RespHeader c Connection: keep-alive
- 32772 Timestamp c Resp: 1533381034.443253 0.000424 0.000031
- 32772 ReqAcct c 213 0 213 228 3161 3389
- 32772 End c
* << BeReq >> 32775
- 32775 Begin b bereq 32774 fetch
- 32775 Timestamp b Start: 1533381034.443616 0.000000 0.000000
- 32775 BereqMethod b GET
- 32775 BereqURL b /pkg/uplex.de/varnishapi/pkg/log/
- 32775 BereqProtocol b HTTP/1.1
- 32775 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32775 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32775 BereqHeader b Accept: */*
- 32775 BereqHeader b Host: localhost:8080
- 32775 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32775 BereqHeader b Accept-Encoding: gzip
- 32775 BereqHeader b X-Varnish: 32775
- 32775 VCL_call b BACKEND_FETCH
- 32775 VCL_return b fetch
- 32775 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32775 BackendStart b 127.0.0.1 6060
- 32775 Timestamp b Bereq: 1533381034.443648 0.000032 0.000032
- 32775 Timestamp b Beresp: 1533381034.445648 0.002033 0.002000
- 32775 BerespProtocol b HTTP/1.1
- 32775 BerespStatus b 200
- 32775 BerespReason b OK
- 32775 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32775 BerespHeader b Content-Type: text/html; charset=utf-8
- 32775 BerespHeader b Transfer-Encoding: chunked
- 32775 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32775 VCL_call b BACKEND_RESPONSE
- 32775 VCL_return b deliver
- 32775 Filters b
- 32775 Storage b malloc s0
- 32775 Fetch_Body b 2 chunked stream
- 32775 BackendReuse b 27 default
- 32775 Timestamp b BerespBody: 1533381034.445694 0.002078 0.000046
- 32775 Length b 12731
- 32775 BereqAcct b 235 0 235 124 12731 12855
- 32775 End b
* << Request >> 32774
- 32774 Begin c req 32769 rxreq
- 32774 Timestamp c Start: 1533381034.443582 0.000000 0.000000
- 32774 Timestamp c Req: 1533381034.443582 0.000000 0.000000
- 32774 ReqStart c 127.0.0.1 52956 a0
- 32774 ReqMethod c GET
- 32774 ReqURL c /pkg/uplex.de/varnishapi/pkg/log/
- 32774 ReqProtocol c HTTP/1.1
- 32774 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32774 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32774 ReqHeader c Accept: */*
- 32774 ReqHeader c Accept-Encoding: identity
- 32774 ReqHeader c Host: localhost:8080
- 32774 ReqHeader c Connection: Keep-Alive
- 32774 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32774 VCL_call c RECV
- 32774 VCL_return c hash
- 32774 ReqUnset c Accept-Encoding: identity
- 32774 VCL_call c HASH
- 32774 VCL_return c lookup
- 32774 VCL_call c MISS
- 32774 VCL_return c fetch
- 32774 Link c bereq 32775 fetch
- 32774 Timestamp c Fetch: 1533381034.445664 0.002083 0.002083
- 32774 RespProtocol c HTTP/1.1
- 32774 RespStatus c 200
- 32774 RespReason c OK
- 32774 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32774 RespHeader c Content-Type: text/html; charset=utf-8
- 32774 RespHeader c X-Varnish: 32774
- 32774 RespHeader c Age: 0
- 32774 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32774 VCL_call c DELIVER
- 32774 VCL_return c deliver
- 32774 Timestamp c Process: 1533381034.445669 0.002088 0.000005
- 32774 RespHeader c Accept-Ranges: bytes
- 32774 RespHeader c Transfer-Encoding: chunked
- 32774 RespHeader c Connection: keep-alive
- 32774 Timestamp c Resp: 1533381034.445702 0.002120 0.000032
- 32774 ReqAcct c 217 0 217 228 12755 12983
- 32774 End c
* << BeReq >> 32777
- 32777 Begin b bereq 32776 fetch
- 32777 Timestamp b Start: 1533381034.446033 0.000000 0.000000
- 32777 BereqMethod b GET
- 32777 BereqURL b /LICENSE
- 32777 BereqProtocol b HTTP/1.1
- 32777 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32777 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32777 BereqHeader b Accept: */*
- 32777 BereqHeader b Host: localhost:8080
- 32777 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32777 BereqHeader b Accept-Encoding: gzip
- 32777 BereqHeader b X-Varnish: 32777
- 32777 VCL_call b BACKEND_FETCH
- 32777 VCL_return b fetch
- 32777 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32777 BackendStart b 127.0.0.1 6060
- 32777 Timestamp b Bereq: 1533381034.446058 0.000026 0.000026
- 32777 Timestamp b Beresp: 1533381034.446170 0.000138 0.000112
- 32777 BerespProtocol b HTTP/1.1
- 32777 BerespStatus b 404
- 32777 BerespReason b Not Found
- 32777 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32777 BerespHeader b Content-Type: text/html; charset=utf-8
- 32777 BerespHeader b Transfer-Encoding: chunked
- 32777 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32777 VCL_call b BACKEND_RESPONSE
- 32777 VCL_return b deliver
- 32777 Filters b
- 32777 Storage b malloc s0
- 32777 Fetch_Body b 2 chunked stream
- 32777 BackendReuse b 27 default
- 32777 Timestamp b BerespBody: 1533381034.446201 0.000168 0.000031
- 32777 Length b 2596
- 32777 BereqAcct b 210 0 210 131 2596 2727
- 32777 End b
* << Request >> 32776
- 32776 Begin c req 32769 rxreq
- 32776 Timestamp c Start: 1533381034.446008 0.000000 0.000000
- 32776 Timestamp c Req: 1533381034.446008 0.000000 0.000000
- 32776 ReqStart c 127.0.0.1 52956 a0
- 32776 ReqMethod c GET
- 32776 ReqURL c /LICENSE
- 32776 ReqProtocol c HTTP/1.1
- 32776 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32776 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32776 ReqHeader c Accept: */*
- 32776 ReqHeader c Accept-Encoding: identity
- 32776 ReqHeader c Host: localhost:8080
- 32776 ReqHeader c Connection: Keep-Alive
- 32776 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32776 VCL_call c RECV
- 32776 VCL_return c hash
- 32776 ReqUnset c Accept-Encoding: identity
- 32776 VCL_call c HASH
- 32776 VCL_return c lookup
- 32776 VCL_call c MISS
- 32776 VCL_return c fetch
- 32776 Link c bereq 32777 fetch
- 32776 Timestamp c Fetch: 1533381034.446188 0.000179 0.000179
- 32776 RespProtocol c HTTP/1.1
- 32776 RespStatus c 404
- 32776 RespReason c Not Found
- 32776 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32776 RespHeader c Content-Type: text/html; charset=utf-8
- 32776 RespHeader c X-Varnish: 32776
- 32776 RespHeader c Age: 0
- 32776 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32776 VCL_call c DELIVER
- 32776 VCL_return c deliver
- 32776 Timestamp c Process: 1533381034.446192 0.000184 0.000005
- 32776 RespHeader c Transfer-Encoding: chunked
- 32776 RespHeader c Connection: keep-alive
- 32776 Timestamp c Resp: 1533381034.446212 0.000204 0.000020
- 32776 ReqAcct c 192 0 192 213 2610 2823
- 32776 End c
* << BeReq >> 32779
- 32779 Begin b bereq 32778 fetch
- 32779 Timestamp b Start: 1533381034.446359 0.000000 0.000000
- 32779 BereqMethod b GET
- 32779 BereqURL b /doc/tos.html
- 32779 BereqProtocol b HTTP/1.1
- 32779 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32779 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32779 BereqHeader b Accept: */*
- 32779 BereqHeader b Host: localhost:8080
- 32779 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32779 BereqHeader b Accept-Encoding: gzip
- 32779 BereqHeader b X-Varnish: 32779
- 32779 VCL_call b BACKEND_FETCH
- 32779 VCL_return b fetch
- 32779 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32779 BackendStart b 127.0.0.1 6060
- 32779 Timestamp b Bereq: 1533381034.446384 0.000025 0.000025
- 32779 Timestamp b Beresp: 1533381034.446489 0.000130 0.000105
- 32779 BerespProtocol b HTTP/1.1
- 32779 BerespStatus b 200
- 32779 BerespReason b OK
- 32779 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32779 BerespHeader b Content-Type: text/html; charset=utf-8
- 32779 BerespHeader b Transfer-Encoding: chunked
- 32779 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32779 VCL_call b BACKEND_RESPONSE
- 32779 VCL_return b deliver
- 32779 Filters b
- 32779 Storage b malloc s0
- 32779 Fetch_Body b 2 chunked stream
- 32779 BackendReuse b 27 default
- 32779 Timestamp b BerespBody: 1533381034.446514 0.000155 0.000025
- 32779 Length b 2634
- 32779 BereqAcct b 215 0 215 124 2634 2758
- 32779 End b
* << Request >> 32778
- 32778 Begin c req 32769 rxreq
- 32778 Timestamp c Start: 1533381034.446333 0.000000 0.000000
- 32778 Timestamp c Req: 1533381034.446333 0.000000 0.000000
- 32778 ReqStart c 127.0.0.1 52956 a0
- 32778 ReqMethod c GET
- 32778 ReqURL c /doc/tos.html
- 32778 ReqProtocol c HTTP/1.1
- 32778 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32778 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32778 ReqHeader c Accept: */*
- 32778 ReqHeader c Accept-Encoding: identity
- 32778 ReqHeader c Host: localhost:8080
- 32778 ReqHeader c Connection: Keep-Alive
- 32778 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32778 VCL_call c RECV
- 32778 VCL_return c hash
- 32778 ReqUnset c Accept-Encoding: identity
- 32778 VCL_call c HASH
- 32778 VCL_return c lookup
- 32778 VCL_call c MISS
- 32778 VCL_return c fetch
- 32778 Link c bereq 32779 fetch
- 32778 Timestamp c Fetch: 1533381034.446514 0.000181 0.000181
- 32778 RespProtocol c HTTP/1.1
- 32778 RespStatus c 200
- 32778 RespReason c OK
- 32778 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32778 RespHeader c Content-Type: text/html; charset=utf-8
- 32778 RespHeader c X-Varnish: 32778
- 32778 RespHeader c Age: 0
- 32778 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32778 VCL_call c DELIVER
- 32778 VCL_return c deliver
- 32778 Timestamp c Process: 1533381034.446528 0.000195 0.000014
- 32778 RespHeader c Accept-Ranges: bytes
- 32778 RespHeader c Content-Length: 2634
- 32778 RespHeader c Connection: keep-alive
- 32778 Timestamp c Resp: 1533381034.446548 0.000215 0.000020
- 32778 ReqAcct c 197 0 197 222 2634 2856
- 32778 End c
* << BeReq >> 32781
- 32781 Begin b bereq 32780 fetch
- 32781 Timestamp b Start: 1533381034.446884 0.000000 0.000000
- 32781 BereqMethod b GET
- 32781 BereqURL b /lib/godoc/jquery.js
- 32781 BereqProtocol b HTTP/1.1
- 32781 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32781 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32781 BereqHeader b Accept: */*
- 32781 BereqHeader b Host: localhost:8080
- 32781 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32781 BereqHeader b Accept-Encoding: gzip
- 32781 BereqHeader b X-Varnish: 32781
- 32781 VCL_call b BACKEND_FETCH
- 32781 VCL_return b fetch
- 32781 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32781 BackendStart b 127.0.0.1 6060
- 32781 Timestamp b Bereq: 1533381034.446916 0.000032 0.000032
- 32781 Timestamp b Beresp: 1533381034.447055 0.000171 0.000139
- 32781 BerespProtocol b HTTP/1.1
- 32781 BerespStatus b 200
- 32781 BerespReason b OK
- 32781 BerespHeader b Accept-Ranges: bytes
- 32781 BerespHeader b Content-Length: 135993
- 32781 BerespHeader b Content-Type: application/javascript
- 32781 BerespHeader b Last-Modified: Sun, 11 Dec 2016 15:18:53 GMT
- 32781 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32781 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32781 VCL_call b BACKEND_RESPONSE
- 32781 VCL_return b deliver
- 32781 Filters b
- 32781 Storage b malloc s0
- 32781 Fetch_Body b 3 length stream
- 32781 BackendReuse b 27 default
- 32781 Timestamp b BerespBody: 1533381034.447179 0.000295 0.000124
- 32781 Length b 135993
- 32781 BereqAcct b 222 0 222 186 135993 136179
- 32781 End b
* << Request >> 32780
- 32780 Begin c req 32769 rxreq
- 32780 Timestamp c Start: 1533381034.446848 0.000000 0.000000
- 32780 Timestamp c Req: 1533381034.446848 0.000000 0.000000
- 32780 ReqStart c 127.0.0.1 52956 a0
- 32780 ReqMethod c GET
- 32780 ReqURL c /lib/godoc/jquery.js
- 32780 ReqProtocol c HTTP/1.1
- 32780 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32780 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32780 ReqHeader c Accept: */*
- 32780 ReqHeader c Accept-Encoding: identity
- 32780 ReqHeader c Host: localhost:8080
- 32780 ReqHeader c Connection: Keep-Alive
- 32780 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32780 VCL_call c RECV
- 32780 VCL_return c hash
- 32780 ReqUnset c Accept-Encoding: identity
- 32780 VCL_call c HASH
- 32780 VCL_return c lookup
- 32780 VCL_call c MISS
- 32780 VCL_return c fetch
- 32780 Link c bereq 32781 fetch
- 32780 Timestamp c Fetch: 1533381034.447097 0.000249 0.000249
- 32780 RespProtocol c HTTP/1.1
- 32780 RespStatus c 200
- 32780 RespReason c OK
- 32780 RespHeader c Content-Length: 135993
- 32780 RespHeader c Content-Type: application/javascript
- 32780 RespHeader c Last-Modified: Sun, 11 Dec 2016 15:18:53 GMT
- 32780 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32780 RespHeader c X-Varnish: 32780
- 32780 RespHeader c Age: 0
- 32780 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32780 VCL_call c DELIVER
- 32780 VCL_return c deliver
- 32780 Timestamp c Process: 1533381034.447101 0.000253 0.000004
- 32780 RespHeader c Accept-Ranges: bytes
- 32780 RespHeader c Connection: keep-alive
- 32780 Timestamp c Resp: 1533381034.447213 0.000365 0.000112
- 32780 ReqAcct c 204 0 204 268 135993 136261
- 32780 End c
* << BeReq >> 32783
- 32783 Begin b bereq 32782 fetch
- 32783 Timestamp b Start: 1533381034.447855 0.000000 0.000000
- 32783 BereqMethod b GET
- 32783 BereqURL b /lib/godoc/jquery.treeview.js
- 32783 BereqProtocol b HTTP/1.1
- 32783 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32783 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32783 BereqHeader b Accept: */*
- 32783 BereqHeader b Host: localhost:8080
- 32783 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32783 BereqHeader b Accept-Encoding: gzip
- 32783 BereqHeader b X-Varnish: 32783
- 32783 VCL_call b BACKEND_FETCH
- 32783 VCL_return b fetch
- 32783 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32783 BackendStart b 127.0.0.1 6060
- 32783 Timestamp b Bereq: 1533381034.447888 0.000033 0.000033
- 32783 Timestamp b Beresp: 1533381034.448012 0.000157 0.000124
- 32783 BerespProtocol b HTTP/1.1
- 32783 BerespStatus b 200
- 32783 BerespReason b OK
- 32783 BerespHeader b Accept-Ranges: bytes
- 32783 BerespHeader b Content-Length: 8264
- 32783 BerespHeader b Content-Type: application/javascript
- 32783 BerespHeader b Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32783 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32783 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32783 VCL_call b BACKEND_RESPONSE
- 32783 VCL_return b deliver
- 32783 Filters b
- 32783 Storage b malloc s0
- 32783 Fetch_Body b 3 length stream
- 32783 BackendReuse b 27 default
- 32783 Timestamp b BerespBody: 1533381034.448055 0.000200 0.000042
- 32783 Length b 8264
- 32783 BereqAcct b 231 0 231 184 8264 8448
- 32783 End b
* << Request >> 32782
- 32782 Begin c req 32769 rxreq
- 32782 Timestamp c Start: 1533381034.447819 0.000000 0.000000
- 32782 Timestamp c Req: 1533381034.447819 0.000000 0.000000
- 32782 ReqStart c 127.0.0.1 52956 a0
- 32782 ReqMethod c GET
- 32782 ReqURL c /lib/godoc/jquery.treeview.js
- 32782 ReqProtocol c HTTP/1.1
- 32782 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32782 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32782 ReqHeader c Accept: */*
- 32782 ReqHeader c Accept-Encoding: identity
- 32782 ReqHeader c Host: localhost:8080
- 32782 ReqHeader c Connection: Keep-Alive
- 32782 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32782 VCL_call c RECV
- 32782 VCL_return c hash
- 32782 ReqUnset c Accept-Encoding: identity
- 32782 VCL_call c HASH
- 32782 VCL_return c lookup
- 32782 VCL_call c MISS
- 32782 VCL_return c fetch
- 32782 Link c bereq 32783 fetch
- 32782 Timestamp c Fetch: 1533381034.448035 0.000216 0.000216
- 32782 RespProtocol c HTTP/1.1
- 32782 RespStatus c 200
- 32782 RespReason c OK
- 32782 RespHeader c Content-Length: 8264
- 32782 RespHeader c Content-Type: application/javascript
- 32782 RespHeader c Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32782 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32782 RespHeader c X-Varnish: 32782
- 32782 RespHeader c Age: 0
- 32782 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32782 VCL_call c DELIVER
- 32782 VCL_return c deliver
- 32782 Timestamp c Process: 1533381034.448040 0.000221 0.000005
- 32782 RespHeader c Accept-Ranges: bytes
- 32782 RespHeader c Connection: keep-alive
- 32782 Timestamp c Resp: 1533381034.448068 0.000248 0.000028
- 32782 ReqAcct c 213 0 213 266 8264 8530
- 32782 End c
* << BeReq >> 32785
- 32785 Begin b bereq 32784 fetch
- 32785 Timestamp b Start: 1533381034.448422 0.000000 0.000000
- 32785 BereqMethod b GET
- 32785 BereqURL b /lib/godoc/jquery.treeview.edit.js
- 32785 BereqProtocol b HTTP/1.1
- 32785 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32785 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32785 BereqHeader b Accept: */*
- 32785 BereqHeader b Host: localhost:8080
- 32785 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32785 BereqHeader b Accept-Encoding: gzip
- 32785 BereqHeader b X-Varnish: 32785
- 32785 VCL_call b BACKEND_FETCH
- 32785 VCL_return b fetch
- 32785 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32785 BackendStart b 127.0.0.1 6060
- 32785 Timestamp b Bereq: 1533381034.448449 0.000027 0.000027
- 32785 Timestamp b Beresp: 1533381034.448577 0.000155 0.000127
- 32785 BerespProtocol b HTTP/1.1
- 32785 BerespStatus b 200
- 32785 BerespReason b OK
- 32785 BerespHeader b Accept-Ranges: bytes
- 32785 BerespHeader b Content-Length: 1676
- 32785 BerespHeader b Content-Type: application/javascript
- 32785 BerespHeader b Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32785 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32785 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32785 VCL_call b BACKEND_RESPONSE
- 32785 VCL_return b deliver
- 32785 Filters b
- 32785 Storage b malloc s0
- 32785 Fetch_Body b 3 length stream
- 32785 BackendReuse b 27 default
- 32785 Timestamp b BerespBody: 1533381034.448611 0.000189 0.000035
- 32785 Length b 1676
- 32785 BereqAcct b 236 0 236 184 1676 1860
- 32785 End b
* << Request >> 32784
- 32784 Begin c req 32769 rxreq
- 32784 Timestamp c Start: 1533381034.448395 0.000000 0.000000
- 32784 Timestamp c Req: 1533381034.448395 0.000000 0.000000
- 32784 ReqStart c 127.0.0.1 52956 a0
- 32784 ReqMethod c GET
- 32784 ReqURL c /lib/godoc/jquery.treeview.edit.js
- 32784 ReqProtocol c HTTP/1.1
- 32784 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32784 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32784 ReqHeader c Accept: */*
- 32784 ReqHeader c Accept-Encoding: identity
- 32784 ReqHeader c Host: localhost:8080
- 32784 ReqHeader c Connection: Keep-Alive
- 32784 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32784 VCL_call c RECV
- 32784 VCL_return c hash
- 32784 ReqUnset c Accept-Encoding: identity
- 32784 VCL_call c HASH
- 32784 VCL_return c lookup
- 32784 VCL_call c MISS
- 32784 VCL_return c fetch
- 32784 Link c bereq 32785 fetch
- 32784 Timestamp c Fetch: 1533381034.448599 0.000204 0.000204
- 32784 RespProtocol c HTTP/1.1
- 32784 RespStatus c 200
- 32784 RespReason c OK
- 32784 RespHeader c Content-Length: 1676
- 32784 RespHeader c Content-Type: application/javascript
- 32784 RespHeader c Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32784 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32784 RespHeader c X-Varnish: 32784
- 32784 RespHeader c Age: 0
- 32784 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32784 VCL_call c DELIVER
- 32784 VCL_return c deliver
- 32784 Timestamp c Process: 1533381034.448603 0.000208 0.000004
- 32784 RespHeader c Accept-Ranges: bytes
- 32784 RespHeader c Connection: keep-alive
- 32784 Timestamp c Resp: 1533381034.448621 0.000226 0.000018
- 32784 ReqAcct c 218 0 218 266 1676 1942
- 32784 End c
* << BeReq >> 32787
- 32787 Begin b bereq 32786 fetch
- 32787 Timestamp b Start: 1533381034.448968 0.000000 0.000000
- 32787 BereqMethod b GET
- 32787 BereqURL b /lib/godoc/godocs.js
- 32787 BereqProtocol b HTTP/1.1
- 32787 BereqHeader b Referer: http://localhost:8080/pkg/uplex.de/
- 32787 BereqHeader b User-Agent: Wget/1.18 (linux-gnu)
- 32787 BereqHeader b Accept: */*
- 32787 BereqHeader b Host: localhost:8080
- 32787 BereqHeader b X-Forwarded-For: 127.0.0.1
- 32787 BereqHeader b Accept-Encoding: gzip
- 32787 BereqHeader b X-Varnish: 32787
- 32787 VCL_call b BACKEND_FETCH
- 32787 VCL_return b fetch
- 32787 BackendOpen b 27 default 127.0.0.1 6060 127.0.0.1 58458
- 32787 BackendStart b 127.0.0.1 6060
- 32787 Timestamp b Bereq: 1533381034.449000 0.000032 0.000032
- 32787 Timestamp b Beresp: 1533381034.449118 0.000149 0.000118
- 32787 BerespProtocol b HTTP/1.1
- 32787 BerespStatus b 200
- 32787 BerespReason b OK
- 32787 BerespHeader b Accept-Ranges: bytes
- 32787 BerespHeader b Content-Length: 16403
- 32787 BerespHeader b Content-Type: application/javascript
- 32787 BerespHeader b Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32787 BerespHeader b Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32787 TTL b RFC 120 10 0 1533381034 1533381034 1533381034 0 0 cacheable
- 32787 VCL_call b BACKEND_RESPONSE
- 32787 VCL_return b deliver
- 32787 Filters b
- 32787 Storage b malloc s0
- 32787 Fetch_Body b 3 length stream
- 32787 BackendReuse b 27 default
- 32787 Timestamp b BerespBody: 1533381034.449157 0.000189 0.000039
- 32787 Length b 16403
- 32787 BereqAcct b 222 0 222 185 16403 16588
- 32787 End b
* << Request >> 32786
- 32786 Begin c req 32769 rxreq
- 32786 Timestamp c Start: 1533381034.448941 0.000000 0.000000
- 32786 Timestamp c Req: 1533381034.448941 0.000000 0.000000
- 32786 ReqStart c 127.0.0.1 52956 a0
- 32786 ReqMethod c GET
- 32786 ReqURL c /lib/godoc/godocs.js
- 32786 ReqProtocol c HTTP/1.1
- 32786 ReqHeader c Referer: http://localhost:8080/pkg/uplex.de/
- 32786 ReqHeader c User-Agent: Wget/1.18 (linux-gnu)
- 32786 ReqHeader c Accept: */*
- 32786 ReqHeader c Accept-Encoding: identity
- 32786 ReqHeader c Host: localhost:8080
- 32786 ReqHeader c Connection: Keep-Alive
- 32786 ReqHeader c X-Forwarded-For: 127.0.0.1
- 32786 VCL_call c RECV
- 32786 VCL_return c hash
- 32786 ReqUnset c Accept-Encoding: identity
- 32786 VCL_call c HASH
- 32786 VCL_return c lookup
- 32786 VCL_call c MISS
- 32786 VCL_return c fetch
- 32786 Link c bereq 32787 fetch
- 32786 Timestamp c Fetch: 1533381034.449139 0.000199 0.000199
- 32786 RespProtocol c HTTP/1.1
- 32786 RespStatus c 200
- 32786 RespReason c OK
- 32786 RespHeader c Content-Length: 16403
- 32786 RespHeader c Content-Type: application/javascript
- 32786 RespHeader c Last-Modified: Fri, 28 Oct 2016 18:18:45 GMT
- 32786 RespHeader c Date: Sat, 04 Aug 2018 11:10:34 GMT
- 32786 RespHeader c X-Varnish: 32786
- 32786 RespHeader c Age: 0
- 32786 RespHeader c Via: 1.1 varnish (Varnish/6.0)
- 32786 VCL_call c DELIVER
- 32786 VCL_return c deliver
- 32786 Timestamp c Process: 1533381034.449144 0.000203 0.000004
- 32786 RespHeader c Accept-Ranges: bytes
- 32786 RespHeader c Connection: keep-alive
- 32786 Timestamp c Resp: 1533381034.449169 0.000229 0.000026
- 32786 ReqAcct c 204 0 204 267 16403 16670
- 32786 End c
* << Session >> 32769
- 32769 Begin c sess 0 HTTP/1
- 32769 SessOpen c 127.0.0.1 52956 a0 127.0.0.1 8080 1533381034.441618 23
- 32769 Link c req 32770 rxreq
- 32769 Link c req 32772 rxreq
- 32769 Link c req 32774 rxreq
- 32769 Link c req 32776 rxreq
- 32769 Link c req 32778 rxreq
- 32769 Link c req 32780 rxreq
- 32769 Link c req 32782 rxreq
- 32769 Link c req 32784 rxreq
- 32769 Link c req 32786 rxreq
- 32769 SessClose c REM_CLOSE 0.009
- 32769 End c
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment