Skip to content

Commit 6586968

Browse files
committed
test changes
1 parent e78b186 commit 6586968

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

internal/trace/listener.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,24 @@ var tracerInitialized = false
5555

5656
// MakeListener initializes a new trace lambda Listener
5757
func MakeListener(config Config, extensionManager *extension.ExtensionManager) Listener {
58+
if config.TracerOptions == nil {
59+
config.TracerOptions = []tracer.StartOption{}
60+
}
61+
62+
// Read DD_TRACE_SAMPLING_RULES before initializing tracer
63+
if ruleStr := os.Getenv("DD_TRACE_SAMPLING_RULES"); ruleStr != "" {
64+
var rules []map[string]interface{}
65+
if err := json.Unmarshal([]byte(ruleStr), &rules); err == nil {
66+
// Convert environment rules to tracer.SamplingRule
67+
for _, rule := range rules {
68+
if rate, ok := rule["sample_rate"].(float64); ok {
69+
samplingRule := tracer.RateRule(rate)
70+
config.TracerOptions = append(config.TracerOptions,
71+
tracer.WithSamplingRules([]tracer.SamplingRule{samplingRule}))
72+
}
73+
}
74+
}
75+
}
5876

5977
return Listener{
6078
ddTraceEnabled: config.DDTraceEnabled,
@@ -113,8 +131,6 @@ func (l *Listener) HandlerStarted(ctx context.Context, msg json.RawMessage) cont
113131
return ctx
114132
}
115133

116-
//
117-
118134
// HandlerFinished ends the function execution span and stops the tracer
119135
func (l *Listener) HandlerFinished(ctx context.Context, err error) {
120136
if functionExecutionSpan != nil {

0 commit comments

Comments
 (0)