diff --git a/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveRenderedService.cs b/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveRenderedService.cs index 8d901eea87..297f5ba402 100644 --- a/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveRenderedService.cs +++ b/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveRenderedService.cs @@ -93,7 +93,7 @@ public async Task RetrieveRenderedImageAsync(RetrieveR "Retrieving rendered Instance for watermark {Watermark} of size {ContentLength}", instance.VersionedInstanceIdentifier.Version, fileProperties.ContentLength); _retrieveMeter.RetrieveInstanceCount.Add( 1, - RetrieveMeter.RetrieveInstanceCountTelemetryDimension(fileProperties.ContentLength, _retrieveConfiguration.MaxDicomFileSize, isRendered: true)); + RetrieveMeter.RetrieveInstanceCountTelemetryDimension(fileProperties.ContentLength, isRendered: true)); using Stream stream = await _blobDataStore.GetFileAsync(instance.VersionedInstanceIdentifier.Version, instance.VersionedInstanceIdentifier.Partition.Name, cancellationToken); sw.Start(); diff --git a/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveResourceService.cs b/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveResourceService.cs index fa4bcc06a4..e1202c8e9a 100644 --- a/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveResourceService.cs +++ b/src/Microsoft.Health.Dicom.Core/Features/Retrieve/RetrieveResourceService.cs @@ -150,7 +150,7 @@ public async Task GetInstanceResourceAsync(RetrieveRes } // no transcoding - IAsyncEnumerable responses = GetAsyncEnumerableStreams(retrieveInstances, isOriginalTransferSyntaxRequested, requestedTransferSyntax, message.IsOriginalVersionRequested, version, cancellationToken); + IAsyncEnumerable responses = GetAsyncEnumerableStreams(retrieveInstances, isOriginalTransferSyntaxRequested, requestedTransferSyntax, message.IsOriginalVersionRequested, version, instance.InstanceProperties.HasFrameMetadata, cancellationToken); return new RetrieveResourceResponse(responses, validAcceptHeader.MediaType.ToString(), validAcceptHeader.IsSinglePart); } catch (DataStoreException e) @@ -252,7 +252,7 @@ private void LogFileSize(long size, long version, bool needsTranscoding, bool ha version, size, needsTranscoding); _retrieveMeter.RetrieveInstanceCount.Add( 1, - RetrieveMeter.RetrieveInstanceCountTelemetryDimension(size, _retrieveConfiguration.MaxDicomFileSize, isTranscoding: needsTranscoding, hasFrameMetadata: hasFrameMetadata)); + RetrieveMeter.RetrieveInstanceCountTelemetryDimension(size, isTranscoding: needsTranscoding, hasFrameMetadata: hasFrameMetadata)); } private void SetTranscodingBillingProperties(long bytesTranscoded) @@ -297,6 +297,7 @@ private async IAsyncEnumerable GetAsyncEnumerableStrea string requestedTransferSyntax, bool isOriginalVersionRequested, long requestedVersion, + bool hasFrameMetadata, [EnumeratorCancellation] CancellationToken cancellationToken) { long streamTotalLength = 0; @@ -312,7 +313,7 @@ private async IAsyncEnumerable GetAsyncEnumerableStrea GetResponseTransferSyntax(isOriginalTransferSyntaxRequested, requestedTransferSyntax, instanceMetadata), fileProperties.ContentLength); } - LogFileSize(streamTotalLength, requestedVersion, needsTranscoding: false, hasFrameMetadata: true); + LogFileSize(streamTotalLength, requestedVersion, needsTranscoding: false, hasFrameMetadata: hasFrameMetadata); } private static async IAsyncEnumerable GetAsyncEnumerableFrameStreams( diff --git a/src/Microsoft.Health.Dicom.Core/Features/Telemetry/RetrieveMeter.cs b/src/Microsoft.Health.Dicom.Core/Features/Telemetry/RetrieveMeter.cs index 0345ecf3b9..3b41e00c00 100644 --- a/src/Microsoft.Health.Dicom.Core/Features/Telemetry/RetrieveMeter.cs +++ b/src/Microsoft.Health.Dicom.Core/Features/Telemetry/RetrieveMeter.cs @@ -24,11 +24,10 @@ public RetrieveMeter() public Counter RetrieveInstanceCount { get; } - public static KeyValuePair[] RetrieveInstanceCountTelemetryDimension(long contentLength, long maxFileSize, bool isTranscoding = false, bool hasFrameMetadata = false, bool isRendered = false) => + public static KeyValuePair[] RetrieveInstanceCountTelemetryDimension(long contentLength, bool isTranscoding = false, bool hasFrameMetadata = false, bool isRendered = false) => new[] { new KeyValuePair("ContentLength", contentLength), - new KeyValuePair("MaxFileSize", maxFileSize), new KeyValuePair("IsTranscoding", isTranscoding), new KeyValuePair("IsRendered", isRendered), new KeyValuePair("HasFrameMetadata", hasFrameMetadata),