diff --git a/components/sync/driver/glue/sync_backend_host_core.cc b/components/sync/driver/glue/sync_backend_host_core.cc index ccf1e3ac6fe178..ae71dd54191bf5 100644 --- a/components/sync/driver/glue/sync_backend_host_core.cc +++ b/components/sync/driver/glue/sync_backend_host_core.cc @@ -51,13 +51,13 @@ void BindFetcherToDataTracker(net::URLFetcher* fetcher) { fetcher, data_use_measurement::DataUseUserData::SYNC); } -void RecordPerModelTypeInvalidation(int model_type, int number_of_ids) { +void RecordPerModelTypeInvalidation(int model_type, bool is_grouped) { UMA_HISTOGRAM_ENUMERATION("Sync.InvalidationPerModelType", model_type, static_cast(syncer::MODEL_TYPE_COUNT)); - if (number_of_ids == 1) { + if (!is_grouped) { // When recording metrics it's important to distinguish between - // many/one case, since "many" case is only common in the deprecated - // implementation. + // many/one case, since "many" aka grouped case is only common in + // the deprecated implementation. UMA_HISTOGRAM_ENUMERATION("Sync.NonGroupedInvalidation", model_type, static_cast(syncer::MODEL_TYPE_COUNT)); } @@ -266,7 +266,8 @@ void SyncBackendHostCore::DoOnIncomingInvalidation( ModelTypeToHistogramInt(type), static_cast(MODEL_TYPE_COUNT)); - RecordPerModelTypeInvalidation(ModelTypeToHistogramInt(type), ids.size()); + bool is_grouped = (ids.size() != 1); + RecordPerModelTypeInvalidation(ModelTypeToHistogramInt(type), is_grouped); SingleObjectInvalidationSet invalidation_set = invalidation_map.ForObject(object_id); for (Invalidation invalidation : invalidation_set) { @@ -280,6 +281,11 @@ void SyncBackendHostCore::DoOnIncomingInvalidation( << last_invalidation->second; continue; } + if (!is_grouped && !invalidation.is_unknown_version()) { + UMA_HISTOGRAM_ENUMERATION("Sync.NonGroupedInvalidationKnownVersion", + ModelTypeToHistogramInt(type), + static_cast(MODEL_TYPE_COUNT)); + } std::unique_ptr inv_adapter( new InvalidationAdapter(invalidation)); sync_manager_->OnIncomingInvalidation(type, std::move(inv_adapter)); diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 54bbae05bb49ce..e849d93b8bde35 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -112883,6 +112883,15 @@ uploading your change for review. + + melandory@chromium.org + + The sync datatype of the recieved invalidation. Recorded only for the + invalidations with known version and recieved not in a group. + + + Deprecated in M66.