Repository navigation
test(otel): add SGLang solution integration tests - #797
Open
Aakash-Dantre wants to merge 1 commit into
Open
Aakash-Dantre wants to merge 1 commit into
Aakash-Dantre wants to merge 1 commit into
Conversation
Adds the SGLang suite and SGLang workloads to the LLM serving root, so vLLM and SGLang are tested side by side under KServe and as plain Deployments. - Deploy an SGLang InferenceService and a plain SGLang Deployment (no declared port, service.name annotation) from SGLang's CPU image, and send them load - Add test/otel/solutions/sglang: metrics, scope and labels, InferenceService and annotation attribution, the 30000 default port, one series per pod, sglang:* only, counters increase - Add TestModelServerRouting: each of the four servers reaches only its own engine pipeline, with positive controls - Run the sglang suite after test_dir, and require the solution in the cloned chart
Aakash-Dantre
force-pushed
the
feat/otel-llm-serving-sglang
branch
from
November 5, 2026 13:20
4720f34 to
6046c74
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
End-to-end tests for the SGLang model-server solution and the shared KServe model-server discovery in aws-observability/helm-charts#418, with vLLM and SGLang running side by side under KServe and as plain Deployments.
Builds on the
otel-llm-servingroot and the vLLM, KServe and Knative suites from #779 (merged). The root requires the SGLang solution in the cloned chart, so CI passes once a helm-charts release branch includes aws-observability/helm-charts#418.What the chart does that this tests
KServe labels a vLLM predictor and an SGLang predictor identically, so #418 scrapes every predictor's model container once with a shared
kserve-model-serverjob and lets each engine pipeline keep its own series by metric name (vllm:*/http_*,sglang:*). Servers outside KServe are found by image (vllm,sglang). Both engines getaws.service.type = ai_inferenceand the sameservice.nameorder: theresource.opentelemetry.io/service.nameannotation, then the InferenceService, then the workload, then the pod.Changes to
terraform/eks/daemon/otel-llm-servingsglang-isvc: InferenceService, SGLang CPU image,--enable-metricsservice.name= InferenceService; the Knative data planesglang-standalone: Deployment, SGLang CPU image, no declared port, annotationresource.opentelemetry.io/service.name: sglang-chatloadgenlmsysorg/sglang:v0.5.23-xeon(sglang_cpu_image), with Qwen2.5-0.5B-Instruct like the vLLM servers. The build needs AVX-512, whichm5has; on AMD EPYC Zen 2 it exits with an illegal instruction. On CPU,--mem-fraction-staticapplies to host memory, so it is raised to 0.85./healthtakes about a second, the default probe timeout, so the InferenceService's readiness probe setstimeoutSeconds: 5; otherwise the queue-proxy never becomes ready.sglangsolution, and the validator runs./test/otel/solutions/sglangaftertest_dir.Suite:
test/otel/solutions/sglang(9 tests)github.com/sgl-project/sglang, pipelinesglangand datapoint labelsTestSGLangKServeAttribution:service.name= InferenceService, revision Deployment workload, KServe pod labels,kserve-container,ai_inference, cloud identity, no temporary attributesTestSGLangImageDetected:service.namefrom the annotation, scraped on port 30000, no InferenceService labelTestModelServerRouting: each of the four servers (vLLM and SGLang, predictor and plain) reaches only its own engine pipeline, with a positive control for eachsglang:*Testing
go vet -tags integrationandgofmtare clean;terraform fmtandterraform validatepass.PR Checklist
go vet/gofmt/terraform validatepass locally