Comments (3)
Is there a recommendation we can provide on how to understand effectiveness of default values for these settings and what value to set them: MovingAverageRatio
, SamplingPercentageDecreaseTimeoutSeconds
and SamplingPercentageIncreaseTimeoutSeconds
?
My opinion that adaptive sampling should be THE sampling. So we don't need to complicate API by introducing two distinct extension methods - UseAdaptiveSampling
and UseSampling
.
Sampling today takes into consideration user id, operation id, etc. I assume this sampling processor will do the same. Would it be nice to detach the logic of sliding window and actual sampling logic? Maybe one processor is "counting" and another is filtering based on adjusted value?
What scenario do you see for change callback? Maybe we can make it via tracing so one can subscribe on EventSource and listen for change events instead? What logic do you expect will be made by customer beside tracing here?
from applicationinsights-dotnet.
- Re: setting values & effectiveness of "penalty box" and "moving avg" parameters. These are for fine-tuning the process. Defaults should work for most cases. One example where penalty box parameters may need adjusting is spikes in telemetry production with certain period of time... The idea is to apply defaults and if that does not work, analyze why volume of telemetry is still high and/or throttling is in effect. Analysis may show a need to fine-tune these parameters. I do not think we can provide "rule of thumb" way of adjusting these. Start with defaults, than apply analysis on a case-by-case bases...
- Re: "THE sampling". I strongly want to have static sampling available and public. It encapsulates complex sampling logic and in case someone wants to build their own sampling percentage algo, they can using the same approach as we do for adaptive sampling. Adaptive sampling will be the default in config - that is enough, I think.
- Re: decoupling sampling itself and "counting". this is, in fact, how adaptive sampling is done. It uses static sampling telemetry processor as is and one more processor - sampling percentage estimator ("counting" processor in your terms) plus a little bit of glue between them.
- Re: Callback. Two clear scenarios are tracing and turning it into a metric/counter. The callback provides nice structured event that is very simple to subscribe to (unlike ETW).
from applicationinsights-dotnet.
Adaptive Sampling feature was implemented and included in 2.0.0-beta3 SDK version.
from applicationinsights-dotnet.
Related Issues (20)
- Incorrect parent ID for Azure Storage SDK dependency calls
- GRPC Memory Leak HOT 1
- RequestTelemetry missing in HttpContext.Features HOT 2
- Application Insights Logger Scope overwritting OriginalFormat property HOT 3
- App Insights map tile not working on custom dashboards HOT 1
- global property formatted as a datetime
- package may fail to build on certain locales
- Microsoft.ApplicationInsights.WorkerService does not log traces even after specifying override in config HOT 3
- Dependencies to unsupported and end of life nuget packages and frameworks HOT 2
- EventCounterCollectionModule sends events every second HOT 15
- Service registration fails HOT 4
- disable tracking
- Add "area" and "handler" names to Request/Operation name for Razor Pages
- Disable sampling for a specific request HOT 2
- 500.53 URL rewrite module error with message Outbound rewrite rules cannot be applied when the content of the HTTP response is encoded ('br')
- Difference in behaviour between Microsoft.Azure.ServiceBus and Azure.Messaging.ServiceBus for adding Activity Tags to telemetry
- Microsoft.Extensions.Logging.ApplicationInsights adds trace IDs a 2nd time to trace telemetry HOT 5
- Live metrics doesn't show logger traces when a custom log level is set HOT 1
- Application Insights does not log dependencies with a profiler attached HOT 1
- When saving custom events to Application Insights, Local Date Time information gets lost (it gets converted to UTC) HOT 2
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.