community
community copied to clipboard
REQUEST: Move the donated profiling agent `elastic/otel-profiling-agent` to `open-telemetry/opentelemetry-profiling-agent`
The OpenTelemetry GC has accepted the donation proposal of the Elastic profiling agent.
In order to get the agent code into the open-telemetry Github namespace, we can either
- Create a new repository and move the code into it.
- Rename the existing repository
elastic/otel-profling-agentintoopen-telemetry/opentelemetry-profiling-agent.
(The name opentelemetry-profiling-agent is just a suggestion and open to change.)
Option 2 is preferred, because it has the benefit of keeping existing issues, pull requests stars, watchers and forks. It had already significant exposure to the public (2k stars, 200+ forks).
Affected Repositories
https://github.com/elastic/otel-profiling-agent
https://github.com/open-telemetry/opentelemetry-profiling-agent
Requested changes
Move the elastic repository to open-telemetry.
Purpose
Further work on the profiling agent should be done under the umbrella of OpenTelemetry.
Expected Duration
ASAP
Repository Maintainers
tbd
@open-telemetry/technical-committee @open-telemetry/governance-committee
Can you help us with that, please? We'd like to kick-off the repo asap, so we can start the work on integrating the agent into OTel.
I personally like option 2. As far as I remember we have never done this in the past, so we will need to double check the implications. I will add this to tomorrow's TC meeting agenda and will post back here.
I personally like option 2. As far as I remember we have never done this in the past, so we will need to double check the implications. I will add this to tomorrow's TC meeting agenda and will post back here.
Although preferred, the challenge is that you need someone who has the permission to move a repository in both organisations, so either someone from Elastic gets (temporary) permissions in the otel org to move, or someone from OpenTelemetry gets (temporary) permissions in the elastic org to move.
I personally like option 2. As far as I remember we have never done this in the past, so we will need to double check the implications. I will add this to tomorrow's TC meeting agenda and will post back here.
Although preferred, the challenge is that you need someone who has the permission to move a repository in both organisations, so either someone from Elastic gets (temporary) permissions in the otel org to move, or someone from OpenTelemetry gets (temporary) permissions in the elastic org to move.
I think you refer to a move/rename from one org to another when staying the owner. In this case you need permissions on both orgs.
But here it may be different (from https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository):
When you transfer a repository that you own to another personal account, the new owner will receive a confirmation email. The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.
another personal account
This transfer is not to a personal account.
In this case, I think this rule from the doc you linked applies:
To transfer repositories to an organization, you must have repository creation permissions in the receiving organization. If organization owners have disabled repository creation by organization members, only organization owners can transfer repositories out of or into the organization.
One (rather intricate) way to do this could be to move the repository from the elastic organization into the personal account of an open-telemetry owner, who would then be able to move it to the open-telemetry organization.
I personally like option 2. As far as I remember we have never done this in the past, so we will need to double check the implications. I will add this to tomorrow's TC meeting agenda and will post back here.
Although preferred, the challenge is that you need someone who has the permission to move a repository in both organisations, so either someone from Elastic gets (temporary) permissions in the otel org to move, or someone from OpenTelemetry gets (temporary) permissions in the elastic org to move.
Since it's something that shouldn't take too long, we could do that "transaction" maybe even in a sync call between someone with corresponding rights from Otel and Elastic. So in that call we could:
- grant permission to the other org
- transfer the repo
- remove the permission again
Would that work?
Update from the TC:
- We will need the GC's help to figure the legal aspects of the transfer and how the CLA should be applied if the repo is moved and not created from scratch.
- We would like to seed the repo with 1 or 2 maintainers from Elastic and also add 1 or 2 maintainers from other companies. We will ask the current maintainers of Profiling SIG to see if they are interested.
We will need the GC's help to figure the legal aspects of the transfer and how the CLA should be applied if the repo is moved and not created from scratch.
I've opened a legal ticket with the CNCF service desk to ask if we need Elastic to sign an IP transfer (https://cncfservicedesk.atlassian.net/servicedesk/customer/portal/1/CNCFSD-2343)
I would propose @umanwizard and @gnurizen to participate in maintaining it. They are maintainers of the Parca Agent (a very similar project that we expect to merge with or make a consumer of the otel agent as a library, it doesn’t make sense to reinvent the same things).
As posted earlier we will be seeding the profiling agent maintainers from 2 sources: current Profiling SIG maintainers and current agent maintainers suggested by Elastic (1 or 2 maintainers).
@felixge @petethepig will be the Profiling SIG maintainers that will become profiling agent maintainers.
More maintainers can be added in the future via the process describe here.
Option 2 (rename repo) sounds good to me.
(The name opentelemetry-profiling-agent is just a suggestion and open to change.)
I think the name is okay, but maybe it's worth considering some other options as well. A few ideas in my personal order of preference:
- opentelemetry-host-profiler
- opentelemetry-ebpf-profiler
- opentelemetry-system-profiler
What I like about these names is that they make it more clear that there will also be other OTel SDK profilers. The term agent is also often used in Java for byte code instrumentation. I'm curious what other people think.
+1 to Felix’s name suggestions, I was meaning to to reply with the same feedback
From: Felix Geisendörfer @.>
Sent: Tuesday, June 18, 2024 5:21:06 AM
To: open-telemetry/community @.>
Cc: Morgan McLean @.>; Team mention @.>
Subject: Re: [open-telemetry/community] REQUEST: Move the donated profiling agent elastic/otel-profiling-agent to open-telemetry/opentelemetry-profiling-agent (Issue #2149)
Option 2 (rename repo) sounds good to me.
(The name opentelemetry-profiling-agent is just a suggestion and open to change.)
I think the name is okay, but maybe it's worth considering some other options as well. A few ideas in my personal order of preference:
- opentelemetry-host-profiler
- opentelemetry-ebpf-profiler
- opentelemetry-system-profiler
What I like about these names is that they make it clear that there will also be other OTel SDK profilers. The term agent is also often used in Java for byte code instrumentation. I'm curious what other people here think.
— Reply to this email directly, view it on GitHubhttps://github.com/open-telemetry/community/issues/2149#issuecomment-2175967640, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAIXLKZJDTRYUYSSJRVAE2DZIAQ3FAVCNFSM6AAAAABJGFHJWSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZVHE3DONRUGA. You are receiving this because you are on a team that was mentioned.Message ID: @.***>
+1 for not using the term agent, we had way to many discussions where to use it and where to not use it and since the much better term "profiler" exists, I also prefer that.
In the part between opentelemetry and profiler: is there any possibility that there is a host (or system?) profiler that is not ebpf based? Even if it is not created or maintained within the otel project. Being specific about the technology (so picking 'ebpf') might help to avoid future confusion.
In the part between opentelemetry and profiler: is there any possibility that there is a host (or system?) profiler that is not ebpf based?
Yes. There are many host profilers that don't use eBPF, e.g. perf, samply, bytehound or ddprof (see profilerpedia for more).
Even if it is not created or maintained within the otel project. Being specific about the technology (so picking 'ebpf') might help to avoid future confusion.
That would make sense to me. The elastic profiler seems to be pretty tied to eBPF right now, and even if it gains non-eBPF based capabilities in the future, I don't see the eBPF core going away anytime soon. But the elastic folks should obviously chime in on this.
As posted earlier we will be seeding the profiling agent maintainers from 2 sources: current Profiling SIG maintainers and current agent maintainers suggested by Elastic (1 or 2 maintainers).
As current agent maintainers from Elastic, we'd like @athre0z and @fabled to become profiling agent maintainers.
I think the name is okay, but maybe it's worth considering some other options as well. A few ideas in my personal order of preference:
1. opentelemetry-host-profiler 2. opentelemetry-ebpf-profiler 3. opentelemetry-system-profiler
Thanks for your suggestions, @felixge
The profiling agent team at Elastic prefers 2 or 3, without a particular tendency to either one of them.
@trask is there an update already on the legal ticket?
nothing yet, I just followed up
The profiling agent team at Elastic prefers 2 or 3, without a particular tendency to either one of them.
@rockdaboot I think I'd prefer opentelemetry-ebpf-profiler over opentelemetry-system-profiler for the reasons outlined above.
The profiling agent team at Elastic prefers 2 or 3, without a particular tendency to either one of them.
@rockdaboot I think I'd prefer
opentelemetry-ebpf-profileroveropentelemetry-system-profilerfor the reasons outlined above.
Then we are at 3:0 for opentelemetry-ebpf-profiler. Is there anyone else pro or con this name?
Is there an expected time for the migration of otel-profiling-agent to open-telemetry?
Is there an expected time for the migration of otel-profiling-agent to open-telemetry?
We are blocked by / waiting for the reply on the above-mentioned legal ticket.
sorry all, I've followed up multiple times with CNCF legal and no response yet 😞
it has been officially escalated now 🤞
Got a response back from CNCF legal, they're drafting a contribution agreement to document the movement of the repo and the project name. They say that's all we need. They'll ping me when that's ready.
CNCF Legal sent us a draft agreement. We just need to review the doc and make sure everything looks good. And get it signed.
@mtwo @AlexanderWert I'll share the agreement with you over Slack, let me know if I should include anyone else, thanks!
Thanks @trask! Replied on Slack, but @AlexanderWert I think that the next step is to get Elastic legal to sign this?
Update: The legal topics have been cleared, now the transfer is mostly a matter of coordination, which is in progress.
The repository has been moved. For future reference, this is the least privileged way we discovered to move it:
- Invite an admin (or other member with appropriate permissions) from the transferring side to the open-telemetry GH org.
- Temporarily change the organization permissions to allow for org members to create public repositories.
- Initiate the transfer, then once completed, reset the repo creation permissions and remove the transferrer from the org.