Skip to content

Commit 3469c62

Browse files
committed
move otel env to helm template
1 parent d6b5ed6 commit 3469c62

File tree

4 files changed

+33
-45
lines changed

4 files changed

+33
-45
lines changed

config/charts/inferencepool/templates/_helpers.tpl

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,3 @@ Selector labels
3131
{{- define "gateway-api-inference-extension.selectorLabels" -}}
3232
inferencepool: {{ include "gateway-api-inference-extension.name" . }}
3333
{{- end -}}
34-
35-
36-
{{/*
37-
Generate environment variable list for inference extension
38-
Exclude OTEL_ prefixed environment variables when tracing is not enabled
39-
*/}}
40-
{{- define "inferenceExtension.envs" -}}
41-
{{- range .Values.inferenceExtension.env }}
42-
{{- if and (not $.Values.inferenceExtension.trace.enabled) (hasPrefix "OTEL_" .name) }}
43-
{{- else }}
44-
- name: {{ .name }}
45-
{{- if .value }}
46-
value: "{{ .value }}"
47-
{{- else if .valueFrom }}
48-
valueFrom: {{ .valueFrom | toYaml | nindent 4 }}
49-
{{- end }}
50-
{{- end }}
51-
{{- end }}
52-
{{- end -}}

config/charts/inferencepool/templates/epp-deployment.yaml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,31 @@ spec:
107107
valueFrom:
108108
fieldRef:
109109
fieldPath: metadata.namespace
110-
{{- include "inferenceExtension.envs" . | nindent 8 }}
110+
{{- if .Values.inferenceExtension.trace.enabled }}
111+
- name: OTEL_EXPORTER_OTLP_ENDPOINT
112+
value: {{ .Values.inferenceExtension.trace.otelExporterEndpoint | default "http://localhost:4317" | quote }}
113+
- name: OTEL_SERVICE_NAME
114+
value: "gateway-api-inference-extension"
115+
- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME
116+
valueFrom:
117+
fieldRef:
118+
apiVersion: v1
119+
fieldPath: spec.nodeName
120+
- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME
121+
valueFrom:
122+
fieldRef:
123+
apiVersion: v1
124+
fieldPath: metadata.name
125+
- name: OTEL_RESOURCE_ATTRIBUTES
126+
value: 'k8s.namespace.name=$(NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'
127+
- name: OTEL_TRACES_SAMPLER
128+
value: {{ .Values.inferenceExtension.trace.sampling.sampler | default "parentbased_traceidratio" | quote }}
129+
- name: OTEL_TRACES_SAMPLER_ARG
130+
value: {{ .Values.inferenceExtension.trace.sampling.samplerArg | default "0.1" | quote }}
131+
{{- end }}
132+
{{- if .Values.inferenceExtension.env }}
133+
{{- toYaml .Values.inferenceExtension.env | nindent 8 }}
134+
{{- end }}
111135
volumeMounts:
112136
- name: plugins-config-volume
113137
mountPath: "/config"

config/charts/inferencepool/values.yaml

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,7 @@ inferenceExtension:
66
tag: main
77
pullPolicy: Always
88
extProcPort: 9002
9-
env:
10-
# The default OTEL_* environments is used to config the behaviour of OTel SDK
11-
# If you also enabled trace.autoENVInject setting, the auto env inject will be skipped by opentelemetry-operator,
12-
- name: OTEL_EXPORTER_OTLP_ENDPOINT
13-
value: "http://localhost:4317"
14-
- name: OTEL_SERVICE_NAME
15-
value: "gateway-api-inference-extension"
16-
- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME
17-
valueFrom:
18-
fieldRef:
19-
apiVersion: v1
20-
fieldPath: spec.nodeName
21-
- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME
22-
valueFrom:
23-
fieldRef:
24-
apiVersion: v1
25-
fieldPath: metadata.name
26-
- name: OTEL_RESOURCE_ATTRIBUTES
27-
value: 'k8s.namespace.name=$(NAMESPACE),k8s.node.name=$(OTEL_RESOURCE_ATTRIBUTES_NODE_NAME),k8s.pod.name=$(OTEL_RESOURCE_ATTRIBUTES_POD_NAME)'
28-
- name: OTEL_TRACES_SAMPLER
29-
value: "parentbased_traceidratio"
30-
- name: OTEL_TRACES_SAMPLER_ARG
31-
value: "0.1"
9+
env: []
3210
pluginsConfigFile: "default-plugins.yaml"
3311
# Define additional container ports
3412
extraContainerPorts: []
@@ -77,6 +55,10 @@ inferenceExtension:
7755
enabled: false
7856
trace:
7957
enabled: false
58+
otelExporterEndpoint: "http://localhost:4317"
59+
sampling:
60+
sampler: "parentbased_traceidratio"
61+
samplerArg: "0.1"
8062

8163
inferencePool:
8264
targetPorts:

pkg/common/telemetry.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ func InitTracing(ctx context.Context, logger logr.Logger) error {
3131
logger = logger.WithName("trace")
3232
loggerWrap := &errorHandler{logger: logger}
3333

34-
serviceName, ok := os.LookupEnv("OTEL_SERVICE_NAME")
34+
serviceName, ok := os.LookupEnv("OTEL_SERVICE_NAME") //nolint:ineffassign
3535
if !ok {
3636
serviceName = "gateway-api-inference-extension"
3737
os.Setenv("OTEL_SERVICE_NAME", serviceName)
3838
}
3939

40-
collectorAddr, ok := os.LookupEnv("OTEL_EXPORTER_OTLP_ENDPOINT")
40+
collectorAddr, ok := os.LookupEnv("OTEL_EXPORTER_OTLP_ENDPOINT") //nolint:ineffassign
4141
if !ok {
4242
collectorAddr = "http://localhost:4317"
4343
os.Setenv("OTEL_EXPORTER_OTLP_ENDPOINT", collectorAddr)
@@ -65,6 +65,7 @@ func InitTracing(ctx context.Context, logger logr.Logger) error {
6565
if err != nil {
6666
fraction = 0.1
6767
}
68+
6869
sampler = sdktrace.ParentBased(sdktrace.TraceIDRatioBased(fraction))
6970
} else {
7071
loggerWrap.Handle(fmt.Errorf("un supported sampler type: %s, fallback to parentbased_traceidratio with 0.1 Ratio", samplerType))

0 commit comments

Comments
 (0)