Skip to content

Commit 9b6898d

Browse files
committed
Add async to filestream
1 parent 9617857 commit 9b6898d

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/Ultra.Core/UltraProfilerEventPipe.cs

+12-16
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,12 @@ private UltraSamplerProfilerState(UltraProfilerOptions options, DiagnosticsClien
144144
_token = token;
145145
_ultraDiagnosticsClient = ultraDiagnosticsClient;
146146
_ultraNetTraceFilePath = Path.Combine(Environment.CurrentDirectory, $"{baseName}_sampler_{pid}.nettrace");
147-
_ultraNetTraceFileStream = new FileStream(_ultraNetTraceFilePath, FileMode.Create, FileAccess.Write, FileShare.Read);
147+
_ultraNetTraceFileStream = new FileStream(_ultraNetTraceFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, 65536, FileOptions.Asynchronous);
148148
if (mainDiagnosticsClient != null)
149149
{
150150
_mainDiagnosticsClient = mainDiagnosticsClient;
151151
_mainNetTraceFilePath = Path.Combine(Environment.CurrentDirectory, $"{baseName}_main_{pid}.nettrace");
152-
_mainNetTraceFileStream = new FileStream(_mainNetTraceFilePath, FileMode.Create, FileAccess.Write, FileShare.Read);
152+
_mainNetTraceFileStream = new FileStream(_mainNetTraceFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, 65536, FileOptions.Asynchronous);
153153
}
154154
}
155155

@@ -191,18 +191,13 @@ public static async Task<UltraSamplerProfilerState> Connect(string baseName, int
191191
var diagnosticClientMain = new DiagnosticsClient(pid);
192192
var diagnosticClientUltra = await DiagnosticsClientConnector.FromDiagnosticPort(ultraDiagnosticPortSocket, token);
193193

194-
if (diagnosticClientUltra is null)
195-
{
196-
197-
}
198-
199194
var timeoutSource = new CancellationTokenSource();
200195
var linkedCancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(token, timeoutSource.Token);
201196

202197
try
203198
{
204199
timeoutSource.CancelAfter(1000);
205-
await diagnosticClientUltra.Instance.WaitForConnectionAsync(linkedCancellationTokenSource.Token).ConfigureAwait(false);
200+
await diagnosticClientUltra!.Instance.WaitForConnectionAsync(linkedCancellationTokenSource.Token).ConfigureAwait(false);
206201
await diagnosticClientMain.WaitForConnectionAsync(linkedCancellationTokenSource.Token).ConfigureAwait(false);
207202
}
208203
catch (OperationCanceledException) when (timeoutSource.IsCancellationRequested)
@@ -259,23 +254,24 @@ public async Task StartProfiling()
259254

260255
public async Task Stop()
261256
{
262-
if (_ultraSession is not null)
257+
if (_ultraEventStreamCopyTask is not null)
263258
{
264-
await _ultraSession.StopAsync(_token).ConfigureAwait(false);
259+
await _ultraEventStreamCopyTask.ConfigureAwait(false);
265260
}
266-
if (_mainSession is not null)
261+
262+
if (_mainEventStreamCopyTask is not null)
267263
{
268-
await _mainSession.StopAsync(_token).ConfigureAwait(false);
264+
await _mainEventStreamCopyTask.ConfigureAwait(false);
269265
}
270266

271-
if (_ultraEventStreamCopyTask is not null)
267+
if (_ultraSession is not null)
272268
{
273-
await _ultraEventStreamCopyTask.ConfigureAwait(false);
269+
await _ultraSession.StopAsync(_token).ConfigureAwait(false);
274270
}
275271

276-
if (_mainEventStreamCopyTask is not null)
272+
if (_mainSession is not null)
277273
{
278-
await _mainEventStreamCopyTask.ConfigureAwait(false);
274+
await _mainSession.StopAsync(_token).ConfigureAwait(false);
279275
}
280276
}
281277

0 commit comments

Comments
 (0)