Skip to content

Delay executable info unloading to reduce churn#1144

Merged
fabled merged 1 commit intoopen-telemetry:mainfrom
bobrik:ivan/delay-unload
Feb 11, 2026
Merged

Delay executable info unloading to reduce churn#1144
fabled merged 1 commit intoopen-telemetry:mainfrom
bobrik:ivan/delay-unload

Conversation

@bobrik
Copy link
Copy Markdown
Contributor

@bobrik bobrik commented Feb 1, 2026

We see a lot of the time spent loading and unloading the same executables:

image

Here instead of unloading immediately when the reference counter reaches zero, we delay it to allow possible reuse. This works great as most non-constantly-running things tend to run periodically (as opposed to once and then never again).

This is by no means final, but I'm opening it to kick off a conversation on whether this is the right approach.

See also: #532.

@bobrik bobrik requested review from a team as code owners February 1, 2026 05:02
Comment thread processmanager/execinfomanager/manager.go Outdated
Comment thread processmanager/manager.go Outdated
Comment thread processmanager/manager.go Outdated
Comment thread processmanager/execinfomanager/manager.go
Comment thread processmanager/execinfomanager/manager.go
@bobrik bobrik force-pushed the ivan/delay-unload branch 3 times, most recently from 4e77ff1 to 8edc7de Compare February 4, 2026 03:24
@bobrik
Copy link
Copy Markdown
Contributor Author

bobrik commented Feb 4, 2026

I pushed an update with a 5 minute delay and a separate map. It is pretty effective in my production testing:

image

@bobrik bobrik force-pushed the ivan/delay-unload branch from 8edc7de to 638110e Compare February 5, 2026 19:16
@bobrik bobrik force-pushed the ivan/delay-unload branch from 638110e to 94eea5b Compare February 5, 2026 19:20
@christos68k
Copy link
Copy Markdown
Member

I pushed an update with a 5 minute delay and a separate map. It is pretty effective in my production testing:

Thanks! How does memory use with a 5 minute delay look like?

@bobrik
Copy link
Copy Markdown
Contributor Author

bobrik commented Feb 6, 2026

I can't see any visible difference. The long running stuff is big binaries, while the periodically running things are much smaller utilities, so it's hard for them to make a visible dent.

@fabled fabled merged commit 59079c3 into open-telemetry:main Feb 11, 2026
31 checks passed
@bobrik bobrik deleted the ivan/delay-unload branch February 11, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants