community icon indicating copy to clipboard operation
community copied to clipboard

Zig SIG: current level of interest?

Open inge4pres opened this issue 10 months ago • 11 comments

Hey there folks 👋🏼 This card is up to gauge interest in maintaining a Zig implementation.

Zig is a language that is fully inter-operable with C, so producing an API and an SDK in Zig enables Zig and C programmers to onboard OpenTelemetry signals in their applications.

At first, the purpose of this groups would be:

  • create the API with regards to the OpenTelemetry specification
  • provide and maintain an SDK, the official implementation of signals collection and processing
  • provide a Semantic Convention library

Optionally further on, the building blocks listed above and created along the way could be used to complement auto-instrumentation and other parts of OpenTelemetry written in languages speaking the C ABI (BPF-based agents, CGO for Go, Rust FFI, CPython, etc...), because of how Zig compiles to C and BPF natively.

Downside: Zig is not 1.0 yet, so there may be some additional maintenance effort in keeping up to date the code with the language releases.

Currently, there is work-in-progress in unofficial implementations for metrics and traces.

If anyone is interested in progressing this work, please introduce yourself and let's chat :)

inge4pres avatar Jan 14 '25 16:01 inge4pres

I would be interested and happy to help.

kakkoyun avatar Jan 16 '25 10:01 kakkoyun

I tried to develop a toy implementation of the OpenTelemetry by Zig that is cited above, and I was invited to this forces by @inge4pres (thanks a lot!). So I'd be happy to help in any way I can, even if it's just a little.

Drumato avatar Jan 17 '25 13:01 Drumato

work in progress is happening in this repo

https://github.com/zig-o11y/opentelemetry-sdk

inge4pres avatar Jan 23 '25 14:01 inge4pres

@inge4pres @kakkoyun @Drumato thanks for raising this issue and your interest in creating a Zig SIG. If you are serious about this endavour, please take a look into the following document that outlines how you can get started with a new project:

https://github.com/open-telemetry/community/blob/main/project-management.md

svrnm avatar Jan 27 '25 14:01 svrnm

Hi @inge4pres ,

Seems am little late to the party, just wanted to express my interest for this project and would be happy to help on the associated topics. Would be great if I can be taken up.

Bit about me: Am a Software Engineer in the automotive domain. Have recently started contributing to open-source but love learning new technologies. Primarily, I have worked with C and Python.

Do let me know if I too can provide any support to your repo.

Thank You!

devatbosch avatar Jan 31 '25 08:01 devatbosch

@devatbosch I invited you as a collaborator in the repo! Feel free to drop issues and poke into the open PRs 👍🏼

inge4pres avatar Feb 04 '25 18:02 inge4pres

If you are serious about this endavour, please take a look into the following document that outlines how you can get started with a new project:

https://github.com/open-telemetry/community/blob/main/project-management.md

hello @svrnm I read the link you shared, thanks for that! After reading it I'm not 100% sure what forming a SIG entails, can it be compared to proposing a project? What would be the outcome: that the project is either approved or dismissed, after community discussion?

inge4pres avatar Feb 04 '25 18:02 inge4pres

The formation/bootstrapping of the SIG would be the project itlsef, with some short term deliverables and proposed timelines (e.g. to deliver API/SDK compliance to a certain version). It helps to have a checkpoint after the project is delivered, and decide on the health of the SIG to continue or not. See an example here.

danielgblanco avatar Feb 05 '25 14:02 danielgblanco

The formation/bootstrapping of the SIG would be the project itlsef, with some short term deliverables and proposed timelines (e.g. to deliver API/SDK compliance to a certain version). It helps to have a checkpoint after the project is delivered, and decide on the health of the SIG to continue or not. See an example here.

I think it doesn't hurt to form a SIG and make things official! ➕ ➕ ➕

kakkoyun avatar Feb 12 '25 13:02 kakkoyun

I think it doesn't hurt to form a SIG and make things official! ➕ ➕ ➕

+1, I have the following doubt wrt to the Project Management template. In the Project Proposal section, one of the minimum requirements is "Two TC/GC members, or community members delegated by the them, to sponsor the project."

How can we get there? IIUC this means getting 2 people that are already members (and from different companies) to sponsor the project, correct?

inge4pres avatar Feb 16 '25 11:02 inge4pres

Thanks. That's correct. In particular, it'll be important for a TC member to sponsor the creation of a new language SIG, to ensure success of the initial deliverables. After that, the SIG can operate as any other language SIG. The project proposal is a way to communicate the problem to solve and set those initial deliverables, and it's also a more formal commitment by those listed in the PR to work on it after approved.

Having said this, and as we discussed in our last GC/TC meeting on Wed 12th Feb, we (GC/TC) need to be mindful of not committing to more work than we have bandwidth for, so I cannot promise this project would be picked up straight away (see list of active projects). After the PR is open, we can discuss who in the TC and GC would have bandwidth and expertise enough to be able to assist, or if they can delegate to somebody else in the community.

danielgblanco avatar Feb 17 '25 10:02 danielgblanco