-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[tracking] Jaeger v2 based on OpenTelemetry collector #4843
Comments
## Which problem is this PR solving? - Part of #4843 - Prototype defining primary and archive storage used by query service ## Description of the changes - Introduce `trace_storage_archive` argument to extension/jaegerquery - This is temporary, need to design a better shape for the config - Implement initialization of archive storage. Tested manually. - Changed memstore to implement archive storage (maybe not a good idea in retrospect) - Change how no-config condition is detected as the previous changes worked for all-in-one but broke with-config mode - Need to start adding some basic integration tests - There is a better way than using default configs for all in one - override `--config` flag with `yaml: ....` string an provide configuration as a file (embed the file into the binary) - Some refactoring of querysvc/app to be able to reuse querysvc.QueryOptions in v2 config ## How was this change tested? - Run all-in-one - Run with config - Run with custom UI config to enable Archive button (it should really be dynamically determined by backend capability) Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of #4843 - Improvement on #4842, where all-in-one configuration was created via createDefaultConfig methods of extensions called by OTel automatically. This resulted in the memstore always being present in the config and always instantiated, which is not the desired behavior. ## Description of the changes - The cmd.RunE interceptor is changed to provide an internal value to the `--config` flag if no flag was present on cmd line - This avoids creating the collector manually, once we set the flag we always delegate back to official OTel code - The value for the config is embedded in the binary and passed using `yaml:...`, which is one of the official config providers in OTel ## How was this change tested? - Ran all-in-one manually Signed-off-by: Yuri Shkuro <[email protected]>
The V2 is as well affected by open-telemetry/opentelemetry-collector#8768, It can cause startup failure. |
## Which problem is this PR solving? - Enable testing of jaeger-v2 in all-in-one mode in CI - Part of #4843 ## Description of the changes - Add `cmd/jaeger-v2/Dockerfile` - Parameterize `scripts/build-all-in-one-image.sh` to allow running `jaeger-v2` instead of `all-in-one` - Call this script with `jaeger-v2` from .github/workflows/ci-all-in-one-build.yml ## How was this change tested? ```shell $ BINARY=jaeger-v2 BRANCH=v2-docker GITHUB_SHA=abcd scripts/build-all-in-one-image.sh pr-only ``` --------- Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of #4843 ## Description of the changes - Per discussion with maintainers, rename `jaeger-v2` binary to just `jaeger`. - Motivation: - In the long run it's not going to be convenient for users to refer to `jaeger-v2`, projects typically don't do that - The name `jaeger` is currently unused (e.g. in Docker Hub) - Since we're combining all deployment units into one binary, `jaeger` name is quite appropriate ## How was this change tested? ``` $ go run -tags=ui ./cmd/jaeger ``` `grep -ri jaeger-v2 .` does not find any references (except in the changelog) --------- Signed-off-by: Yuri Shkuro <[email protected]>
## Which problem is this PR solving? - Part of #4843 ## Description of the changes - Remove early exit and allow `jaeger` binary to be published to Docker Hub / quay.io - The repositories in the respective hubs were created manually ## How was this change tested? - Publishing only works on the main branch, will see how it goes once erged Signed-off-by: Yuri Shkuro <[email protected]>
The new |
I wrote down some thoughts on what Jaeger Storage API v2 might look like. Interested in feedback. |
So one thing that I think might be worth thinking about as well is search complexity. One issue I know we had was making search efficient on large span storage. |
## Which problem is this PR solving? - part of #4843 ## Description of the changes - add support for elasticsearch in jaeger-v2 ## How was this change tested? - tested locally ## 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`: `yarn lint` and `yarn test` --------- Signed-off-by: Harshvir Potpose <[email protected]> Signed-off-by: Harshvir Potpose <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]>
When I try to use the OLTPLogExporter with Jeager and GRPC, details collased```python get_logger_provider().add_log_record_processor( BatchLogRecordProcessor( exporter=OTLPLogExporter( endpoint="http://jaeger:4317", insecure=True, ), ) ) ```I recieve the following error:
An indication that https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/collector/logs/v1/logs_service.proto is not implemented by Jaeger. Is this correct? Or did I configured Jaeger incorrectly, ref. to following Docker Compose snippet (ports 4317 and 4318 are used only internally using the network ---
# This is a Docker Compose override file to add jeager tracing
version: "3.9"
services:
jaeger:
image: jaegertracing/all-in-one:${JAEGER_VERSION:-latest}
ports:
- "16686:16686"
environment:
- LOG_LEVEL=debug
- COLLECTOR_OTLP_ENABLED=true
networks:
- ipam
network-managemnent:
depends_on:
- jaeger |
@tmeckel Jaeger is not a logging backend, it only accepts traces. |
## Which problem is this PR solving? - Part of #4843 - Separate GRPC storage PR from and will be used by jaeger-v2 Kafka PR #4971 ## Description of the changes - Implement GRPC storage backend for Jaeger-V2 storage ## How was this change tested? - Run two `jaegertracing/jaeger-remote-storage` at `17271` and `17281` ports - Execute `go run -tags=ui ./cmd/jaeger --config ./cmd/jaeger/grpc_config.yaml` ## 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`: `yarn lint` and `yarn test` --------- Signed-off-by: James Ryans <[email protected]>
## Which problem is this PR solving? - Part of #4843 - Separate Jaeger storage receiver PR from and will be used by jaeger-v2 Kafka PR #4971 ## Description of the changes - Implement Jaeger storage receiver to be used by Jaeger-v2 Kafka integration test. ## How was this change tested? - Added some 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`: `yarn lint` and `yarn test` --------- Signed-off-by: James Ryans <[email protected]>
## Which problem is this PR solving? - part of #4843 ## Description of the changes - add support for cassandra ## How was this change tested? - currently, tests are failing. ## 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`: `yarn lint` and `yarn test` --------- Signed-off-by: Pushkar Mishra <[email protected]>
## Which problem is this PR solving? - part of #4843 ## Description of the changes - Added OpenSearch support in jaeger-V2. - Reused the existing Elasticsearch factory for OpenSearch. ## How was this change tested? - tested locally by running jaeger-v2 with newly added opensearch config-file. - Run the opensearch container: ```bash docker run --rm --name opensearch -p 9200:9200 -e "discovery.type=single-node" opensearchproject/opensearch:1.3.0 ``` - Execute below to run jaeger-V2 ```bash go run -tags=ui ./cmd/jaeger/. --config ./cmd/jaeger/config-opensearch.yaml ``` ## Checklist - [x] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [x] I have signed all commits - [] 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`: `yarn lint` and `yarn test` --------- Signed-off-by: Harshvir Potpose <[email protected]> Signed-off-by: Harshvir Potpose <[email protected]>
Proposal: https://docs.google.com/document/d/1s4_6VgAS7qAVp6iEm5KYvpiGw3h2Ja5T5HpKo29iv00/view
This replaces the previous attempt: #3500.
Work tracked in the project https://github.com/orgs/jaegertracing/projects/3
Roadmap
Proof of concept
Feature parity
jaeger_storage_exporter
to support all existing backends -- project in Jaeger's LFX Mentorship - 2024 Term 01, March - May #5084Prepare for Beta
Prepare for GA
Enhancements
ocb
The text was updated successfully, but these errors were encountered: