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

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions cmd/jaeger/internal/components.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,21 @@
import (
"github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector"
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/kafkaexporter"
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter"

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / spm (v2, jaeger)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / binary-size-check

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / hotrod (docker, v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / all-in-one (v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / hotrod (k8s, v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / crossdock

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / docker-images

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / lint

other declaration of nopexporter (typecheck)

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-darwin-arm64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-s390x

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-darwin-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-ppc64le

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-windows-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / unit-tests

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / unit-tests

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:

Check failure on line 9 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-arm64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/exporter/nopexporter; to add it:
"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"

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / spm (v2, jaeger)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / binary-size-check

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / hotrod (docker, v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / all-in-one (v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / hotrod (k8s, v2)

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / crossdock

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / docker-images

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / lint

other declaration of nopreceiver (typecheck)

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-darwin-arm64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-s390x

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-darwin-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-ppc64le

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-windows-amd64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / unit-tests

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / unit-tests

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:

Check failure on line 16 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / build-binaries-linux-arm64

no required module provides package github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nopreceiver; to add it:
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

"github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/connector"
"go.opentelemetry.io/collector/connector/forwardconnector"
"go.opentelemetry.io/collector/exporter"
"go.opentelemetry.io/collector/exporter/debugexporter"
"go.opentelemetry.io/collector/exporter/nopexporter"

Check failure on line 23 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / lint

nopexporter redeclared in this block (typecheck)
"go.opentelemetry.io/collector/exporter/otlpexporter"
"go.opentelemetry.io/collector/exporter/otlphttpexporter"
"go.opentelemetry.io/collector/extension"
Expand All @@ -28,7 +30,7 @@
"go.opentelemetry.io/collector/processor/batchprocessor"
"go.opentelemetry.io/collector/processor/memorylimiterprocessor"
"go.opentelemetry.io/collector/receiver"
"go.opentelemetry.io/collector/receiver/nopreceiver"

Check failure on line 33 in cmd/jaeger/internal/components.go

View workflow job for this annotation

GitHub Actions / lint

nopreceiver redeclared in this block (typecheck)
"go.opentelemetry.io/collector/receiver/otlpreceiver"

"github.com/jaegertracing/jaeger/cmd/jaeger/internal/exporters/storageexporter"
Expand Down
56 changes: 56 additions & 0 deletions docs/jaeger-query-v2-setup.md
Original file line number Diff line number Diff line change
@@ -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.


## Overview
This guide explains the integration of Jaeger Query v2 into the Jaeger project. It includes details on the updated configuration, CI workflow, and how to use the new setup effectively.

## 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.
Comment on lines +6 to +8
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?


## How to Use the New Configuration
### 1. Configuration File
- The configuration file is located at `cmd/config-query.yml`.
- Key changes include:
- Support for in-memory storage.
- Prometheus metrics configuration.
- UI static files and index file setup.

### 2. Running Jaeger Query v2
- Use the following command to run Jaeger Query v2:
```bash
docker run -d \
--name jaeger-query-v2 \
--rm \
-p 16686:16686 \ # UI port
-p 16685:16685 \ # Query service port
-v ./cmd/jaeger/config.yaml:/etc/jaeger/config.yaml \
jaegertracing/all-in-one:latest \
--query.base-path=/jaeger
```

### 3. CI Workflow Integration
The CI workflow (`ci-crossdock.yml`) has been updated to:
- Include a step for running Jaeger Query v2 during testing.
- Ensure tests run against the new configuration.

## Additional Notes
- For more details, refer to the [`README.md`](/docs/jaeger-query-v2-setup.md) and [`CONTRIBUTING.md`](CONTRIBUTING.md) files as per the Jaeger documentation.

<!-- ## Troubleshooting
- If you encounter issues with the configuration, verify that the `config-query.yml` file is correctly mounted in the container.
- Ensure that the required ports (`16686` and `16685`) are not in use by other services. -->

# Troubleshooting Jaeger Query v2

Jaeger Query v2 is not starting?
- Check that `config-query.yml` is correctly mounted in the container.
- Ensure required ports (`16686`, `16685`) are available.

No traces appearing in the UI?
- Verify the **storage backend configuration** in `config-query.yml`.
- Confirm that your application is sending traces to Jaeger.

CI/CD workflow failing?
- Run the following command to inspect logs for errors:
```bash
docker logs jaeger-query-v2
Loading