Skip to content

[WIP] Add E2E Integration Test For Adaptive Sampling Processor #5951

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

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6cc7c1b
Setup Docker Compose With Jaeger All In One And Tracegen
mahadzaryab1 Sep 7, 2024
e4eb3b6
Use V2 Binary Instead of V1
mahadzaryab1 Sep 7, 2024
ea76c8e
Adjust Parameters For Integration Test
mahadzaryab1 Sep 7, 2024
5483545
Fix Makefile Cleanup
mahadzaryab1 Sep 7, 2024
8ff74a7
Expose Port 4318 In Jaeger
mahadzaryab1 Sep 7, 2024
6a9699a
Revert To Port 5000
mahadzaryab1 Sep 7, 2024
a65c190
Merge branch 'main' into adaptive-sampling-e2e
mahadzaryab1 Sep 8, 2024
3018caf
Remove Leader Check In Adaptive Strategy Provider
mahadzaryab1 Sep 13, 2024
d7ba2ce
Merge branch 'main' into adaptive-sampling-e2e
mahadzaryab1 Sep 13, 2024
c3b1ca4
Reduce Calculation Interval And Calculation Delay
mahadzaryab1 Sep 14, 2024
7561945
Remove Unused Method
mahadzaryab1 Sep 14, 2024
9aaaf75
Make Forwarding Port Explicit
mahadzaryab1 Sep 15, 2024
3dc923d
Merge branch 'main' into adaptive-sampling-e2e
mahadzaryab1 Sep 15, 2024
7dd33d1
Hardcode Adaptive Sampling
mahadzaryab1 Sep 16, 2024
b2be33c
Add Expvar Extension
mahadzaryab1 Sep 16, 2024
b996270
Add Script For E2E Integration Test
mahadzaryab1 Sep 17, 2024
d661a0f
Add Github Action
mahadzaryab1 Sep 17, 2024
7aba57e
Fix Typo
mahadzaryab1 Sep 17, 2024
c9811ab
Merge branch 'main' into adaptive-sampling-e2e
mahadzaryab1 Sep 17, 2024
735704c
Add Build Step To Script
mahadzaryab1 Sep 17, 2024
f485cc8
Add Missing Components To Workflow File
mahadzaryab1 Sep 17, 2024
54cd6b8
Add ExpVar Debugging For Post Aggregator Service Cache
mahadzaryab1 Oct 6, 2024
cf8dd9c
Merge branch 'main' into adaptive-sampling-e2e
mahadzaryab1 Oct 6, 2024
e18d8d5
Use New Configuration Schema
mahadzaryab1 Oct 6, 2024
24d11d4
Patch To Only Remove One Check
mahadzaryab1 Oct 6, 2024
9ebf133
Fix Linting
mahadzaryab1 Oct 6, 2024
ca9a8c9
Comment Out Failing Tests For Now
mahadzaryab1 Oct 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions docker-compose/adaptive-sampling/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright (c) 2024 The Jaeger Authors.
# SPDX-License-Identifier: Apache-2.0

BINARY ?= all-in-one
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all-in-one is a v1 style binary. I would prefer we test v2 version (or at least both, but v2 is higher priority and testing v1 at this point is wasted work since v1 will be EOLed in a year)

Copy link
Collaborator Author

@mahadzaryab1 mahadzaryab1 Sep 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yurishkuro I was trying to test jaeger binary but I can't seem to access port 14268. Do you know why that is? I left more details on the issue: #5717 (comment)


.PHONY: build
build: clean-jaeger
cd ../../ && make build-$(BINARY) GOOS=linux
cd ../../ && make create-baseimg PLATFORMS=linux/$(shell go env GOARCH)
cd ../../ && docker buildx build --target release \
--tag jaegertracing/$(BINARY):dev \
--build-arg base_image=localhost:5000/baseimg_alpine:latest \
--build-arg debug_image=not-used \
--build-arg TARGETARCH=$(shell go env GOARCH) \
--load \
cmd/$(BINARY)

.PHONY: dev
dev: export JAEGER_IMAGE_TAG = dev
dev: build
docker compose -f docker-compose.yml up $(DOCKER_COMPOSE_ARGS)

.PHONY: clean-jaeger
clean-jaeger:
# Also cleans up intermediate cached containers.
docker system prune -f

.PHONY: clean-all
clean-all: clean-jaeger
docker rmi -f otel/opentelemetry-collector-contrib:latest
19 changes: 19 additions & 0 deletions docker-compose/adaptive-sampling/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
services:
jaeger:
image: jaegertracing/all-in-one:${JAEGER_IMAGE_TAG:-latest}
ports:
- "16686:16686"
- "14268:14268"
environment:
- SAMPLING_CONFIG_TYPE=adaptive
command:
- "--sampling.initial-sampling-probability=1.0"
- "--sampling.target-samples-per-second=1"

tracegen:
image: jaegertracing/jaeger-tracegen:latest
environment:
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://jaeger:4318/v1/traces
command: ["-adaptive-sampling", "http://jaeger:14268/api/sampling", "-pause", "10ms", "-duration", "60m"]
depends_on:
- jaeger
Loading