-
Notifications
You must be signed in to change notification settings - Fork 34
/
trace_util.go
36 lines (28 loc) · 860 Bytes
/
trace_util.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package opencensus
import (
"net/http"
"go.opencensus.io/plugin/ochttp"
"go.opencensus.io/trace"
)
func SpanNameFromURL(req *http.Request) string {
return req.URL.Path
}
func RequestAttrs(r *http.Request) []trace.Attribute {
userAgent := r.UserAgent()
attrs := make([]trace.Attribute, 0, 5)
attrs = append(attrs,
trace.StringAttribute(ochttp.PathAttribute, r.URL.Path),
trace.StringAttribute(ochttp.URLAttribute, r.URL.String()),
trace.StringAttribute(ochttp.HostAttribute, r.Host),
trace.StringAttribute(ochttp.MethodAttribute, r.Method),
)
if userAgent != "" {
attrs = append(attrs, trace.StringAttribute(ochttp.UserAgentAttribute, userAgent))
}
return attrs
}
func ResponseAttrs(resp *http.Response) []trace.Attribute {
return []trace.Attribute{
trace.Int64Attribute(ochttp.StatusCodeAttribute, int64(resp.StatusCode)),
}
}