|
10 | 10 | #include <aws/core/utils/Array.h> |
11 | 11 | #include <aws/core/utils/DateTime.h> |
12 | 12 | #include <aws/core/utils/StringUtils.h> |
| 13 | +#include <aws/core/utils/UUID.h> |
13 | 14 | #include <aws/core/utils/json/JsonSerializer.h> |
14 | 15 | #include <aws/core/utils/memory/AWSMemory.h> |
15 | 16 | #include <aws/core/utils/memory/stl/AWSMap.h> |
@@ -37,27 +38,30 @@ struct PerformanceTest::Reporting::RequestContext { |
37 | 38 | }; |
38 | 39 |
|
39 | 40 | JsonReportingMetrics::JsonReportingMetrics(const Aws::Set<Aws::String>& monitoredOperations, const Aws::String& productId, |
40 | | - const Aws::String& sdkVersion, const Aws::String& commitId, const Aws::String& outputFilename) |
| 41 | + const Aws::String& sdkVersion, const Aws::String& commitId, const Aws::String& outputFilename, |
| 42 | + const Aws::String& buildMode) |
41 | 43 | : m_monitoredOperations(monitoredOperations), |
42 | 44 | m_productId(productId), |
43 | 45 | m_sdkVersion(sdkVersion), |
44 | 46 | m_commitId(commitId), |
45 | | - m_outputFilename(outputFilename) {} |
| 47 | + m_outputFilename(outputFilename), |
| 48 | + m_buildMode(buildMode) {} |
46 | 49 |
|
47 | 50 | JsonReportingMetrics::~JsonReportingMetrics() { DumpJson(); } |
48 | 51 |
|
49 | 52 | JsonReportingMetricsFactory::JsonReportingMetricsFactory(const Aws::Set<Aws::String>& monitoredOperations, const Aws::String& productId, |
50 | 53 | const Aws::String& sdkVersion, const Aws::String& commitId, |
51 | | - const Aws::String& outputFilename) |
| 54 | + const Aws::String& outputFilename, const Aws::String& buildMode) |
52 | 55 | : m_monitoredOperations(monitoredOperations), |
53 | 56 | m_productId(productId), |
54 | 57 | m_sdkVersion(sdkVersion), |
55 | 58 | m_commitId(commitId), |
56 | | - m_outputFilename(outputFilename) {} |
| 59 | + m_outputFilename(outputFilename), |
| 60 | + m_buildMode(buildMode) {} |
57 | 61 |
|
58 | 62 | Aws::UniquePtr<Aws::Monitoring::MonitoringInterface> JsonReportingMetricsFactory::CreateMonitoringInstance() const { |
59 | 63 | return Aws::MakeUnique<JsonReportingMetrics>("JsonReportingMetrics", m_monitoredOperations, m_productId, m_sdkVersion, m_commitId, |
60 | | - m_outputFilename); |
| 64 | + m_outputFilename, m_buildMode); |
61 | 65 | } |
62 | 66 |
|
63 | 67 | void JsonReportingMetrics::StoreLatencyInContext(const Aws::String& serviceName, const Aws::String& requestName, |
@@ -184,8 +188,14 @@ void JsonReportingMetrics::DumpJson() const { |
184 | 188 | jsonMetric.WithInt64("date", record.date.Seconds()); |
185 | 189 |
|
186 | 190 | if (!record.dimensions.empty()) { |
187 | | - Aws::Utils::Array<Aws::Utils::Json::JsonValue> dimensionsArray(record.dimensions.size()); |
| 191 | + Aws::Utils::Array<Aws::Utils::Json::JsonValue> dimensionsArray(record.dimensions.size() + 1); |
188 | 192 | size_t dimensionIndex = 0; |
| 193 | + |
| 194 | + Aws::Utils::Json::JsonValue buildModeDimension; |
| 195 | + buildModeDimension.WithString("name", "build-mode"); |
| 196 | + buildModeDimension.WithString("value", m_buildMode); |
| 197 | + dimensionsArray[dimensionIndex++] = std::move(buildModeDimension); |
| 198 | + |
189 | 199 | for (const auto& dim : record.dimensions) { |
190 | 200 | Aws::Utils::Json::JsonValue dimension; |
191 | 201 | dimension.WithString("name", dim.first); |
|
0 commit comments