Skip to content

Commit 18c2f0f

Browse files
[Dynamic Instrumentation] Change the way we are using the gzip stream in SymDB (#6562)
## Summary of changes When we upload symbols, we want to use the underline stream after we are disposing the gzip stream --------- Co-authored-by: Andrew Lock <andrew.lock@datadoghq.com>
1 parent c11596f commit 18c2f0f

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

tracer/src/Datadog.Trace/Debugger/Upload/SymbolUploadApi.cs

+12-11
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,25 @@ public override async Task<bool> SendBatchAsync(ArraySegment<byte> symbols)
8484

8585
MultipartFormItem symbolsItem;
8686

87-
if (_enableCompression)
87+
if (!this._enableCompression)
88+
{
89+
symbolsItem = new MultipartFormItem("file", MimeTypes.Json, "file.json", symbols);
90+
}
91+
else
8892
{
8993
using var memoryStream = new MemoryStream();
9094
#if NETFRAMEWORK
91-
using var gzipStream = new Vendors.ICSharpCode.SharpZipLib.GZip.GZipOutputStream(memoryStream);
92-
await gzipStream.WriteAsync(symbols.Array, 0, symbols.Array.Length).ConfigureAwait(false);
93-
await gzipStream.FlushAsync().ConfigureAwait(false);
95+
using (var gzipStream = new Vendors.ICSharpCode.SharpZipLib.GZip.GZipOutputStream(memoryStream))
9496
#else
95-
using var gzipStream = new GZipStream(memoryStream, CompressionMode.Compress);
96-
await gzipStream.WriteAsync(symbols.Array, 0, symbols.Array.Length).ConfigureAwait(false);
97-
await gzipStream.FlushAsync().ConfigureAwait(false);
97+
using (var gzipStream = new GZipStream(memoryStream, CompressionMode.Compress))
9898
#endif
99+
{
100+
await gzipStream.WriteAsync(symbols.Array, 0, symbols.Array.Length).ConfigureAwait(false);
101+
await gzipStream.FlushAsync().ConfigureAwait(false);
102+
}
103+
99104
symbolsItem = new MultipartFormItem("file", MimeTypes.Gzip, "file.gz", new ArraySegment<byte>(memoryStream.ToArray()));
100105
}
101-
else
102-
{
103-
symbolsItem = new MultipartFormItem("file", MimeTypes.Json, "file.json", symbols);
104-
}
105106

106107
var items = new[] { symbolsItem, new MultipartFormItem("event", MimeTypes.Json, "event.json", _eventMetadata) };
107108

0 commit comments

Comments
 (0)