-
Notifications
You must be signed in to change notification settings - Fork 1.4k
telemetry onepager #11013
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
JanProvaznik
merged 5 commits into
dotnet:main
from
JanProvaznik:docs/telemetry-onepager
Dec 20, 2024
+77
−0
Merged
telemetry onepager #11013
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| # Telemetry | ||
|
|
||
| We want to implement telemetry collection for VS/MSBuild.exe scenarios where we are currently not collecting any data. VS OpenTelemetry initiative provides a good opportunity to use their infrastructure and library. | ||
| There is some data we collect via SDK which we want to make accessible. | ||
|
|
||
| ## Goals and Motivation | ||
|
|
||
| We have no data about usage of MSBuild customers in VS. | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| This limits us in prioritization of features and scenarios to optimize performance for. | ||
| Implementing telemetry via VS OpenTelemetry initiative would give us comprehensive insight into how MSBuild is used in all scenarios. | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| Goal: To have relevant data in that is actionable for decisions about development. Measuring real world performance impact of features (e.g. BuildCheck). Easily extensible telemetry infrastructure if we want to measure a new datapoint. | ||
|
|
||
| ## Impact | ||
| - Better planning of deployment of forces in MSBuild by product/team management. | ||
| - Customers can subscribe to telemetry locally to have data in standardized OpenTelemetry format | ||
|
|
||
| ## Stakeholders | ||
| - Jan (Krivanek|Provaznik) design and implementation of telemetry via VS OTel. Mariana - using data we already have from SDK. | ||
| - MSBuild Team+Management – want insights from builds in VS | ||
| - VS OpenTelemetry team – provide support for VS OpenTelemetry collector library, want successful adoption | ||
| - SourceBuild – consulting and approving usage of OpenTelemetry | ||
| - Chet – representing customers who want to monitor their builds locally | ||
|
|
||
| ### Successful handover | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Shipped to Visual Studio | ||
| - Data queryable in Kusto | ||
| - Dashboards | ||
| - Customers are able to monitor with OpenTelemetry collector of choice (can be cut) | ||
|
|
||
| ## Risks | ||
| - Performance regression risks - it's another thing MSBuild would do and if the perf hit would be too bad it would need mitigation effort. | ||
| - It introduces a closed source dependency for VS and MSBuild.exe distribution methods which requires workarounds to remain compatible with SourceBuild policy (conditional compilation/build). | ||
| - Using a new VS API - might have gaps | ||
| - Instrumenting data that would ultimately prove uninteresting. | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - Potential additional costs and delays due to compliance with SourceBuild/VS data. | ||
|
|
||
| ## Cost | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| 5 months of .5 developer's effort ~ 50 dev days (dd) | ||
|
|
||
| 20-30dd JanPro OTel design + implementation, 10-15dd JanK design + implementation, 5-10dd Mariana/someone getting available data in order/"data science"/dashboards + external documentation | ||
|
|
||
| Uncertainties: | ||
| It’s an exploratory project for VS OpenTelemetry, we'll be their first OSS component, so there might come up issues. SourceBuild compliance could introduce delays. | ||
|
|
||
| ## Plan | ||
| - Prototyping the libraries/mechanism for collecting telemetry data (month 1) 10dd | ||
|
|
||
| - Defining usful data points (month 1) 5dd | ||
|
|
||
| - Design and approval of hooking VSTelemetry collectors and OTel collectors (month 2) 10dd | ||
|
|
||
| - Formalizing, agreeing to sourcebuild and other external requirements (month 2) 2dd | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - Instrumenting MSBuild with defined datapoints (month 3) 10dd | ||
JanProvaznik marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - Creating dashboards/insights (month 4) 5dd | ||
|
|
||
| - Documenting for customers how to hook their own telemetry collection (month 4) 3dd | ||
|
|
||
| - Buffer for discovered issues (VSData Platform, SourceBuild, OpenTelemetry) and more investments (month 5) 5dd | ||
|
|
||
|
|
||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.