-
Notifications
You must be signed in to change notification settings - Fork 525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[7.x] Extrapolate Jaeger transaction count from reported sampling rate (#3722) #3932
Conversation
…stic#3722) * model: add Transaction.RepresentativeCount field * jaeger: set Transaction.RepresentativeCount Set Transaction.RepresentativeCount based on the value of sampler.param if sampler.type=probabilistic. * aggregation/txmetrics: use RepresentativeCount * Update changelog * docs: remove caveats about Jaeger sampling & RPMs Once the UI side of this is in, the histograms will be used for RPM graphs, which will take sampling into account. * Fix/add comments
💚 Build SucceededExpand to view the summary
Build stats
Test stats 🧪
Steps errorsExpand to view the steps failures
|
Verified with BC2. Tested with this program: package main
import (
"fmt"
"time"
"github.com/uber/jaeger-client-go"
"github.com/uber/jaeger-client-go/config"
)
func main() {
cfg, _ := config.FromEnv()
cfg.ServiceName = "schnozz"
cfg.Sampler.Type = "remote"
cfg.Sampler.Param = 0.1
cfg.Sampler.SamplingRefreshInterval = 250 * time.Millisecond
tracer, _, _ := cfg.NewTracer()
for i := 0; i < 1000; i++ {
span := tracer.StartSpan("frozzlet")
fmt.Println("sampled:", span.Context().(jaeger.SpanContext).IsSampled())
span.Finish()
time.Sleep(100 * time.Millisecond)
}
} Then, confirmed that the number of recorded values per bucket is 10 (1/0.1) times the number of recorded transaction docs:
|
Backports the following commits to 7.x: