Source File
sampling.go
Belonging Package
go.opencensus.io/trace
package trace
import (
)
const defaultSamplingProbability = 1e-4
type Sampler func(SamplingParameters) SamplingDecision
type SamplingParameters struct {
ParentContext SpanContext
TraceID TraceID
SpanID SpanID
Name string
HasRemoteParent bool
}
type SamplingDecision struct {
Sample bool
}
func ( float64) Sampler {
if !( >= 0) {
= 0
} else if >= 1 {
return AlwaysSample()
}
:= uint64( * (1 << 63))
return Sampler(func( SamplingParameters) SamplingDecision {
if .ParentContext.IsSampled() {
return SamplingDecision{Sample: true}
}
:= binary.BigEndian.Uint64(.TraceID[0:8]) >> 1
return SamplingDecision{Sample: < }
})
}
func () Sampler {
return func( SamplingParameters) SamplingDecision {
return SamplingDecision{Sample: true}
}
}
func () Sampler {
return func( SamplingParameters) SamplingDecision {
return SamplingDecision{Sample: false}
}
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |