// -*- mode: C++ -*- /* This file is auto-generated by run_glean_parser.py. It is only for internal use by types in toolkit/components/glean/bindings/private */ #include "mozilla/Maybe.h" #include "mozilla/Telemetry.h" #include "mozilla/DataMutex.h" #ifndef mozilla_glean_HistogramGifftMap_h #define mozilla_glean_HistogramGifftMap_h namespace mozilla::glean { using Telemetry::HistogramID; typedef uint64_t TimerId; // Same as in TimingDistribution.h. typedef StaticDataMutex>> TimerToStampMutex; static inline TimerToStampMutex::AutoLock GetTimerIdToStartsLock() { static TimerToStampMutex sTimerIdToStarts("sTimerIdToStarts"); auto lock = sTimerIdToStarts.Lock(); if (!*lock) { *lock = MakeUnique>(); } return lock; } static Maybe HistogramIdForMetric(uint32_t aId) { switch(aId) { case 12: { // test.timing_distribution_metric return Some(HistogramID::SOME_TIME_HISTOGRAM_MS); } case 13: { // test.memory_distribution_metric return Some(HistogramID::SOME_MEM_HISTOGRAM_KB); } default: { return Nothing(); } } } } // namespace mozilla::glean #endif // mozilla_glean_HistogramGifftMaps_h