Skip to content

Commit 5919e20

Browse files
Merge branch 'main' into renovate/opentelemetry-js-monorepo
2 parents b41afbf + d244bde commit 5919e20

26 files changed

+658
-239
lines changed

CHANGELOG.md

+14
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,20 @@ release.
2525
([#1150](https://github.com/open-telemetry/opentelemetry-demo/pull/1150))
2626
* [otelcol] add httpcheck receiver for synthetic check of frontendproxy
2727
([#1162](https://github.com/open-telemetry/opentelemetry-demo/pull/1162))
28+
* pinning trace-based test tool version and adding files as volumes
29+
([#1182](https://github.com/open-telemetry/opentelemetry-demo/pull/1182))
30+
* [jaeger] fix Jager SPM / Monitor support
31+
([#1174](https://github.com/open-telemetry/opentelemetry-demo/pull/1174))
32+
* [otelcol] merge configuration files for base and observability configs
33+
([#1173](https://github.com/open-telemetry/opentelemetry-demo/pull/1173))
34+
* [frontendproxy] Fix service graph by enabling client spans in envoy proxy
35+
([#1180](https://github.com/open-telemetry/opentelemetry-demo/pull/1180))
36+
* [java-services] Update java, gradle and OTel agent versions
37+
([#1183](https://github.com/open-telemetry/opentelemetry-demo/pull/1183))
38+
* [opensearch] Add OpenSearch as an OTLP Logging backend
39+
([#1151](https://github.com/open-telemetry/opentelemetry-demo/pull/1151))
40+
* [opensearch] Add Grafana dashboard panels for OpenSearch log data
41+
([#1193](https://github.com/open-telemetry/opentelemetry-demo/pull/1193))
2842

2943
## 1.5.0
3044

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Monday at 8:30 AM PST and anyone is welcome.
8484
[Approvers](https://github.com/open-telemetry/community/blob/main/community-membership.md#approver)
8585
([@open-telemetry/demo-approvers](https://github.com/orgs/open-telemetry/teams/demo-approvers)):
8686

87+
- [Cedric Ziel](https://github.com/cedricziel) Grafana Labs
8788
- [Mikko Viitanen](https://github.com/mviitane), Dynatrace
8889
- [Penghan Wang](https://github.com/wph95), AppDynamics
8990
- [Reiley Yang](https://github.com/reyang), Microsoft

docker-compose.minimal.yml

+200-17
Original file line numberDiff line numberDiff line change
@@ -463,36 +463,36 @@ services:
463463
# ********************
464464
# Jaeger
465465
jaeger:
466-
image: jaegertracing/all-in-one:1.48.0
466+
image: jaegertracing/all-in-one:1.50
467467
container_name: jaeger
468468
command:
469-
- "--memory.max-traces"
470-
- "10000"
471-
- "--query.base-path"
472-
- "/jaeger/ui"
473-
- "--prometheus.server-url"
474-
- "http://${PROMETHEUS_ADDR}"
469+
- "--memory.max-traces=8000"
470+
- "--query.base-path=/jaeger/ui"
471+
- "--prometheus.server-url=http://${PROMETHEUS_ADDR}"
472+
- "--prometheus.query.normalize-calls=true"
473+
- "--prometheus.query.normalize-duration=true"
475474
deploy:
476475
resources:
477476
limits:
478477
memory: 300M
479478
restart: unless-stopped
480479
ports:
481-
- "${JAEGER_SERVICE_PORT}" # Jaeger UI
480+
- "${JAEGER_SERVICE_PORT}" # Jaeger UI
482481
- "4317" # OTLP gRPC default port
483482
environment:
484-
- COLLECTOR_OTLP_ENABLED=true
485483
- METRICS_STORAGE_TYPE=prometheus
486484
logging: *logging
487485

488486
# Grafana
489487
grafana:
490-
image: grafana/grafana:10.1.0
488+
image: grafana/grafana:10.1.2
491489
container_name: grafana
492490
deploy:
493491
resources:
494492
limits:
495493
memory: 100M
494+
environment:
495+
- "GF_INSTALL_PLUGINS=grafana-opensearch-datasource"
496496
volumes:
497497
- ./src/grafana/grafana.ini:/etc/grafana/grafana.ini
498498
- ./src/grafana/provisioning/:/etc/grafana/provisioning/
@@ -502,30 +502,29 @@ services:
502502

503503
# OpenTelemetry Collector
504504
otelcol:
505-
image: otel/opentelemetry-collector-contrib:0.84.0
505+
image: otel/opentelemetry-collector-contrib:0.86.0
506506
container_name: otel-col
507507
deploy:
508508
resources:
509509
limits:
510510
memory: 125M
511511
restart: unless-stopped
512-
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-observability.yml", "--config=/etc/otelcol-config-extras.yml" ]
512+
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
513513
volumes:
514514
- ./src/otelcollector/otelcol-config.yml:/etc/otelcol-config.yml
515-
- ./src/otelcollector/otelcol-observability.yml:/etc/otelcol-observability.yml
516515
- ./src/otelcollector/otelcol-config-extras.yml:/etc/otelcol-config-extras.yml
517516
ports:
518517
- "4317" # OTLP over gRPC receiver
519-
- "4318:4318" # OTLP over HTTP receiver
520-
- "9464" # Prometheus exporter
521-
- "8888" # metrics endpoint
518+
- "4318" # OTLP over HTTP receiver
522519
depends_on:
523520
- jaeger
524521
logging: *logging
522+
environment:
523+
- ENVOY_PORT
525524

526525
# Prometheus
527526
prometheus:
528-
image: quay.io/prometheus/prometheus:v2.46.0
527+
image: quay.io/prometheus/prometheus:v2.47.0
529528
container_name: prometheus
530529
command:
531530
- --web.console.templates=/etc/prometheus/consoles
@@ -536,6 +535,7 @@ services:
536535
- --web.enable-lifecycle
537536
- --web.route-prefix=/
538537
- --enable-feature=exemplar-storage
538+
- --enable-feature=otlp-write-receiver
539539
volumes:
540540
- ./src/prometheus/prometheus-config.yaml:/etc/prometheus/prometheus-config.yaml
541541
deploy:
@@ -545,3 +545,186 @@ services:
545545
ports:
546546
- "${PROMETHEUS_SERVICE_PORT}:${PROMETHEUS_SERVICE_PORT}"
547547
logging: *logging
548+
549+
opensearch:
550+
image: opensearchproject/opensearch:latest
551+
container_name: opensearch
552+
environment:
553+
- cluster.name=demo-cluster
554+
- node.name=demo-node
555+
- bootstrap.memory_lock=true
556+
- discovery.type=single-node
557+
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
558+
- "DISABLE_INSTALL_DEMO_CONFIG=true"
559+
- "DISABLE_SECURITY_PLUGIN=true"
560+
ulimits:
561+
memlock:
562+
soft: -1
563+
hard: -1
564+
nofile:
565+
soft: 65536
566+
hard: 65536
567+
ports:
568+
- "9200:9200"
569+
logging: *logging
570+
571+
dataprepper:
572+
image: opensearchproject/data-prepper:latest
573+
volumes:
574+
- ./src/opensearch/pipelines.yaml:/usr/share/data-prepper/pipelines/pipelines.yaml
575+
- ./src/opensearch/data-prepper-config.yaml:/usr/share/data-prepper/config/data-prepper-config.yaml
576+
ports:
577+
- "21892"
578+
logging: *logging
579+
580+
# *****
581+
# Tests
582+
# *****
583+
# Frontend Tests
584+
frontendTests:
585+
image: ${IMAGE_NAME}:${IMAGE_VERSION}-frontend-tests
586+
container_name: frontend-tests
587+
build:
588+
context: ./
589+
dockerfile: ./src/frontend/Dockerfile.cypress
590+
profiles:
591+
- tests
592+
volumes:
593+
- ./src/frontend/cypress/videos:/app/cypress/videos
594+
- ./src/frontend/cypress/screenshots:/app/cypress/screenshots
595+
environment:
596+
- CYPRESS_baseUrl=http://${FRONTEND_ADDR}
597+
- FRONTEND_ADDR
598+
- NODE_ENV=production
599+
depends_on:
600+
- frontend
601+
602+
# Integration Tests
603+
integrationTests:
604+
image: ${IMAGE_NAME}:${IMAGE_VERSION}-integrationTests
605+
container_name: integrationTests
606+
profiles:
607+
- tests
608+
build:
609+
context: ./
610+
dockerfile: ./test/Dockerfile
611+
environment:
612+
- AD_SERVICE_ADDR
613+
- CART_SERVICE_ADDR
614+
- CHECKOUT_SERVICE_ADDR
615+
- CURRENCY_SERVICE_ADDR
616+
- EMAIL_SERVICE_ADDR
617+
- PAYMENT_SERVICE_ADDR
618+
- PRODUCT_CATALOG_SERVICE_ADDR
619+
- RECOMMENDATION_SERVICE_ADDR
620+
- SHIPPING_SERVICE_ADDR
621+
depends_on:
622+
- adservice
623+
- cartservice
624+
- checkoutservice
625+
- currencyservice
626+
- emailservice
627+
- paymentservice
628+
- productcatalogservice
629+
- recommendationservice
630+
- shippingservice
631+
- quoteservice
632+
633+
# Tracebased Tests
634+
traceBasedTests:
635+
image: ${IMAGE_NAME}:${IMAGE_VERSION}-traceBasedTests
636+
container_name: traceBasedTests
637+
profiles:
638+
- tests
639+
build:
640+
context: ./
641+
dockerfile: ./test/tracetesting/Dockerfile
642+
environment:
643+
- AD_SERVICE_ADDR
644+
- CART_SERVICE_ADDR
645+
- CHECKOUT_SERVICE_ADDR
646+
- CURRENCY_SERVICE_ADDR
647+
- EMAIL_SERVICE_ADDR
648+
- FRONTEND_ADDR
649+
- PAYMENT_SERVICE_ADDR
650+
- PRODUCT_CATALOG_SERVICE_ADDR
651+
- RECOMMENDATION_SERVICE_ADDR
652+
- SHIPPING_SERVICE_ADDR
653+
- KAFKA_SERVICE_ADDR
654+
extra_hosts:
655+
- "host.docker.internal:host-gateway"
656+
depends_on:
657+
tracetest-server:
658+
condition: service_healthy
659+
# adding demo services as dependencies
660+
frontend:
661+
condition: service_started
662+
adservice:
663+
condition: service_started
664+
cartservice:
665+
condition: service_started
666+
checkoutservice:
667+
condition: service_started
668+
currencyservice:
669+
condition: service_started
670+
emailservice:
671+
condition: service_started
672+
paymentservice:
673+
condition: service_started
674+
productcatalogservice:
675+
condition: service_started
676+
recommendationservice:
677+
condition: service_started
678+
shippingservice:
679+
condition: service_started
680+
quoteservice:
681+
condition: service_started
682+
accountingservice:
683+
condition: service_started
684+
frauddetectionservice:
685+
condition: service_started
686+
687+
tracetest-server:
688+
image: kubeshop/tracetest:v0.13.10
689+
platform: linux/amd64
690+
container_name: tracetest-server
691+
profiles:
692+
- tests
693+
volumes:
694+
- type: bind
695+
source: ./test/tracetesting/tracetest-config.yaml
696+
target: /app/tracetest.yaml
697+
- type: bind
698+
source: ./test/tracetesting/tracetest-provision.yaml
699+
target: /app/provision.yaml
700+
command: --provisioning-file /app/provision.yaml
701+
ports:
702+
- 11633:11633
703+
extra_hosts:
704+
- "host.docker.internal:host-gateway"
705+
depends_on:
706+
tracetest-postgres:
707+
condition: service_healthy
708+
otelcol:
709+
condition: service_started
710+
healthcheck:
711+
test: [ "CMD", "wget", "--spider", "localhost:11633" ]
712+
interval: 1s
713+
timeout: 3s
714+
retries: 60
715+
716+
tracetest-postgres:
717+
image: postgres:16.0
718+
container_name: tracetest-postgres
719+
profiles:
720+
- tests
721+
environment:
722+
POSTGRES_PASSWORD: postgres
723+
POSTGRES_USER: postgres
724+
healthcheck:
725+
test: pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"
726+
interval: 1s
727+
timeout: 5s
728+
retries: 60
729+
ports:
730+
- 5432

docker-compose.yml

+11-14
Original file line numberDiff line numberDiff line change
@@ -607,16 +607,14 @@ services:
607607
# ********************
608608
# Jaeger
609609
jaeger:
610-
image: jaegertracing/all-in-one:1.49
610+
image: jaegertracing/all-in-one:1.50
611611
container_name: jaeger
612612
command:
613-
- "--memory.max-traces"
614-
- "8000"
615-
- "--query.base-path"
616-
- "/jaeger/ui"
617-
- "--prometheus.server-url"
618-
- "http://${PROMETHEUS_ADDR}"
619-
- "--prometheus.query.support-spanmetrics-connector=true"
613+
- "--memory.max-traces=8000"
614+
- "--query.base-path=/jaeger/ui"
615+
- "--prometheus.server-url=http://${PROMETHEUS_ADDR}"
616+
- "--prometheus.query.normalize-calls=true"
617+
- "--prometheus.query.normalize-duration=true"
620618
deploy:
621619
resources:
622620
limits:
@@ -626,7 +624,6 @@ services:
626624
- "${JAEGER_SERVICE_PORT}" # Jaeger UI
627625
- "4317" # OTLP gRPC default port
628626
environment:
629-
- COLLECTOR_OTLP_ENABLED=true
630627
- METRICS_STORAGE_TYPE=prometheus
631628
logging: *logging
632629

@@ -656,16 +653,13 @@ services:
656653
limits:
657654
memory: 125M
658655
restart: unless-stopped
659-
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-observability.yml", "--config=/etc/otelcol-config-extras.yml" ]
656+
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
660657
volumes:
661658
- ./src/otelcollector/otelcol-config.yml:/etc/otelcol-config.yml
662-
- ./src/otelcollector/otelcol-observability.yml:/etc/otelcol-observability.yml
663659
- ./src/otelcollector/otelcol-config-extras.yml:/etc/otelcol-config-extras.yml
664660
ports:
665661
- "4317" # OTLP over gRPC receiver
666-
- "4318:4318" # OTLP over HTTP receiver
667-
- "9464" # Prometheus exporter
668-
- "8888" # metrics endpoint
662+
- "4318" # OTLP over HTTP receiver
669663
depends_on:
670664
- jaeger
671665
logging: *logging
@@ -803,6 +797,9 @@ services:
803797
- KAFKA_SERVICE_ADDR
804798
extra_hosts:
805799
- "host.docker.internal:host-gateway"
800+
volumes:
801+
- ./test/tracetesting:/app/test/tracetesting
802+
- ./pb:/app/pb
806803
depends_on:
807804
tracetest-server:
808805
condition: service_healthy

src/adservice/.java-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
17.0
1+
21.0

src/adservice/Dockerfile

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44

5-
FROM eclipse-temurin:17-jdk AS builder
5+
FROM eclipse-temurin:21-jdk as builder
66

77
WORKDIR /usr/src/app/
88

@@ -18,14 +18,13 @@ RUN ./gradlew installDist -PprotoSourceDir=./proto
1818

1919
# -----------------------------------------------------------------------------
2020

21-
FROM eclipse-temurin:17-jre
21+
FROM eclipse-temurin:21-jre
2222

23-
ARG version=1.30.0
23+
ARG version=1.31.0
2424
WORKDIR /usr/src/app/
2525

2626
COPY --from=builder /usr/src/app/ ./
2727
ADD https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v$version/opentelemetry-javaagent.jar /usr/src/app/opentelemetry-javaagent.jar
28-
RUN chmod 644 /usr/src/app/opentelemetry-javaagent.jar
2928
ENV JAVA_TOOL_OPTIONS=-javaagent:/usr/src/app/opentelemetry-javaagent.jar
3029

3130
EXPOSE ${AD_SERVICE_PORT}

0 commit comments

Comments
 (0)