Skip to content

Commit 1ce15ce

Browse files
yurishkuroManik2708
authored andcommitted
[sampling] Inherit default per-operation strategies (jaegertracing#6441)
1 parent d12c910 commit 1ce15ce

File tree

5 files changed

+21
-5
lines changed

5 files changed

+21
-5
lines changed

cmd/jaeger/internal/all-in-one.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
service:
2-
extensions: [jaeger_storage, jaeger_query, remote_sampling, healthcheckv2, expvar]
2+
extensions: [jaeger_storage, jaeger_query, remote_sampling, healthcheckv2, expvar, zpages]
33
pipelines:
44
traces:
55
receivers: [otlp, jaeger, zipkin]
@@ -49,6 +49,11 @@ extensions:
4949
expvar:
5050
endpoint: "${env:JAEGER_LISTEN_HOST:-localhost}:27777"
5151

52+
zpages:
53+
# for some reason the official extension listens on ephemeral port 55679
54+
# so we override it with a normal port
55+
endpoint: "${env:JAEGER_LISTEN_HOST:-localhost}:27778"
56+
5257
receivers:
5358
otlp:
5459
protocols:

cmd/jaeger/internal/extension/remotesampling/config.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"go.opentelemetry.io/collector/config/configgrpc"
1313
"go.opentelemetry.io/collector/config/confighttp"
1414
"go.opentelemetry.io/collector/confmap"
15+
"go.opentelemetry.io/collector/featuregate"
1516

1617
"github.com/jaegertracing/jaeger/plugin/sampling/strategyprovider/adaptive"
1718
)
@@ -26,6 +27,15 @@ var (
2627
_ component.Config = (*Config)(nil)
2728
_ component.ConfigValidator = (*Config)(nil)
2829
_ confmap.Unmarshaler = (*Config)(nil)
30+
31+
includeDefaultOpStrategies = featuregate.GlobalRegistry().MustRegister(
32+
"jaeger.sampling.includeDefaultOpStrategies",
33+
featuregate.StageBeta, // enabed by default
34+
featuregate.WithRegisterFromVersion("v2.2.0"),
35+
featuregate.WithRegisterToVersion("v2.5.0"),
36+
featuregate.WithRegisterDescription("Forces service strategy to be merged with default strategy, including per-operation overrides."),
37+
featuregate.WithRegisterReferenceURL("https://github.com/jaegertracing/jaeger/issues/5270"),
38+
)
2939
)
3040

3141
type Config struct {

cmd/jaeger/internal/extension/remotesampling/extension.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,9 @@ func (ext *rsExtension) Shutdown(ctx context.Context) error {
165165

166166
func (ext *rsExtension) startFileBasedStrategyProvider(_ context.Context) error {
167167
opts := static.Options{
168-
StrategiesFile: ext.cfg.File.Path,
169-
ReloadInterval: ext.cfg.File.ReloadInterval,
168+
StrategiesFile: ext.cfg.File.Path,
169+
ReloadInterval: ext.cfg.File.ReloadInterval,
170+
IncludeDefaultOpStrategies: includeDefaultOpStrategies.IsEnabled(),
170171
}
171172

172173
// contextcheck linter complains about next line that context is not passed.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ require (
7070
go.opentelemetry.io/collector/extension v0.116.0
7171
go.opentelemetry.io/collector/extension/extensiontest v0.116.0
7272
go.opentelemetry.io/collector/extension/zpagesextension v0.116.0
73+
go.opentelemetry.io/collector/featuregate v1.22.0
7374
go.opentelemetry.io/collector/otelcol v0.116.0
7475
go.opentelemetry.io/collector/pdata v1.22.0
7576
go.opentelemetry.io/collector/pipeline v0.116.0
@@ -248,7 +249,6 @@ require (
248249
go.opentelemetry.io/collector/extension/auth v0.116.0 // indirect
249250
go.opentelemetry.io/collector/extension/experimental/storage v0.116.0 // indirect
250251
go.opentelemetry.io/collector/extension/extensioncapabilities v0.116.0
251-
go.opentelemetry.io/collector/featuregate v1.22.0 // indirect
252252
go.opentelemetry.io/collector/internal/fanoutconsumer v0.116.0 // indirect
253253
go.opentelemetry.io/collector/internal/memorylimiter v0.116.0 // indirect
254254
go.opentelemetry.io/collector/internal/sharedcomponent v0.116.0 // indirect

plugin/sampling/strategyprovider/static/options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ type Options struct {
3333
func AddFlags(flagSet *flag.FlagSet) {
3434
flagSet.Duration(samplingStrategiesReloadInterval, 0, "Reload interval to check and reload sampling strategies file. Zero value means no reloading")
3535
flagSet.String(samplingStrategiesFile, "", "The path for the sampling strategies file in JSON format. See sampling documentation to see format of the file")
36-
flagSet.Bool(samplingStrategiesBugfix5270, false, "Include default operation level strategies for Ratesampling type service level strategy. Cf. https://github.com/jaegertracing/jaeger/issues/5270")
36+
flagSet.Bool(samplingStrategiesBugfix5270, true, "Include default operation level strategies for Ratesampling type service level strategy. Cf. https://github.com/jaegertracing/jaeger/issues/5270")
3737
}
3838

3939
// InitFromViper initializes Options with properties from viper

0 commit comments

Comments
 (0)