open-telemetry / community

OpenTelemetry community content
https://opentelemetry.io
Apache License 2.0
716 stars 216 forks source link

REQUEST: Move the donated profiling agent `elastic/otel-profiling-agent` to `open-telemetry/opentelemetry-profiling-agent` #2149

Open rockdaboot opened 2 weeks ago

rockdaboot commented 2 weeks ago

The OpenTelemetry GC has accepted the donation proposal of the Elastic profiling agent.

Blog post

In order to get the agent code into the open-telemetry Github namespace, we can either

  1. Create a new repository and move the code into it.
  2. Rename the existing repository elastic/otel-profling-agent into open-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

AlexanderWert commented 1 week ago

@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.

tigrannajaryan commented 1 week ago

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.

svrnm commented 1 week ago

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.

rockdaboot commented 1 week ago

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.
dmathieu commented 1 week ago

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.

dmathieu commented 1 week ago

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.

AlexanderWert commented 1 week ago

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:

Would that work?

tigrannajaryan commented 1 week ago

Update from the TC:

trask commented 1 week ago

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)

brancz commented 1 week ago

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).

tigrannajaryan commented 1 week ago

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.

felixge commented 1 week ago

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:

  1. opentelemetry-host-profiler
  2. opentelemetry-ebpf-profiler
  3. 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.

mtwo commented 1 week ago

+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:

  1. opentelemetry-host-profiler
  2. opentelemetry-ebpf-profiler
  3. 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: @.***>

svrnm commented 1 week ago

+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.

felixge commented 1 week ago

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.

rockdaboot commented 6 days ago

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.

rockdaboot commented 6 days ago

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.

AlexanderWert commented 5 days ago

@trask is there an update already on the legal ticket?

trask commented 5 days ago

nothing yet, I just followed up

felixge commented 23 hours ago

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.

rockdaboot commented 11 hours ago

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.

Then we are at 3:0 for opentelemetry-ebpf-profiler. Is there anyone else pro or con this name?