-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Memory performance counters #4172
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
Conversation
d8e75fa
to
0370f32
Compare
0370f32
to
671433d
Compare
Closing this in favor of smaller dedicated PR's |
There is any chance of these fixes get into v6.x? It's happening on release 6.8.1, too :( |
Is this fixed? I'm seeing this issue in Elasticsearch 7.6.1 |
If you update to |
Actually on You can call I will add another PR to switch the default (and look at backporting this to 6.x @andreminelli) |
Thanks @Mpdreamz for the fast response. |
This PR updates us to the latest RecycableMemoryStreamManager from:
https://github.com/microsoft/Microsoft.IO.RecyclableMemoryStream
This now implements
GetBuffer()
so we can investigate removing ourToArray()
calls.We have a pending PR for this for a while now here: #3797
I've extended it so that it emits metrics using the counters
System.Diagnostics.Tracing.*Counter
To aid with visualizing and testing this I imported @russcam StackOverflow indexer to our codebase (as
Tests.LongRunning
).I've added
--profile
switch that emits the process id on run and waits for confirmation to run on stdin. At the end of the run it will ask to run again if--profile
is specified.This allows you to run
dotnet counters
and other profiles/visualizers/tracers:Start a cluster:
Indexing the askubuntu stack exchange questions and answers:
Will emit:
From another console starting:
And after a 2nd run:
Thats
40mb
after indexing a1GB
xml file twice.Pools are reused but there is currently no upper limit to this pool this means that the pool will be as large as the users heaviest load and most likely stays around there.
Small pool max size
to anything that works for everyone?Related tickets:
#4165
microsoft/Microsoft.IO.RecyclableMemoryStream#75
#3797
microsoft/Microsoft.IO.RecyclableMemoryStream#23