-
Notifications
You must be signed in to change notification settings - Fork 239
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
[Donation Proposal]: compile time instrumentation for golang #2344
Comments
@open-telemetry/go-maintainers @open-telemetry/go-instrumentation-maintainers Hello @ralf0131, and thank you! We are excited to have Alibaba as part of the OpenTelemetry community. ❤️ We agree that manual, compile time, and eBPF instrumentation are all useful for different reasons, and we believe that it is worthwhile to maintain all three approaches. We also believe that it is important for these three approaches to be coordinated and well documented, so that we can tell our users a clear and coherent story about how to instrument their applications. Since this donation covers the same area as existing work within OpenTelemetry (Instrgen) and that work is managed out of an existing SIG (go-instrumentation), we would like for this donation to be coordinated through that group. I know that you are already in discussion with @pdelewski about how to merge the projects, so this feels like the natural way to continue. Currently, Instrgen is maintained as part of go-contrib. Either the new work can get merged there, or a new repository could be created if the go maintainers feel that this project is large enough. Either way, we would like code review for this donation to be handled by the Go Instrumentation SIG, not by the TC, as it is very specialized work. |
@tedsuo Thanks for the update, I have watched the video recording of the GC meeting and would like to respond to some of your questions:
|
Description
This is the formal donation proposal based on the previous discussion: #1961
Alibaba Cloud would like to donate the compile time instrumentation for golang to OpenTelmetry community. The project is a compile time instrumentation solution designed for Go applications. It empowers users to harness the capabilities of OpenTelemetry for enhanced observability without any manual modifications.
The core features of this project are:
The side effect of this solution are:
Benefits to the OpenTelemetry community
Currently there are several approaches to collect observability data for Golang applications:
For the OpenTelemetry community, it is important to have different approaches available to users, and each of the have its own advantage and disadvantage, and let users to choose the approach that best fix to their scenarios.
We found that the compile time instrumentation have not been gained enough awareness by the users and should be equally treated as an alternative to users.
Due to the lack of activity and maintenance, the existing compile time instrumentation Instrgen does not provide a production ready solution for users. The donation of Alibaba Cloud's compile time instrumentation will help the OpenTelemetry project to fill the gap in compile time instrumentation for golang. The OpenTelemetry users will gain yet another a feature rich and production ready solution for Golang and first class support as well as manual and eBPF based instrumentation.
In addition, with this donation, the OpenTelemetry community would benefit from having a team of observability engineers who works across different client instrumentations to (co-)maintain the Golang instrumentation and advance OpenTelemetry's influence especially in the APAC area.
Reasons for donation
Alibaba Cloud is actively embracing OpenTelemetry and the ecosystem, and would like to help expand the influence of OTel community to APAC area. We have completely rebuild our existing instrumentation based on OpenTelemetry, published the OpenTelemetry distribution for Java Agent, and open sourced the Golang compile time instrumentation, supporting OpenTelemetry natively in cloud service and contributing them back to the community.
Repository
https://github.com/alibaba/opentelemetry-go-auto-instrumentation
Existing usage
The project has been open sourced since Jan 2024, and the first release has been published on September. The commercial version which is built base the same core has been published on June and has been used by customers, and some of the customers are running in the production system.
Maintenance
In case of a successful donation Alibaba Cloud observability team would like to (co-)maintain this project and maintainers of existing approach are welcome to achieve a vendor neutral governance of the project.
Licenses
The project is licensed under the Apache 2.0 license.
Trademarks
The project has been open sourced with the aim to donate to OpenTelemetry, therefore it does not have any trademark other than OpenTelemetry.
Other notes
Roadmap of the project during/after the donation:
The text was updated successfully, but these errors were encountered: