void UseCounter::updateMeasurements() { Platform::current()->histogramEnumeration("WebCore.FeatureObserver", PageVisits, NumberOfFeatures); m_countBits.updateMeasurements(); // FIXME: Sometimes this function is called more than once per page. The following // bool guards against incrementing the page count when there are no CSS // bits set. http://crbug.com/236262. bool needsPagesMeasuredUpdate = false; for (int i = firstCSSProperty; i <= lastUnresolvedCSSProperty; ++i) { if (m_CSSFeatureBits.quickGet(i)) { int cssSampleId = mapCSSPropertyIdToCSSSampleIdForHistogram(i); Platform::current()->histogramEnumeration("WebCore.FeatureObserver.CSSProperties", cssSampleId, maximumCSSSampleId()); needsPagesMeasuredUpdate = true; } } if (needsPagesMeasuredUpdate) Platform::current()->histogramEnumeration("WebCore.FeatureObserver.CSSProperties", totalPagesMeasuredCSSSampleId(), maximumCSSSampleId()); m_CSSFeatureBits.clearAll(); }
void UseCounter::updateMeasurements() { featureObserverHistogram().count(PageVisits); m_countBits.updateMeasurements(); // FIXME: Sometimes this function is called more than once per page. The following // bool guards against incrementing the page count when there are no CSS // bits set. https://crbug.com/236262. DEFINE_STATIC_LOCAL(EnumerationHistogram, cssPropertiesHistogram, ("WebCore.FeatureObserver.CSSProperties", maximumCSSSampleId())); bool needsPagesMeasuredUpdate = false; for (int i = firstCSSProperty; i <= lastUnresolvedCSSProperty; ++i) { if (m_CSSFeatureBits.quickGet(i)) { int cssSampleId = mapCSSPropertyIdToCSSSampleIdForHistogram(i); cssPropertiesHistogram.count(cssSampleId); needsPagesMeasuredUpdate = true; } } if (needsPagesMeasuredUpdate) cssPropertiesHistogram.count(totalPagesMeasuredCSSSampleId()); m_CSSFeatureBits.clearAll(); }