Log DateTime mode usage telemetry

This commit is contained in:
Eric Wong (PAX) 2019-05-15 16:30:13 -07:00
commit d9685856b6
3 changed files with 19 additions and 0 deletions

View file

@ -76,6 +76,7 @@ namespace CalculatorApp
constexpr auto EVENT_NAME_CORE_WINDOW_WAS_NULL = L"CoreWindowWasNull";
constexpr auto EVENT_NAME_MODE_CHANGED = L"ModeChanged";
constexpr auto EVENT_NAME_DATE_CALCULATION_MODE_USED = L"DateCalculationModeUsed";
constexpr auto EVENT_NAME_EXCEPTION = L"Exception";
@ -919,6 +920,15 @@ namespace CalculatorApp
}
}
void TraceLogger::LogDateCalculationModeUsed(bool AddSubtractMode)
{
LoggingFields fields{};
fields.AddBoolean(L"CalculationType", AddSubtractMode);
// cast mode to an int for telemetry
fields.AddInt32(L"CalcMode", NavCategory::Serialize(ViewMode::Date));
LogLevel2Event(EVENT_NAME_DATE_CALCULATION_MODE_USED, fields);
}
void TraceLogger::LogDateDifferenceModeUsed(int windowId)
{
if (!m_dateDiffUsageLoggedInSession)

View file

@ -77,6 +77,7 @@ namespace CalculatorApp
void LogRadixButtonUsed(int windowId);
void LogAngleButtonUsed(int windowId);
void LogHypButtonUsed(int windowId);
void LogDateCalculationModeUsed(bool AddSubtractMode);
void LogNewWindowCreationBegin(int windowId);
void LogNewWindowCreationEnd(int windowId);
void LogError(std::wstring_view errorString);

View file

@ -104,6 +104,7 @@ void DateCalculator::FromDate_DateChanged(_In_ CalendarDatePicker ^ sender, _In_
auto dateCalcViewModel = safe_cast<DateCalculatorViewModel ^>(this->DataContext);
dateCalcViewModel->FromDate = e->NewDate->Value;
TraceLogger::GetInstance().LogDateDifferenceModeUsed(ApplicationView::GetApplicationViewIdForWindow(CoreWindow::GetForCurrentThread()));
TraceLogger::GetInstance().LogDateCalculationModeUsed(false /* AddSubtractMode */);
}
else
{
@ -118,6 +119,7 @@ void DateCalculator::ToDate_DateChanged(_In_ CalendarDatePicker ^ sender, _In_ C
auto dateCalcViewModel = safe_cast<DateCalculatorViewModel ^>(this->DataContext);
dateCalcViewModel->ToDate = e->NewDate->Value;
TraceLogger::GetInstance().LogDateDifferenceModeUsed(ApplicationView::GetApplicationViewIdForWindow(CoreWindow::GetForCurrentThread()));
TraceLogger::GetInstance().LogDateCalculationModeUsed(false /* AddSubtractMode */);
}
else
{
@ -133,6 +135,7 @@ void DateCalculator::AddSubtract_DateChanged(_In_ CalendarDatePicker ^ sender, _
dateCalcViewModel->StartDate = e->NewDate->Value;
TraceLogger::GetInstance().LogDateAddSubtractModeUsed(
ApplicationView::GetApplicationViewIdForWindow(CoreWindow::GetForCurrentThread()), dateCalcViewModel->IsAddMode);
TraceLogger::GetInstance().LogDateCalculationModeUsed(true /* AddSubtractMode */);
}
else
{
@ -145,6 +148,11 @@ void CalculatorApp::DateCalculator::OffsetValue_Changed(_In_ Platform::Object ^
auto dateCalcViewModel = safe_cast<DateCalculatorViewModel ^>(this->DataContext);
TraceLogger::GetInstance().LogDateAddSubtractModeUsed(
ApplicationView::GetApplicationViewIdForWindow(CoreWindow::GetForCurrentThread()), dateCalcViewModel->IsAddMode);
// do not log telemetry for no-ops and initialization of combo boxes
if (dateCalcViewModel->DaysOffset != 0 || dateCalcViewModel->MonthsOffset != 0 || dateCalcViewModel->YearsOffset != 0)
{
TraceLogger::GetInstance().LogDateCalculationModeUsed(true /* AddSubtractMode */);
}
}
void DateCalculator::OnCopyMenuItemClicked(_In_ Object ^ sender, _In_ RoutedEventArgs ^ e)