Skip to content

[metrics] Add new telemetry points for versioning#21

Merged
vicroms merged 2 commits intomicrosoft:mainfrom
vicroms:versioning/telemetry
Mar 16, 2021
Merged

[metrics] Add new telemetry points for versioning#21
vicroms merged 2 commits intomicrosoft:mainfrom
vicroms:versioning/telemetry

Conversation

@vicroms
Copy link
Member

@vicroms vicroms commented Mar 2, 2021

Adds telemetry for the following properties:

Name Description
versioning-error-disabled User has declared builtin-baseline, version>= or overrides without enabling the versions feature flag
versioning-error-no-baseline User has declared version>= or overrides but not a baseline
versioning-error-baseline (WIP) User has declared an invalid baseline
versioning-error-version User has declared a constraint on a non-existing version
manifest_version_constraint User has declared version>=

}
else
{
Metrics::g_metrics.lock()->track_property("versioning-error-version", "defined");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit imprecise because we don't actually know whether this is a termination-worthy error, however it may be intractable to move this to every load_control_file().value_or_exit().

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The more invasive but "correct" approach would be to create a new type like:

struct TrackedError {
    std::string message;
    std::string metric;
};

which upon calling Expected<T,TrackedError>::value_or_exit() would track the property just in time to exit. However, I think that is probably too invasive at this time.

Copy link
Member Author

@vicroms vicroms Mar 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may attempt to track in value_or_exit() in a separate PR.
For the time being, I'll just merge with the current metrics if there are no objections by end of day.

@vicroms vicroms marked this pull request as ready for review March 15, 2021 20:54
@vicroms vicroms merged commit f4e6bc1 into microsoft:main Mar 16, 2021
strega-nil added a commit that referenced this pull request Apr 15, 2021
The following PRs are included:

* hopefully fix crash in constraints (#60)
* [vcpkg] allow --version to check the version (#50)
* Remove baseline warning (#27)
* [git] always pass autocrlf=false (#58)
* ignore QtCreator CMake project files (#54)
* ignore .DS_store files (#53)
* [vcpkg] x-add-version now also checks if the manifest file is properly formatted (#43)
* hopefully fix ci issue #16773 (#34)
* Add docs to set VCPKG_ROOT to run tests (#45)
* [vcpkg] x-add-version improve speed by calling get_builtin_baseline only once (#44)
* add clang-format version to format-cxxcode (#41)
* [vcpkg] Introduce experimental workaround X_VCPKG_NUGET_ID_PREFIX (#40)
* [supports] Add `native` identifier expression and x-check-support command (#29)
* [metrics] Split reporting of installs into name:triplet (#39)
* [vcpkg] Improve error when accessing missing feature (#38)
* [vcpkg] Allow shallow git registries (#37)
* Disable git autocrlf when archiving tree (#36)
* Use only named packages from extra registries (#35)
* [registries] add metrics (#30)
* Add vcpkg policy cmake helper port support (#17)
* [osx] add support for rosetta (#23)
* don't build tls12-download unless it's needed (#33)
* Add new telemetry points for versioning (#21)
* add cmake_minimum_required to vcpkg_tags (#25)
* [x-add-versions] Perform atomic replacement of versioning files (#28)
* [tools] support gsutil (#19)
* add CUDA 11.1 and 11.2 to KEEP_ENV_VARS defaults (#26)
* Add finite timeout on CURL metrics endpoint. (#22)
* fix UB in make_error_code(utf8_errc) (#18)
@vicroms vicroms changed the title Add new telemetry points for versioning [metrics] Add new telemetry points for versioning May 5, 2021
@vicroms vicroms deleted the versioning/telemetry branch April 27, 2022 15:28
vicroms added a commit to vicroms/vcpkg-tool that referenced this pull request Aug 28, 2025
# This is the 1st commit message:

WIP

# The commit message #2 will be skipped:

# Fix build error

# The commit message microsoft#3 will be skipped:

# Implement bulk operation

# The commit message microsoft#4 will be skipped:

# Remove unused struct

# The commit message microsoft#5 will be skipped:

# Follow redirects

# The commit message microsoft#6 will be skipped:

# Get HTTP response code

# The commit message microsoft#7 will be skipped:

# Map URL response code to the correct index

# The commit message microsoft#8 will be skipped:

# Map URL response code to the correct index

# The commit message microsoft#9 will be skipped:

# Undo changes to workflows

# The commit message microsoft#10 will be skipped:

# Implement store to asset cache

# The commit message microsoft#11 will be skipped:

# handle file:// protocol

# The commit message microsoft#12 will be skipped:

# Implement try_download_file

# The commit message microsoft#13 will be skipped:

# Add missing calls to curl_easy_cleanup

# The commit message microsoft#14 will be skipped:

# Fix global init

# The commit message microsoft#15 will be skipped:

# Replace all calls in downloads.cpp and fix unit tests

# The commit message microsoft#16 will be skipped:

# use libcurl to submit metrics payload

# The commit message microsoft#17 will be skipped:

# Use Schannel on Windows

# The commit message microsoft#18 will be skipped:

# Apply suggestions from code review
#
# Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

# The commit message microsoft#19 will be skipped:

# Fix unit test

# The commit message microsoft#20 will be skipped:

# Change curl error messages

# The commit message microsoft#21 will be skipped:

# generate message map

# The commit message microsoft#22 will be skipped:

# Always call multi_remove_handle

# The commit message microsoft#23 will be skipped:

# Fix end-to-end tests

# The commit message microsoft#24 will be skipped:

# Cleanup header lists

# The commit message microsoft#25 will be skipped:

# curl global init order

# The commit message microsoft#26 will be skipped:

# Use external libcurl on non-Windows

# The commit message microsoft#27 will be skipped:

# Install libcurl4 dev package on Linux

# The commit message microsoft#28 will be skipped:

# Disable metrics by default in debug builds

# The commit message microsoft#29 will be skipped:

# Set user agent using CURLOPT_USERAGENT

# The commit message microsoft#30 will be skipped:

# curl initialization again
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants