Update AWSAttribution endpoint to prod endpoint (#1335)

This commit is contained in:
amzn-hdoke
2021-06-16 14:25:26 -07:00
committed by GitHub
parent aa2c27b22d
commit b74a153f75
5 changed files with 26 additions and 14 deletions
@@ -47,8 +47,6 @@ CEditorPreferencesPage_AWS::CEditorPreferencesPage_AWS()
{
m_settingsRegistry = AZStd::make_unique<AZ::SettingsRegistryImpl>();
InitializeSettings();
// TODO Update with AWS svg.
m_icon = QIcon(":/res/AWS_preferences_icon.svg");
}
@@ -43,7 +43,7 @@ namespace AWSCore
bool UseAWSCredentials()
{
return false;
return true;
}
//! Request body for the service API request.
@@ -25,20 +25,24 @@
#include <AzCore/Module/ModuleManagerBus.h>
#include <ResourceMapping/AWSResourceMappingUtils.h>
#include <QSysInfo>
#include <QString>
namespace AWSCore
{
static constexpr const char* EngineVersionJsonKey = "O3DEVersion";
constexpr const char* EngineVersionJsonKey = "O3DEVersion";
constexpr char EditorAWSPreferencesFileName[] = "editor_aws_preferences.setreg";
constexpr char AWSAttributionSettingsPrefixKey[] = "/Amazon/AWS/Preferences";
constexpr char AWSAttributionEnabledKey[] = "/Amazon/AWS/Preferences/AWSAttributionEnabled";
constexpr char AWSAttributionDelaySecondsKey[] = "/Amazon/AWS/Preferences/AWSAttributionDelaySeconds";
constexpr char AWSAttributionLastTimeStampKey[] = "/Amazon/AWS/Preferences/AWSAttributionLastTimeStamp";
constexpr char AWSAttributionApiId[] = "xbzx78kvbk";
constexpr char AWSAttributionApiId[] = "2zxvvmv8d7";
constexpr char AWSAttributionChinaApiId[] = "";
constexpr char AWSAttributionApiStage[] = "prod";
const int AWSAttributionDefaultDelayInDays = 7;
AWSAttributionManager::AWSAttributionManager()
{
@@ -58,12 +62,11 @@ namespace AWSCore
{
if (ShouldGenerateMetric())
{
// 1. Gather metadata and assemble metric
// Gather metadata and assemble metric
AttributionMetric metric;
UpdateMetric(metric);
// 2. Identify region and chose attribution endpoint
// 3. Post metric
// Post metric
SubmitMetric(metric);
}
}
@@ -104,8 +107,7 @@ namespace AWSCore
AZ::u64 delayInSeconds = 0;
if (!m_settingsRegistry->Get(delayInSeconds, AWSAttributionDelaySecondsKey))
{
AZ_Warning("AWSAttributionManager", false, "AWSAttribution delay key not found. Defaulting to delay to day");
delayInSeconds = 86400;
delayInSeconds = 86400 * AWSAttributionDefaultDelayInDays;
m_settingsRegistry->Set(AWSAttributionDelaySecondsKey, delayInSeconds);
}
@@ -243,7 +245,8 @@ namespace AWSCore
metric.SetO3DEVersion(engineVersion);
AZStd::string platform = this->GetPlatform();
metric.SetPlatform(platform, "");
QString productName = QSysInfo::prettyProductName();
metric.SetPlatform(platform, productName.toStdString().c_str());
AZStd::vector<AZStd::string> gemNames;
GetActiveAWSGems(gemNames);
@@ -256,6 +259,7 @@ namespace AWSCore
void AWSAttributionManager::SubmitMetric(AttributionMetric& metric)
{
AWSCore::ServiceAPI::AWSAttributionRequestJob::Config* config = ServiceAPI::AWSAttributionRequestJob::GetDefaultConfig();
// Identify region and chose attribution endpoint
SetApiEndpointAndRegion(config);
ServiceAPI::AWSAttributionRequestJob* requestJob = ServiceAPI::AWSAttributionRequestJob::Create(
@@ -266,7 +270,12 @@ namespace AWSCore
UpdateLastSend();
AZ_Printf("AWSAttributionManager", "AWSAttribution metric submit success");
}, {}, config);
},
[this](ServiceAPI::AWSAttributionRequestJob* failJob)
{
AZ_Error("AWSAttributionManager", false, "Metrics send error: %s", failJob->error.message.c_str());
},
config);
requestJob->parameters.metric = metric;
requestJob->Start();
@@ -19,14 +19,16 @@
namespace AWSCore
{
constexpr char AWSAttributionMetricDefaultO3DEVersion[] = "1.1";
AttributionMetric::AttributionMetric(const AZStd::string& timestamp)
: m_version("1.1")
: m_version(AWSAttributionMetricDefaultO3DEVersion)
, m_timestamp(timestamp)
{
}
AttributionMetric::AttributionMetric()
: m_version("1.1")
: m_version(AWSAttributionMetricDefaultO3DEVersion)
{
m_timestamp = AttributionMetric::GenerateTimeStamp();
}
@@ -32,6 +32,8 @@
#include <AzCore/Module/ModuleManagerBus.h>
#include <TestFramework/AWSCoreFixture.h>
#include <QSysInfo>
#include <QString>
using namespace AWSCore;
@@ -405,6 +407,7 @@ namespace AWSAttributionUnitTest
AZStd::string serializedMetricValue = metric.SerializeToJson();
ASSERT_TRUE(serializedMetricValue.find("\"o3de_version\":\"1.0.0.0\"") != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find(AZ::GetPlatformName(AZ::g_currentPlatform)) != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find(QSysInfo::prettyProductName().toStdString().c_str()) != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find("AWSCore.Editor") != AZStd::string::npos);
ASSERT_TRUE(serializedMetricValue.find("AWSClientAuth") != AZStd::string::npos);