github.com/safing/portbase@v0.19.5/log/trace_test.go (about)

     1  package log
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  )
     8  
     9  func TestContextTracer(t *testing.T) {
    10  	t.Parallel()
    11  
    12  	// skip
    13  	if testing.Short() {
    14  		t.Skip()
    15  	}
    16  
    17  	ctx, tracer := AddTracer(context.Background())
    18  	_ = Tracer(ctx)
    19  
    20  	tracer.Trace("api: request received, checking security")
    21  	time.Sleep(1 * time.Millisecond)
    22  	tracer.Trace("login: logging in user")
    23  	time.Sleep(1 * time.Millisecond)
    24  	tracer.Trace("database: fetching requested resources")
    25  	time.Sleep(10 * time.Millisecond)
    26  	tracer.Warning("database: partial failure")
    27  	time.Sleep(10 * time.Microsecond)
    28  	tracer.Trace("renderer: rendering output")
    29  	time.Sleep(1 * time.Millisecond)
    30  	tracer.Trace("api: returning request")
    31  
    32  	tracer.Trace("api: completed request")
    33  	tracer.Submit()
    34  	time.Sleep(100 * time.Millisecond)
    35  }