Skip to content
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

Upstream update latest #5

Merged
merged 33 commits into from
Feb 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b337367
Fixes #696, Downgrades OTP (#698)
joshleecreates Jan 18, 2023
17c9ade
Use different base images for frauddetectionservice (#691)
svrnm Jan 18, 2023
1564dda
fix(paymentservice): respect temporality env var (#693)
pichlermarc Jan 19, 2023
122b104
Add healthcheck to featureflagservice (#661)
cedricziel Jan 19, 2023
267ca32
bot is broken (#699)
cartersocha Jan 19, 2023
ed91f45
Fix link to the docs (#701)
julianocosta89 Jan 20, 2023
a77c842
reduce quoteservice spans (#702)
brettmc Jan 20, 2023
b04d234
fixing container name nit - quote service (#706)
cartersocha Jan 21, 2023
dade436
[recommendationservice] - base image, licensing and diagram update (#…
julianocosta89 Jan 22, 2023
842a11a
update service metric requirement table (#707)
cartersocha Jan 23, 2023
c1591d3
Update emailservice Dockerfile to use alpine and multistage build (#703)
svrnm Jan 24, 2023
10ca683
Update dockerfile for adservice to use different base images (#705)
svrnm Jan 24, 2023
75ebc1b
Enable exemplar export/display support (#704)
jlawrienyt Jan 24, 2023
dc5cf89
update contributing guide (#711)
austinlparker Jan 24, 2023
5a08e61
Add random errors in AdService (#694)
jack-berg Jan 26, 2023
f5c59ea
feature(frontend): adding instrumentation metrics (#632)
xoscar Jan 31, 2023
82f6816
Update CONTRIBUTING.md (#720)
austinlparker Jan 31, 2023
d23431f
fix metrics import (#721)
puckpuck Jan 31, 2023
8e3f175
Update .env (#722)
austinlparker Jan 31, 2023
c378f52
Updated demo link for Sumo Logic (#718)
pbrzoska-sumo Jan 31, 2023
ea64998
Add build for arm64 arch (#657)
cedricziel Jan 31, 2023
e5fcc20
[chore] - fix image version (#726)
puckpuck Feb 1, 2023
1a65164
Adds caveats to current exemplar support in the demo architecture (#725)
jlawrienyt Feb 1, 2023
4b8bb45
Add Sentry (sentry.io) demo to README (#724)
AbhiPrasad Feb 1, 2023
06aa374
Drop docs folder and adjust links (#730)
chalin Feb 6, 2023
6af2bdc
add reflection for grpcurl (#735)
JaredTan95 Feb 8, 2023
55912a2
Add cross-compilation for shipping service (#715)
svrnm Feb 9, 2023
db4cfd3
Ensure all http.server.duration metrics have the same description (#738)
jlawrienyt Feb 9, 2023
1095ef9
Add OTel logo to README (#744)
chalin Feb 11, 2023
8a28923
rename proto package from hipstershop to oteldemo (#740)
codeboten Feb 11, 2023
a0cd6c9
prometheus: honor_labels to have the right job and instance (#743)
gouthamve Feb 13, 2023
83d0cf2
Nit fix contributing guide (#747)
cijothomas Feb 18, 2023
db615b2
Merge remote-tracking branch 'upstream/main'
mat-rumian Feb 20, 2023
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
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
.github
docs
internal
src/*/README.md
src/*/Dockerfile
src/*/*/Dockerfile

###################################
# currencyservice
Expand Down
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Images
IMAGE_VERSION=v1.2.1
IMAGE_VERSION=1.3.0
IMAGE_NAME=ghcr.io/open-telemetry/demo

# Demo Platform
Expand Down
4 changes: 3 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ For new features contributions please make sure you have completed the following
essential items:

* [ ] `CHANGELOG.md` updated to document new feature additions
* [ ] Appropriate documentation updates in the [docs](../docs/) folder
* [ ] Appropriate documentation updates in the [docs][]

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
[@open-telemetry/demo-approvers](https://github.com/orgs/open-telemetry/teams/demo-approvers).

[docs]: https://opentelemetry.io/docs/demo/
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,11 @@ jobs:
max-parallelism = 2

- name: Matrix Build and push demo images
uses: docker/build-push-action@v3.2.0
uses: docker/build-push-action@v3.3.0
with:
context: ${{ matrix.file_tag.context }}
file: ${{ matrix.file_tag.file }}
platforms: linux/amd64
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: |
${{ env.DOCKERHUB_REPO }}:${{ env.RELEASE_VERSION || 'pr' }}-${{matrix.file_tag.tag_suffix }}
Expand Down
59 changes: 59 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ release.

## Unreleased

* [docs] Drop docs folder as step in migration to OTel website
([#729](https://github.com/open-telemetry/opentelemetry-demo/issues/729))
* rename proto package from hipstershop to oteldemo
([#740](https://github.com/open-telemetry/opentelemetry-demo/pull/740))

## v0.1.0

* The initial code base is donated from a
[fork](https://github.com/julianocosta89/opentelemetry-microservices-demo) of
the [Google microservices
Expand All @@ -19,6 +26,9 @@ significant modifications will be credited to OpenTelemetry Authors.
([#82](https://github.com/open-telemetry/opentelemetry-demo/pull/82))
* Rewrote shipping service in Rust
([#35](https://github.com/open-telemetry/opentelemetry-demo/issues/35))

## v0.2.0

* Added feature flag service implementation
([#141](https://github.com/open-telemetry/opentelemetry-demo/pull/141))
* Added additional attributes to productcatalog service
Expand All @@ -35,6 +45,9 @@ significant modifications will be credited to OpenTelemetry Authors.
([#164](https://github.com/open-telemetry/opentelemetry-demo/pull/164))
* Added Grafana service and enhanced metric experience
([#175](https://github.com/open-telemetry/opentelemetry-demo/pull/175))

## v0.3.0

* Enhanced cart service attributes
([#183](https://github.com/open-telemetry/opentelemetry-demo/pull/183))
* Re-implemented currency service using C++
Expand Down Expand Up @@ -87,12 +100,18 @@ significant modifications will be credited to OpenTelemetry Authors.
([#332](https://github.com/open-telemetry/opentelemetry-demo/pull/332))
* Add `synthetic_request=true` baggage to load generator requests
([#331](https://github.com/open-telemetry/opentelemetry-demo/pull/331))

## v0.4.0

* Add span events to shipping service
([#344](https://github.com/open-telemetry/opentelemetry-demo/pull/344))
* Add PHP quote service
([#345](https://github.com/open-telemetry/opentelemetry-demo/pull/345))
* Improve initial run time, without a build
([#362](https://github.com/open-telemetry/opentelemetry-demo/pull/362))

## v0.5.0

* Add custom span and custom span attributes for Feature Flag Service
([#371](https://github.com/open-telemetry/opentelemetry-demo/pull/371))
* Change Cart Service to be async
Expand All @@ -111,19 +130,28 @@ significant modifications will be credited to OpenTelemetry Authors.
([#409](https://github.com/open-telemetry/opentelemetry-demo/pull/409))
* Added hero scenario metric to Checkout Service on cache leak
([#339](https://github.com/open-telemetry/opentelemetry-demo/pull/339))

## v0.6.0-beta

* Added basic metrics support for recommendation service (Python)
([#416](https://github.com/open-telemetry/opentelemetry-demo/pull/416))
* Added metrics auto-instrumentation + minor metrics refactor for recommendation
service (Python)
[#432](https://github.com/open-telemetry/opentelemetry-demo/pull/432)
* Replaced the Jaeger exporter to the OTLP exporter in the OTel Collector
([#435](https://github.com/open-telemetry/opentelemetry-demo/pull/435))

## v0.6.1-beta

* Set resource memory limits for all services
([#460](https://github.com/open-telemetry/opentelemetry-demo/pull/460))
* Added cache scenario to recommendation service
([#455](https://github.com/open-telemetry/opentelemetry-demo/pull/455))
* Update cartservice Dockerfile to support ARM64
([#439](https://github.com/open-telemetry/opentelemetry-demo/pull/439))

## v0.7.0-beta

* Update shippingservice to add resource data to spans
([#504](https://github.com/open-telemetry/opentelemetry-demo/pull/504))
* Add Envoy as reverse proxy for all user-facing services
Expand All @@ -132,6 +160,9 @@ significant modifications will be credited to OpenTelemetry Authors.
([#513](https://github.com/open-telemetry/opentelemetry-demo/pull/513))
* Added frontend instrumentation exporter custom url
([#512](https://github.com/open-telemetry/opentelemetry-demo/pull/512))

## v1.1.0

* Replaced PHP-CLI to PHP-Apache for a more realistic service
([#563](https://github.com/open-telemetry/opentelemetry-demo/pull/563))
* Optimize currencyservice build time with parallel build jobs
Expand All @@ -140,6 +171,9 @@ significant modifications will be credited to OpenTelemetry Authors.
([#536](https://github.com/open-telemetry/opentelemetry-demo/pull/536))
* Add basic metrics support for payment service
([#583](https://github.com/open-telemetry/opentelemetry-demo/pull/583))

## 1.2.0

* Change ZipCode data type from int to string
([#587](https://github.com/open-telemetry/opentelemetry-demo/pull/587))
* Pass product's `categories` as an input for the Ad service
Expand All @@ -154,10 +188,15 @@ significant modifications will be credited to OpenTelemetry Authors.
([#613](https://github.com/open-telemetry/opentelemetry-demo/pull/613))
* Build Kafka image
([#617](https://github.com/open-telemetry/opentelemetry-demo/pull/617))

## 1.3.0

* Use `frontend-web` as service name for browser/web requests
([#628](https://github.com/open-telemetry/opentelemetry-demo/pull/628))
* Update `quoteservice` to use opentelemetry-php beta release
([#644](https://github.com/open-telemetry/opentelemetry-demo/pull/644))
* Add build for arm64 arch
([#644](https://github.com/open-telemetry/opentelemetry-demo/pull/657))
* Add synthetic attribute flag to front end instrumentation
([#631](https://github.com/open-telemetry/opentelemetry-demo/pull/631))
* Fix the total sum on the cart page
Expand All @@ -170,6 +209,8 @@ significant modifications will be credited to OpenTelemetry Authors.
([#648](https://github.com/open-telemetry/opentelemetry-demo/pull/648))
* Add Jaeger-SPM-Config
([#655](https://github.com/open-telemetry/opentelemetry-demo/pull/655))
* Add healthcheck to featureflagservice
([#661](https://github.com/open-telemetry/opentelemetry-demo/pull/661)
* Add resource detectors to checkout service
([#662](https://github.com/open-telemetry/opentelemetry-demo/pull/662))
* Add resource detectors to cart service
Expand All @@ -192,3 +233,21 @@ significant modifications will be credited to OpenTelemetry Authors.
([#688](https://github.com/open-telemetry/opentelemetry-demo/pull/688))
* Update docker-compose services to restart unless stopped
([#690](https://github.com/open-telemetry/opentelemetry-demo/pull/690))
* Use different docker base images for frauddetection service
([#691](https://github.com/open-telemetry/opentelemetry-demo/pull/691))
* Fix payment service version to support temporality environment variable
([#693](https://github.com/open-telemetry/opentelemetry-demo/pull/693))
* Update recommendationservice python base image and dependencies
([#700](https://github.com/open-telemetry/opentelemetry-demo/pull/700))
* Add adServiceFailure feature flag triggering Ad Service errors
([#694](https://github.com/open-telemetry/opentelemetry-demo/pull/694))
* Reduce spans generated from quote service
([#702](https://github.com/open-telemetry/opentelemetry-demo/pull/702))
* Update emailservice Dockerfile to use alpine and multistage build
([#703](https://github.com/open-telemetry/opentelemetry-demo/pull/703))
* Update dockerfile for adservice to use different base images
([#705](https://github.com/open-telemetry/opentelemetry-demo/pull/705))
* Enable exemplar support in the metrics exporter, Prometheus, and Grafana
([#704](https://github.com/open-telemetry/opentelemetry-demo/pull/704))
* Add cross-compilation for shipping service
([#715](https://github.com/open-telemetry/opentelemetry-demo/issues/715))
23 changes: 19 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Once the images are built and containers are started you can access:
The Demo team is committed to keeping the demo up to date. That means the
documentation as well as the code. When making changes to any service or feature
remember to find the related docs and update those as well. Most (but not all)
documentation can be found the [docs](./docs/) folder.
documentation can be found on the OTel website under [Demo docs][docs].

## Create Your First Pull Request

Expand All @@ -116,6 +116,7 @@ To create a new PR, fork the project in GitHub and clone the upstream repo:
> **Note**
> Please fork to a personal GitHub account rather than a corporate/enterprise
> one so maintainers can push commits to your branch.
> **Pull requests from protected forks will not be accepted.**

```sh
git clone https://github.com/open-telemetry/opentelemetry-demo.git
Expand All @@ -130,7 +131,7 @@ cd opentelemetry-demo
Add your fork as an origin:

```sh
git remote add fork https://github.com/open-telemetry/opentelemetry-demo.git
git remote add fork https://github.com/YOUR_GITHUB_USERNAME/opentelemetry-demo.git
```

Check out a new branch, make modifications and push the branch to your fork:
Expand All @@ -142,7 +143,7 @@ $ git checkout -b feature
$ docker compose up -d --build
# Go to Webstore, Jaeger or docker container logs etc. as appropriate to make sure your changes are working correctly.
$ git add my/changed/files
$ git commit -m "short discription of the change"
$ git commit -m "short description of the change"
$ git push fork feature
```

Expand Down Expand Up @@ -172,7 +173,7 @@ A PR is considered to be **ready to merge** when:
- Major feedbacks are resolved.
- It has been open for review for at least one working day. This gives people
reasonable time to review.
- The [documentation](./docs/) and [Changelog](./CHANGELOG.md) have been updated
- The [documentation][docs] and [Changelog](./CHANGELOG.md) have been updated
to reflect the new changes.
- Trivial changes (typo, cosmetic, doc, etc.) don't have to wait for one day.

Expand All @@ -195,3 +196,17 @@ on each other), the owner should try to get people aligned by:
- If none of the above worked and the PR has been stuck for more than 2 weeks,
the owner should bring it to the OpenTelemetry Community Demo SIG
[meeting](README.md#contributing).

## Making a new release

Maintainers can create a new release when desired by following a few steps.

- Create a new Pull Request that updates the `IMAGE_VERSION` environment
variable in `.env` to the _new_ version number.
- [Draft a new
release](https://github.com/open-telemetry/opentelemetry-demo/releases/new),
creating a new tag in the format `x.x.x` based on main. Automatically generate
release notes. Prepend a summary of the major changes to the release notes.
- Click 'Publish Release'.

[docs]: https://opentelemetry.io/docs/demo/
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# ![otel-photo](./docs/img/opentelemetry-logo-nav.png) OpenTelemetry Demo - Sumo Logic Fork
<!-- markdownlint-disable-next-line -->
# <img src="https://opentelemetry.io/img/logos/opentelemetry-logo-nav.png" alt="OTel logo" width="45"> OpenTelemetry Demo - Sumo Logic Fork

[![Slack](https://img.shields.io/badge/slack-@cncf/otel/demo-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C03B4CWV4DA)
[![Version](https://img.shields.io/github/v/release/open-telemetry/opentelemetry-demo?color=blueviolet)](https://github.com/open-telemetry/opentelemetry-demo/releases)
Expand Down Expand Up @@ -39,36 +40,37 @@ OpenTelemetry across its languages in the future.
If you'd like to help (**which we would love**), check out our [contributing
guidance](./CONTRIBUTING.md).

If you'd like to extend this demo or maintain a fork of it, please read our
[fork guidance](./docs/forking.md).
If you'd like to extend this demo or maintain a fork of it, read our
[fork guidance](https://opentelemetry.io/docs/demo/forking/).

## Quick start

You can be up and running with the demo in a few minutes. Check out the docs for
your preferred deployment method:

- [Docker](./docs/docker_deployment.md)
- [Kubernetes](./docs/kubernetes_deployment.md)
- [Docker](https://opentelemetry.io/docs/demo/docker_deployment/)
- [Kubernetes](https://opentelemetry.io/docs/demo/kubernetes_deployment/)

## Documentation

We have detailed documentation available in the [docs](./docs/) folder. If you're
curious about a specific feature the docs [README](./docs/README.md) can point
you in the right direction.
For detailed documentation, see [Demo Documentation][docs]. If you're curious
about a specific feature, the [docs landing page][docs] can point you in the
right direction.

## Demos featuring the Astronomy Shop

We welcome any vendor to fork the project to demonstrate their services and
adding a link below. The community is committed to maintaining the project and
keeping it up to date for you.

| | | |
|-------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| [AlibabaCloud LogService](https://github.com/aliyun-sls/opentelemetry-demo) | [Dynatrace](https://www.dynatrace.com/news/blog/opentelemetry-demo-application-with-dynatrace/) | [New Relic](https://github.com/newrelic/opentelemetry-demo) |
| [AppDynamics](https://www.appdynamics.com/blog/cloud/how-to-observe-opentelemetry-demo-app-in-appdynamics-cloud/) | [Grafana Labs](https://github.com/grafana/opentelemetry-demo) | [Splunk](https://github.com/signalfx/opentelemetry-demo) |
| [Aspecto](https://github.com/aspecto-io/opentelemetry-demo) | [Helios](https://otelsandbox.gethelios.dev) | [Sumo Logic](https://github.com/SumoLogic/opentelemetry-demo) |
| [Coralogix](https://coralogix.com/blog/configure-otel-demo-send-telemetry-data-coralogix) | [Honeycomb.io](https://github.com/honeycombio/opentelemetry-demo) | [TelemetryHub](https://github.com/TelemetryHub/opentelemetry-demo/tree/telemetryhub-backend) |
| [Datadog](https://github.com/DataDog/opentelemetry-demo) | [Lightstep](https://github.com/lightstep/opentelemetry-demo) | [Uptrace](https://github.com/uptrace/uptrace/tree/master/example/opentelemetry-demo) |
| | | |
| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| [AlibabaCloud LogService](https://github.com/aliyun-sls/opentelemetry-demo) | [Grafana Labs](https://github.com/grafana/opentelemetry-demo) | [Splunk](https://github.com/signalfx/opentelemetry-demo) |
| [AppDynamics](https://www.appdynamics.com/blog/cloud/how-to-observe-opentelemetry-demo-app-in-appdynamics-cloud/) | [Helios](https://otelsandbox.gethelios.dev) | [Sumo Logic](https://www.sumologic.com/blog/common-opentelemetry-demo-application/) |
| [Aspecto](https://github.com/aspecto-io/opentelemetry-demo) | [Honeycomb.io](https://github.com/honeycombio/opentelemetry-demo) | [TelemetryHub](https://github.com/TelemetryHub/opentelemetry-demo/tree/telemetryhub-backend) |
| [Coralogix](https://coralogix.com/blog/configure-otel-demo-send-telemetry-data-coralogix) | [Lightstep](https://github.com/lightstep/opentelemetry-demo) | [Uptrace](https://github.com/uptrace/uptrace/tree/master/example/opentelemetry-demo) |
| [Datadog](https://github.com/DataDog/opentelemetry-demo) | [New Relic](https://github.com/newrelic/opentelemetry-demo) | |
| [Dynatrace](https://www.dynatrace.com/news/blog/opentelemetry-demo-application-with-dynatrace/) | [Sentry](https://github.com/getsentry/opentelemetry-demo) | |

## Contributing

Expand Down Expand Up @@ -102,3 +104,5 @@ Emeritus:
### Thanks to all the people who have contributed

[![contributors](https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-demo)](https://github.com/open-telemetry/opentelemetry-demo/graphs/contributors)

[docs]: https://opentelemetry.io/docs/demo/
10 changes: 8 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ services:
- "${AD_SERVICE_PORT}"
environment:
- AD_SERVICE_PORT
- FEATURE_FLAG_GRPC_SERVICE_ADDR
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
- OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
Expand Down Expand Up @@ -236,6 +237,8 @@ services:
- OTEL_SERVICE_NAME=featureflagservice
- DATABASE_URL=ecto://ffs:ffs@ffs_postgres:5432/ffs
- FEATURE_FLAG_SERVICE_PATH_ROOT="/feature"
healthcheck:
test: ["CMD", "curl", "-H", "baggage: synthetic_request=true", "-f", "http://localhost:${FEATURE_FLAG_SERVICE_PORT}"]
depends_on:
ffs_postgres:
condition: service_healthy
Expand Down Expand Up @@ -301,6 +304,8 @@ services:
- ENV_PLATFORM
- OTEL_SERVICE_NAME=frontend
- PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
- OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
- OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
- WEB_OTEL_SERVICE_NAME=frontend-web
depends_on:
- adservice
Expand Down Expand Up @@ -432,7 +437,7 @@ services:
# Quote service
quoteservice:
image: ${IMAGE_NAME}:${IMAGE_VERSION}-quoteservice
container_name: quoteservice
container_name: quote-service
build:
context: ./
dockerfile: ./src/quoteservice/Dockerfile
Expand Down Expand Up @@ -623,7 +628,7 @@ services:

# OpenTelemetry Collector
otelcol:
image: otel/opentelemetry-collector-contrib:0.61.0
image: otel/opentelemetry-collector-contrib:0.70.0
container_name: otel-col
deploy:
resources:
Expand Down Expand Up @@ -655,6 +660,7 @@ services:
- --storage.tsdb.path=/prometheus
- --web.enable-lifecycle
- --web.route-prefix=/
- --enable-feature=exemplar-storage
volumes:
- ./src/prometheus/prometheus-config.yaml:/etc/prometheus/prometheus-config.yaml
ports:
Expand Down
Loading