mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-22 22:50:03 +01:00
[General]Add an option for telemetry opt-in and visualization(#34078)
* Data diagnostics opt-in
* [c++] Drop DROP_PII flag
* Bump telemtry package to 2.0.2
* Drop DropPii from custom actions
* Cleanup
* Do not start manually C# EtwTrace. FZ engine exit event.
* ImageResizer, PowerRename, FileLocksmith prev handlers
* Revert C# handlers exe logging
* Revert "Revert C# handlers exe logging"
This reverts commit 4c75a3953b.
* Do not recreate EtwTrace
* consume package
* xaml formatting
* Fix deps.json audit
* Update telem package paths
* Address PR comments
* Fix AdvancedPaste close on PT close
* Override etl file name for explorer loaded dlls
Start/stop tracer when needed for explorer loaded dlls to prevent explorer overload
* Fix setting desc
* Fix missing events
* Add infobar to restart when enable data viewing
* Flush on timer every 30s
* [Settings] Update View Data diagnostic description text
[New+] Add tracer
* Show Restart info bar for both enable/disable data viewer
* Fix newplus
* Fix stuck on restart and terminate AdvPaste exe on destroy()
* [Installer] Add tracer
* Address PR comment
* Add missing tracers
* Exclude etw dir from BugReport
* Fix bad merge
* [Hosts] Proper exit on initial dialog
* [OOBE] Make Data diagnostic setting visible without scroll
* [OOBE] Add hiperlynk to open general settings
* Disable data view on disabling data diagnostics
* Don't disable View data button
* Fix disabling data viewing
* Add missing dot
* Revert formatting
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
|
||||
#include <common/comUtils/comUtils.h>
|
||||
#include <common/display/dpi_aware.h>
|
||||
#include <common/Telemetry/EtwTrace/EtwTrace.h>
|
||||
#include <common/notifications/notifications.h>
|
||||
#include <common/notifications/dont_show_again.h>
|
||||
#include <common/updating/installer.h>
|
||||
@@ -303,6 +304,9 @@ toast_notification_handler_result toast_notification_handler(const std::wstring_
|
||||
|
||||
int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR lpCmdLine, int /*nCmdShow*/)
|
||||
{
|
||||
Shared::Trace::ETWTrace trace{};
|
||||
trace.UpdateState(true);
|
||||
|
||||
Gdiplus::GdiplusStartupInput gpStartupInput;
|
||||
ULONG_PTR gpToken;
|
||||
GdiplusStartup(&gpToken, &gpStartupInput, NULL);
|
||||
@@ -437,6 +441,13 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR l
|
||||
openScoobe = false;
|
||||
}
|
||||
|
||||
bool dataDiagnosticsDisabledByGpo = powertoys_gpo::getAllowDataDiagnosticsValue() == powertoys_gpo::gpo_rule_configured_disabled;
|
||||
if (dataDiagnosticsDisabledByGpo)
|
||||
{
|
||||
Logger::info(L"Data diagnostics: Data diagnostics is disabled by GPO.");
|
||||
PTSettingsHelper::save_data_diagnostics(false);
|
||||
}
|
||||
|
||||
if (elevated && with_dont_elevate_arg && !run_elevated_setting)
|
||||
{
|
||||
Logger::info("Scheduling restart as non elevated");
|
||||
@@ -473,6 +484,9 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR l
|
||||
result = -1;
|
||||
}
|
||||
|
||||
trace.Flush();
|
||||
trace.UpdateState(false);
|
||||
|
||||
// We need to release the mutexes to be able to restart the application
|
||||
if (msi_mutex)
|
||||
{
|
||||
@@ -481,6 +495,7 @@ int WINAPI WinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/, LPSTR l
|
||||
|
||||
if (is_restart_scheduled())
|
||||
{
|
||||
modules().clear();
|
||||
if (!restart_if_scheduled())
|
||||
{
|
||||
// If it's not possible to restart non-elevated due to some condition in the user's configuration, user should start PowerToys manually.
|
||||
|
||||
Reference in New Issue
Block a user