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

Add build for arm64 arch #657

Merged
merged 8 commits into from
Jan 31, 2023
Merged

Conversation

cedricziel
Copy link
Contributor

@cedricziel cedricziel commented Dec 23, 2022

Changes

This change introduces another architecture for the images created: arm64

Merge Requirements

For new features contributions please make sure you have completed the following
essential items:

  • CHANGELOG.md updated to document new feature additions

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.

@cedricziel cedricziel marked this pull request as ready for review December 23, 2022 11:03
@cedricziel cedricziel requested a review from a team December 23, 2022 11:03
@puckpuck
Copy link
Contributor

@austinlparker is this still needed? I thought we do multi-arch builds already.

@austinlparker
Copy link
Member

We do not do multi arch builds because it takes like 4+ hours.

@cedricziel
Copy link
Contributor Author

I have added it in particular because the featureflagservice keeps segfaulting on my M1 device with and without emulation.

I think it makes a lot of sense to have this available for multiple architectures. If the build time is a problem, it's probably a question of optimization

@TylerHelmuth
Copy link
Member

I also thought we fixed this but I just tried installing the helm chart locally again and featureflag service is crashing again (open-telemetry/opentelemetry-helm-charts#580).

Is there a way that we can do the existing build and publish process and separately build a specific arm64 image either after the existing build finishes or in parallel?

@cedricziel
Copy link
Contributor Author

Is there a way that we can do the existing build and publish process and separately build a specific arm64 image either after the existing build finishes or in parallel?

We sure could. Not sure if this benefits us. Currently all images are built in parallel and in each build sequentially builds and pushed amd64 and arm64. I would argue there is a fair amount of parallelism already in place.

Current duration for the Build & Push job is [19m 47s] - so overall pretty far away from the projected "4hrs" :)

@austinlparker
Copy link
Member

No, it takes about 4 hours: https://github.com/open-telemetry/opentelemetry-demo/actions/runs/3313405848

It might be better now with some of the optimizations we've made to build time but Rust and C++ images take forever to build under emulation.

I would suggest modifying the GHA runner file here to allow builds for PR's (you need to modify the release.yaml file to allow the build_and_push_images action to run on PR and add logic to disable pushing images on non-release builds) in order to see how long it takes.

@github-actions
Copy link

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Jan 24, 2023
@cartersocha cartersocha added v1.4 and removed Stale labels Jan 30, 2023
@austinlparker
Copy link
Member

I went ahead and tested this out on our runner config -- everything builds OK. Shipping service takes an hour which isn't great, but we can work on getting that down.

@cartersocha cartersocha merged commit ea64998 into open-telemetry:main Jan 31, 2023
mat-rumian added a commit to SumoLogic/opentelemetry-demo that referenced this pull request Feb 20, 2023
* Fixes open-telemetry#696, Downgrades OTP (open-telemetry#698)

* Use different base images for frauddetectionservice (open-telemetry#691)

* Use different docker base images for frauddetection service

Signed-off-by: svrnm <[email protected]>

* Add entry in CHANGELOG

Signed-off-by: svrnm <[email protected]>

* update changelog

Signed-off-by: svrnm <[email protected]>

* Remove extra blank line

Signed-off-by: svrnm <[email protected]>
Co-authored-by: Juliano Costa <[email protected]>
Co-authored-by: Carter Socha <[email protected]>

* fix(paymentservice): respect temporality env var (open-telemetry#693)

* fix(paymentservice): update dependencies so that temporality env var is respected

* fix(changelog): add changelog entry

* Add healthcheck to featureflagservice (open-telemetry#661)

* Add healthcheck to featureflagservice

In order to assess the health of this central service, compose should perform a check on the service.

* Add changelog entry

Co-authored-by: Juliano Costa <[email protected]>
Co-authored-by: Carter Socha <[email protected]>

* bot is broken (open-telemetry#699)

Co-authored-by: Juliano Costa <[email protected]>

* Fix link to the docs (open-telemetry#701)

* reduce quoteservice spans (open-telemetry#702)

* fixing container name nit - quote service (open-telemetry#706)

* [recommendationservice] - base image, licensing and diagram update (open-telemetry#700)

* update service metric requirement table (open-telemetry#707)

* update service metric requirement table

* add feature table

* Update emailservice Dockerfile to use alpine and multistage build (open-telemetry#703)

* Update emailservice Dockerfile

Signed-off-by: svrnm <[email protected]>

* Use alpine

Signed-off-by: svrnm <[email protected]>

* Add changelog

Signed-off-by: svrnm <[email protected]>

* newline

Signed-off-by: svrnm <[email protected]>

* Update CHANGELOG.md

* Update .dockerignore

Signed-off-by: svrnm <[email protected]>
Co-authored-by: Juliano Costa <[email protected]>

* Update dockerfile for adservice to use different base images (open-telemetry#705)

* Enable exemplar export/display support (open-telemetry#704)

* Enable exemplar export/display support

Ensure the collector's prometheus endpoint produces exemplars
Ensure that prometheus collects and stores exemplar data
Ensure that grafana will display links to exemplars from dashboards/the explore tab

* Enable exemplars for latency histogram in demo dashboard

* update contributing guide (open-telemetry#711)

* update contributing guide

* fix lint

Co-authored-by: Carter Socha <[email protected]>

* Add random errors in AdService (open-telemetry#694)

* feature(frontend): adding instrumentation metrics (open-telemetry#632)

* feature(frontend): adding instrumentation metrics

* feature(frontend): adding instrumentation metrics

* updating package-lock.json

* Update docker-compose.yml

Co-authored-by: Marc Pichler <[email protected]>

---------

Co-authored-by: Marc Pichler <[email protected]>

* Update CONTRIBUTING.md (open-telemetry#720)

* fix metrics import (open-telemetry#721)

Signed-off-by: Pierre Tessier <[email protected]>

* Update .env (open-telemetry#722)

* Updated demo link for Sumo Logic (open-telemetry#718)

* Add build for arm64 arch (open-telemetry#657)

* Add build for arm64 arch

* Add change to changelog

* enable build on PR

* remove build on pr

---------

Co-authored-by: Juliano Costa <[email protected]>
Co-authored-by: Carter Socha <[email protected]>
Co-authored-by: Austin Parker <[email protected]>

* [chore] - fix image version (open-telemetry#726)

Remove the `v` prefix from the image version. We now publish images without this prefix.

* Adds caveats to current exemplar support in the demo architecture (open-telemetry#725)

Also, updates collector version: exemplars for the latency histogram produced by the span  metrics processor are now getting exported for all services and endpoints, not just the first one in the metric family.

Co-authored-by: Pierre Tessier <[email protected]>

* Add Sentry (sentry.io) demo to README (open-telemetry#724)

* Add Sentry (sentry.io) demo to README

* use alpha order

---------

Co-authored-by: Pierre Tessier <[email protected]>

* Drop docs folder and adjust links (open-telemetry#730)

* Drop docs folder and adjust links

* Update PULL_REQUEST_TEMPLATE.md

* Add entry to CHANGELOG.md

* README: drop unused logo reference

* add reflection for grpcurl (open-telemetry#735)

* Add cross-compilation for shipping service (open-telemetry#715)

* Add cross-compilation for shipping service

Signed-off-by: svrnm <[email protected]>

* Update CHANGELOG.md

* Update Dockerfile

---------

Signed-off-by: svrnm <[email protected]>

* Ensure all http.server.duration metrics have the same description (open-telemetry#738)

* Add OTel logo to README (open-telemetry#744)

* rename proto package from hipstershop to oteldemo (open-telemetry#740)

* prometheus: honor_labels to have the right job and instance (open-telemetry#743)

Co-authored-by: Carter Socha <[email protected]>
Co-authored-by: Juliano Costa <[email protected]>

* Nit fix contributing guide (open-telemetry#747)

---------

Signed-off-by: svrnm <[email protected]>
Signed-off-by: Pierre Tessier <[email protected]>
Co-authored-by: Josh Lee <[email protected]>
Co-authored-by: Severin Neumann <[email protected]>
Co-authored-by: Juliano Costa <[email protected]>
Co-authored-by: Carter Socha <[email protected]>
Co-authored-by: Marc Pichler <[email protected]>
Co-authored-by: Cedric Ziel <[email protected]>
Co-authored-by: Brett McBride <[email protected]>
Co-authored-by: James Lawrie <[email protected]>
Co-authored-by: Austin Parker <[email protected]>
Co-authored-by: jack-berg <[email protected]>
Co-authored-by: Oscar Reyes <[email protected]>
Co-authored-by: Marc Pichler <[email protected]>
Co-authored-by: Pierre Tessier <[email protected]>
Co-authored-by: Pawel Brzoska <[email protected]>
Co-authored-by: Abhijeet Prasad <[email protected]>
Co-authored-by: Patrice Chalin <[email protected]>
Co-authored-by: Jared Tan <[email protected]>
Co-authored-by: Alex Boten <[email protected]>
Co-authored-by: Goutham Veeramachaneni <[email protected]>
Co-authored-by: Cijo Thomas <[email protected]>
jmichalak9 pushed a commit to jmichalak9/opentelemetry-demo that referenced this pull request Mar 22, 2024
* Add build for arm64 arch

* Add change to changelog

* enable build on PR

* remove build on pr

---------

Co-authored-by: Juliano Costa <[email protected]>
Co-authored-by: Carter Socha <[email protected]>
Co-authored-by: Austin Parker <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants