aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg.cpp
diff options
context:
space:
mode:
authornicole mazzuca <mazzucan@outlook.com>2020-05-29 14:09:03 -0700
committerGitHub <noreply@github.com>2020-05-29 14:09:03 -0700
commit09319cd79e3bee6a41bb76db739aef3f3644f19f (patch)
tree36e6b5bd5c17268edc062aa9c462f47fc4f400cf /toolsrc/src/vcpkg.cpp
parenta64dc07690bc8806e717e190f62eb58e198b599c (diff)
downloadvcpkg-09319cd79e3bee6a41bb76db739aef3f3644f19f.tar.gz
vcpkg-09319cd79e3bee6a41bb76db739aef3f3644f19f.zip
[vcpkg metrics] Allow someone to opt out after build (#11542)
* [vcpkg metrics] start using json library Additionally, add floats to the JSON library since they're required. * [vcpkg metrics] allow users to disable metrics after the build Additionally, as a drive by, fix UUID generation * fix metrics data * code review
Diffstat (limited to 'toolsrc/src/vcpkg.cpp')
-rw-r--r--toolsrc/src/vcpkg.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index e1a0a2a0b..95cd39778 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -333,6 +333,11 @@ int main(const int argc, const char* const* const argv)
auto flags = Strings::split(*v, ',');
if (std::find(flags.begin(), flags.end(), "binarycaching") != flags.end()) GlobalState::g_binary_caching = true;
}
+ const auto vcpkg_disable_metrics_env = System::get_environment_variable("VCPKG_DISABLE_METRICS");
+ if (vcpkg_disable_metrics_env.has_value())
+ {
+ Metrics::g_metrics.lock()->set_disabled(true);
+ }
const VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(argc, argv);
@@ -340,8 +345,20 @@ int main(const int argc, const char* const* const argv)
if (const auto p = args.printmetrics.get()) Metrics::g_metrics.lock()->set_print_metrics(*p);
if (const auto p = args.sendmetrics.get()) Metrics::g_metrics.lock()->set_send_metrics(*p);
+ if (const auto p = args.disable_metrics.get()) Metrics::g_metrics.lock()->set_disabled(*p);
if (const auto p = args.debug.get()) Debug::g_debugging = *p;
+ if (args.sendmetrics.has_value() && !Metrics::g_metrics.lock()->metrics_enabled())
+ {
+ System::print2(System::Color::warning,
+ "Warning: passed either --sendmetrics or --no-sendmetrics, but metrics are disabled.\n");
+ }
+ if (args.printmetrics.has_value() && !Metrics::g_metrics.lock()->metrics_enabled())
+ {
+ System::print2(System::Color::warning,
+ "Warning: passed either --printmetrics or --no-printmetrics, but metrics are disabled.\n");
+ }
+
if (Debug::g_debugging)
{
inner(args);