Comments (1)
Today we use following HTTP dependency tracking mechanisms:
- .NET Fx: DiagnosticSource. The end event is fired when HttpResponseMessage is disposed i.e. after response is read. The issue is not relevant
- .NET Fx: profiler: we instrumented OnEndGetResponse
- .NET Core DiagnosticSource
For both p2 and p3 there are caveats.
HttpClient methods have an overload that takes HttpCompletionOptions
that specify if the response should be read and buffered before returning the result. By default it is set to ResponseContentRead
, i.e. response streams are buffered (up to some huge size).
So by default, we track time to last byte.
However, users can (and should for huge responses) supply HttpCompletionOptions.ResponseHeadersRead
and then response body is not read or buffered before the user explicitly reads it. This is out of ApplicationInsights control and for now, users should track this extra time manually with StartOperation.
I'm closing this issue for now, as there is no work planned to address it. Please upvote and reopen if this affects you.
from applicationinsights-dotnet-server.
Related Issues (20)
- Support Process CPU and Memory from Linux
- Disposing Configuration does not clean up worker threads HOT 3
- Add netstandard 2.0 target on WindowsServer and DependencyCollector HOT 2
- Support correlation-context in absence of Request-Id or traceparent
- x-correlation-id header added too many times HOT 3
- Support EventCounter Collection HOT 2
- Deadlock/hang in RequestTrackingTelemetryModule.IsHandlerToFilter HOT 1
- EventCounter 1st value is unusually high. HOT 4
- Suddenly throwing random exception: 'ProcessId was not available in the samples we gathered' HOT 4
- No UnhandledExceptionTelemetryModule when using WindowsServer package for Net.Core 2.2 HOT 1
- Index was outside the bounds of the array HOT 2
- QuickPulse does not distinguish multiple processes running on the same host
- Service Bus Dependency Receive shows as a continuous stream of 1 minute calls HOT 3
- System.Data.SqlClient replaced with Microsoft.Data.SqlClient in .NET CORE 3.0 and sql calls are not tracked in 3.0 HOT 1
- How to set the value of Context.User.Id in PerformanceCollector HOT 2
- Dependency Parent IDs not set correctly in 2.8.0 HOT 10
- EventCounters are reported under PerformanceCounter as opposed to CustomMetric
- Support reading metadata when collecting EventCounter data HOT 2
- SqlClientDiagnosticSourceListener OnNext failed to call event handler HOT 1
- WebSDK: This repo is in the process of being migrated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from applicationinsights-dotnet-server.