Skip to content

feat: add sample config & E2E tests for jaeger-query v2 (#6683) #6873

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

Conversation

sAchin-680
Copy link
Contributor

This pull request introduces an example configuration for Jaeger Query v2 as part of the effort to improve compatibility with the OpenTelemetry (OTEL) Collector architecture.

Key Changes:

  • Imported the nop receiver and exporter to define a minimal pipeline.
  • Created a sample query service configuration that excludes the ingestion pipeline.
  • Extended E2E integration tests to validate the new configuration.
  • Updated the CI workflow (ci-crossdock.yml) to support Jaeger Query v2 testing.
  • Enhanced documentation to guide users on the setup and usage.

Which problem is this PR solving?

Jaeger Query operates as a read-only service and does not require an ingestion pipeline. However, due to OTEL Collector’s architecture, a minimal pipeline is necessary. To work around this, the nop receiver and nop exporter are introduced as a placeholder pipeline.

This approach aligns with ongoing discussions:


Description of the changes

Changes Introduced

  • Imported OTEL Collector’s nop receiver and nop exporter to enable a minimal pipeline.
  • Added config-query.yml: A dedicated configuration file for Jaeger Query v2.
  • Updated CI tests (ci-crossdock.yml) to verify Query v2 functionality.
  • Extended E2E test coverage to validate the correctness of the new configuration.
  • Updated documentation to explain the new setup and provide usage instructions.

How was this change tested?

  • Verified locally by running:
    make lint test  # Run Jaeger lint and test checks
    npm run lint && npm run test  # Run Jaeger UI checks
    

Checklist

@sAchin-680 sAchin-680 requested a review from a team as a code owner March 18, 2025 21:02
@sAchin-680 sAchin-680 requested a review from mahadzaryab1 March 18, 2025 21:02
@@ -0,0 +1,52 @@
service:
Copy link
Member

Choose a reason for hiding this comment

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

we already have that cmd/jaeger/config-query.yaml

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for pointing that out! I noticed the existing cmd/jaeger/config-query.yaml. Would you like me to remove the new file, update it if needed, or leave it as is? Let me know how you'd like to proceed!

Copy link
Member

Choose a reason for hiding this comment

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

Don't introduce changes that are not necessary

@sAchin-680 sAchin-680 force-pushed the feat/jaeger-query-v2-config-e2e-6683 branch from e388773 to f62e87c Compare March 19, 2025 09:13
sAchin-680 and others added 9 commits March 19, 2025 09:20
…g#6683)

- Import the nop receiver and exporter
- Create a sample query service configuration
- Extend E2E tests to validate the new configuration
- Update documentation to explain the setup
- Provide an example configuration for jaeger-query v2

Signed-off-by: sAchin-680 <[email protected]>
…ng#6863)

## Which problem is this PR solving?
- Towards jaegertracing#4739
- This was the only dependency on cmd/agent from other packages. Once
the next release of OTEL Contrib lands we can remove cmd/agent.

## Description of the changes
- Copy the interface into internal/sampling/http/handler.go

## How was this change tested?
- CI

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
…ertracing#6870)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| prom/prometheus | digest | `6927e09` -> `502ad90` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFuZ2Vsb2c6ZGVwZW5kZW5jaWVzIl19-->

---------

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Co-authored-by: Yuri Shkuro <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
…reusable for v2 APIs (jaegertracing#6845)

## Which problem is this PR solving?
Fixes a part of: jaegertracing#6458

## Description of the changes
- Refactoring of `FindTraces` and `GetTrace` to complete refactoring for
ES Span Reader

## How was this change tested?
- Unit tests

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `npm run lint` and `npm run test`

---------

Signed-off-by: Manik2708 <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
…ng#6871)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| prom/prometheus | patch | `v3.2.0` -> `v3.2.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFuZ2Vsb2c6ZGVwZW5kZW5jaWVzIl19-->

Signed-off-by: Mend Renovate <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
## Which problem is this PR solving?
- Part of jaegertracing#4739

## Description of the changes
- Remove all remaining agent code: `rm -rf cmd/agent`

## How was this change tested?
- CI

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
)

## Which problem is this PR solving?
Fixes a part of: jaegertracing#6458

## Description of the changes
- Removal of pointer signatures from `CoreSpanReader`

## How was this change tested?
- Unit Tests

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [x] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `npm run lint` and `npm run test`

---------

Signed-off-by: Manik2708 <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
## Which problem is this PR solving?
- Follow-up to jaegertracing#6494

## Description of the changes
- Remove model files that only contained aliases to jaeger-idl types
  - model/*go
  - proto-gen/api_v2/*go
  - thrift-gen/**

## How was this change tested?
- CI

---------

Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: sAchin-680 <[email protected]>
@sAchin-680 sAchin-680 force-pushed the feat/jaeger-query-v2-config-e2e-6683 branch from f62e87c to c8e6980 Compare March 19, 2025 09:32
@sAchin-680 sAchin-680 force-pushed the feat/jaeger-query-v2-config-e2e-6683 branch from 749392c to df1ec13 Compare March 20, 2025 13:20
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter"
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckv2extension"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor"
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver"
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver"
"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver"
Copy link
Member

Choose a reason for hiding this comment

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

we already have these from main repo

Comment on lines +6 to +8
## What Has Changed?
- Jaeger Query v2 Support: Integrated into the CI/CD pipeline.
- Updated `ci-crossdock.yml` : Includes a step for running Jaeger Query v2.
Copy link
Member

Choose a reason for hiding this comment

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

what is this referring to? changed since when?

@@ -0,0 +1,56 @@
# Jaeger Query v2 Setup Guide
Copy link
Member

Choose a reason for hiding this comment

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

I don't think this file is necessary. The documentation changes should be made on the docs website.

@sAchin-680 sAchin-680 closed this Mar 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants