opentelemetry-cpp icon indicating copy to clipboard operation
opentelemetry-cpp copied to clipboard

Enable ppc64le, s390x architectures on opentelemetry-cpp

Open krishvoor opened this issue 3 years ago • 9 comments
trafficstars

Hi,

Thanks for the wonderful readme/documentation, I could build opentelemetry-cpp from the source almost instantly, run the tests outlined successfully on architecture in the subject.

In case, if you are wondering what ppc64le, s390x architectures are? ppc64le is a RISC Architecture and is IBM's prodigy, IBM has made its ISA (Instruction Set Architecture) open-source, doing so they have contributed back to the opensource world. Many of the pioneers of banking, HPC industries today run on ppc64le architecture.

s390x (IBM Z) is a CISC architecture used in IBM and some other vendors' mainframe systems. Mainframe computers were established in the 1960s and continue to evolve retaining full backward compatibility. Nowadays they are used for tasks such as censuses, industry and consumer statistics, enterprise resource planning, and large-scale transaction processing.

We are trying to enable this project and we have seen no/minimal deviation in build/test instructions.

I understand GH Actions is used as CI/CD, for a ppc64le/s390x we would like to propose TravisCI.

krishvoor avatar Feb 18 '22 12:02 krishvoor

Thanks for trying out @krishvoor. @esigo is working on multi-platform builds using QEMU emulator in #1165. Once this is done, we should be able to support ppc64le/s390x using GH Actions. But TravisCI looks good too, as it has support for multiple platforms without using external actions. Something we can think of if there are any issues with supporting using GH Actions.

lalitb avatar Feb 18 '22 19:02 lalitb

Hi, @lalitb Thanks for your response. GH Actions + QEMU will work on multi-arch, from my observations, I have seen poor performances and test timeouts during the lifecycle of the PR Merge Process. We can definitely consider TravisCI if we see similar issues with GH Actions + QEMU :)

krishvoor avatar Feb 19 '22 09:02 krishvoor

Hi @krishvoor thanks for reaching out to us. I was wondering if there is a native multi-arch support on TravisCI or they just use emulation?

esigo avatar Mar 01 '22 15:03 esigo

Hi @esigo,

Do they just use emulation?

The short answer is No, per TravisCI, they support two virtualization environments:

  1. LXD ( Faster spin-up times )
  2. Full VM ( Full virtual machine, without limitations )

To understand further what infrastructure they natively run on, you can read it here

If you have any further questions, please let me know, will be happy to clarify/work with you on the next steps.

krishvoor avatar Mar 01 '22 16:03 krishvoor

Just to add here from a non-technical perspective, CNCF has established an agreement and generous plan with Azure Pipeline and Github Actions, and most of the projects under CNCF (including projects under OpenTelemetry) have migrated to Github. It would be good if we can achieve multi-architecture support on Github ( maybe this requires caching binaries for external dependencies like jaeger, grpc, thrift, etc ) to speed up the build.

Just a thought, nothing to take away from the TravisCI functionality as it looks to have better support for multiple platforms.

lalitb avatar Mar 01 '22 18:03 lalitb

Hi @lalitb 👋 I see issue 1165 is closed, is this effort tracked elsewhere?

krishvoor avatar May 04 '22 17:05 krishvoor

#1165 was wrongly closed by the bot (which is meant to close only state issues), have reopened it now.

lalitb avatar May 04 '22 17:05 lalitb

@ThomsonTan FYI

lalitb avatar Jun 06 '22 20:06 lalitb

This issue was marked as stale due to lack of activity.

github-actions[bot] avatar Aug 06 '22 02:08 github-actions[bot]