diff --git a/src/vcpkg/binarycaching.cpp b/src/vcpkg/binarycaching.cpp index 7bccb0a6c3b59a..d84081d1a972f8 100644 --- a/src/vcpkg/binarycaching.cpp +++ b/src/vcpkg/binarycaching.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include using namespace vcpkg; @@ -667,6 +668,7 @@ namespace auto maybe_cachepath = System::get_environment_variable("VCPKG_DEFAULT_BINARY_CACHE"); if (auto p_str = maybe_cachepath.get()) { + Metrics::g_metrics.lock()->track_property("VCPKG_DEFAULT_BINARY_CACHE", "defined"); const auto path = fs::u8path(*p_str); const auto status = fs::stdfs::status(path); if (!fs::stdfs::exists(status)) @@ -915,6 +917,12 @@ namespace ExpectedS> vcpkg::create_binary_provider_from_configs_pure( const std::string& env_string, View args) { + { + auto metrics = Metrics::g_metrics.lock(); + if (!env_string.empty()) metrics->track_property("VCPKG_BINARY_SOURCES", "defined"); + if (args.size() != 0) metrics->track_property("binarycaching-source", "defined"); + } + State s; BinaryConfigParser default_parser("default,readwrite", "", &s); @@ -930,17 +938,22 @@ ExpectedS> vcpkg::create_binary_provider_from_c if (auto err = arg_parser.get_error()) return err->format(); } + if (s.m_cleared) Metrics::g_metrics.lock()->track_property("binarycaching-clear", "defined"); + std::vector> providers; if (!s.archives_to_read.empty() || !s.archives_to_write.empty()) providers.push_back( std::make_unique(std::move(s.archives_to_read), std::move(s.archives_to_write))); if (!s.sources_to_read.empty() || !s.sources_to_write.empty() || !s.configs_to_read.empty() || !s.configs_to_write.empty()) + { + Metrics::g_metrics.lock()->track_property("binarycaching-nuget", "defined"); providers.push_back(std::make_unique(std::move(s.sources_to_read), std::move(s.sources_to_write), std::move(s.configs_to_read), std::move(s.configs_to_write), s.interactive)); + } return {std::make_unique(std::move(providers))}; } @@ -978,6 +991,7 @@ details::NuGetRepoInfo details::get_nuget_repo_info_from_env() auto vcpkg_nuget_repository = System::get_environment_variable("VCPKG_NUGET_REPOSITORY"); if (auto p = vcpkg_nuget_repository.get()) { + Metrics::g_metrics.lock()->track_property("VCPKG_NUGET_REPOSITORY", "defined"); return {std::move(*p)}; } auto gh_repo = System::get_environment_variable("GITHUB_REPOSITORY").value_or(""); @@ -985,6 +999,8 @@ details::NuGetRepoInfo details::get_nuget_repo_info_from_env() auto gh_server = System::get_environment_variable("GITHUB_SERVER_URL").value_or(""); if (gh_server.empty()) return {}; + Metrics::g_metrics.lock()->track_property("GITHUB_REPOSITORY", "defined"); + return {Strings::concat(gh_server, '/', gh_repo, ".git"), System::get_environment_variable("GITHUB_REF").value_or(""), System::get_environment_variable("GITHUB_SHA").value_or("")}; diff --git a/src/vcpkg/commands.setinstalled.cpp b/src/vcpkg/commands.setinstalled.cpp index 4b7ba10cabb7f4..1c04694c891b23 100644 --- a/src/vcpkg/commands.setinstalled.cpp +++ b/src/vcpkg/commands.setinstalled.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -141,6 +142,7 @@ namespace vcpkg::Commands::SetInstalled auto it_pkgsconfig = options.settings.find(OPTION_WRITE_PACKAGES_CONFIG); if (it_pkgsconfig != options.settings.end()) { + Metrics::g_metrics.lock()->track_property("x-write-nuget-packages-config", "defined"); pkgsconfig = it_pkgsconfig->second; } diff --git a/src/vcpkg/install.cpp b/src/vcpkg/install.cpp index 0a16294a1683a2..99d17f45939ad2 100644 --- a/src/vcpkg/install.cpp +++ b/src/vcpkg/install.cpp @@ -786,6 +786,7 @@ namespace vcpkg::Install auto it_pkgsconfig = options.settings.find(OPTION_WRITE_PACKAGES_CONFIG); if (it_pkgsconfig != options.settings.end()) { + Metrics::g_metrics.lock()->track_property("x-write-nuget-packages-config", "defined"); pkgsconfig = fs::u8path(it_pkgsconfig->second); } auto manifest_path = paths.get_manifest_path().value_or_exit(VCPKG_LINE_INFO); @@ -924,6 +925,7 @@ namespace vcpkg::Install auto it_pkgsconfig = options.settings.find(OPTION_WRITE_PACKAGES_CONFIG); if (it_pkgsconfig != options.settings.end()) { + Metrics::g_metrics.lock()->track_property("x-write-nuget-packages-config", "defined"); Build::compute_all_abis(paths, action_plan, var_provider, status_db); auto pkgsconfig_path = Files::combine(paths.original_cwd, fs::u8path(it_pkgsconfig->second));