diff options
| author | nicole mazzuca <mazzucan@outlook.com> | 2020-05-29 14:09:03 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-29 14:09:03 -0700 |
| commit | 09319cd79e3bee6a41bb76db739aef3f3644f19f (patch) | |
| tree | 36e6b5bd5c17268edc062aa9c462f47fc4f400cf /toolsrc/src/vcpkg.cpp | |
| parent | a64dc07690bc8806e717e190f62eb58e198b599c (diff) | |
| download | vcpkg-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.cpp | 17 |
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); |
