summaryrefslogtreecommitdiffstats
path: root/toolkit/components/glean/tests/pytest/gifft_output_Histogram
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 18:35:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 18:35:44 +0000
commitc0db95d3dda1865d4c6bf0666b0e7439b40b9bf2 (patch)
tree74359a4b4954f9380cb0fb23b59f0c53d9355f5d /toolkit/components/glean/tests/pytest/gifft_output_Histogram
parentReleasing progress-linux version 115.9.1esr-1~deb12u1progress7u1. (diff)
downloadfirefox-esr-c0db95d3dda1865d4c6bf0666b0e7439b40b9bf2.tar.xz
firefox-esr-c0db95d3dda1865d4c6bf0666b0e7439b40b9bf2.zip
Merging upstream version 115.10.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/glean/tests/pytest/gifft_output_Histogram')
-rw-r--r--toolkit/components/glean/tests/pytest/gifft_output_Histogram11
1 files changed, 8 insertions, 3 deletions
diff --git a/toolkit/components/glean/tests/pytest/gifft_output_Histogram b/toolkit/components/glean/tests/pytest/gifft_output_Histogram
index b13df96594..f0e4c3d047 100644
--- a/toolkit/components/glean/tests/pytest/gifft_output_Histogram
+++ b/toolkit/components/glean/tests/pytest/gifft_output_Histogram
@@ -28,7 +28,10 @@ using Telemetry::HistogramID;
using MetricId = uint32_t; // Same type as in api/src/private/mod.rs
using TimerId = uint64_t; // Same as in TimingDistribution.h.
-using MetricTimerTuple = std::tuple<MetricId, TimerId>;
+struct MetricTimerTuple {
+ MetricId mMetricId;
+ TimerId mTimerId;
+};
class MetricTimerTupleHashKey : public PLDHashEntryHdr {
public:
using KeyType = const MetricTimerTuple&;
@@ -42,15 +45,17 @@ class MetricTimerTupleHashKey : public PLDHashEntryHdr {
KeyType GetKey() const { return mValue; }
bool KeyEquals(KeyTypePointer aKey) const {
- return std::get<0>(*aKey) == std::get<0>(mValue) && std::get<1>(*aKey) == std::get<1>(mValue);
+ return aKey->mMetricId == mValue.mMetricId &&
+ aKey->mTimerId == mValue.mTimerId;
}
static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; }
static PLDHashNumber HashKey(KeyTypePointer aKey) {
// Chosen because this is how nsIntegralHashKey does it.
- return HashGeneric(std::get<0>(*aKey), std::get<1>(*aKey));
+ return HashGeneric(aKey->mMetricId, aKey->mTimerId);
}
enum { ALLOW_MEMMOVE = true };
+ static_assert(std::is_trivially_copyable_v<MetricTimerTuple>);
private:
const MetricTimerTuple mValue;