Commit 59703d87 authored by David Quiroz Marin's avatar David Quiroz Marin Committed by Commit Bot

Add missing UMA histograms for CanvasResource provider

Change-Id: I0ad5183c8d8af1432dc59504ffb589d7ba799afe
Reviewed-on: https://chromium-review.googlesource.com/c/1327903Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Commit-Queue: David Quiroz Marin <davidqu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606961}
parent 1060490e
......@@ -4,32 +4,22 @@
#include "third_party/blink/renderer/platform/graphics/canvas_resource_provider.h"
#include "base/metrics/histogram_functions.h"
#include "cc/paint/decode_stashing_image_provider.h"
#include "cc/paint/skia_paint_canvas.h"
#include "cc/tiles/software_image_decode_cache.h"
#include "components/viz/common/resources/resource_format_utils.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "gpu/command_buffer/common/capabilities.h"
#include "gpu/command_buffer/common/gpu_memory_buffer_support.h"
#include "gpu/config/gpu_driver_bug_workaround_type.h"
#include "gpu/config/gpu_feature_info.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/canvas_heuristic_parameters.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.h"
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h"
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/skia/include/core/SkColorSpaceXformCanvas.h"
#include "third_party/skia/include/gpu/GrBackendSurface.h"
#include "third_party/skia/include/gpu/GrContext.h"
#include "ui/gfx/gpu_memory_buffer.h"
namespace blink {
void CanvasResourceProvider::RecordTypeToUMA(ResourceProviderType type) {
UMA_HISTOGRAM_ENUMERATION("Blink.Canvas.ResourceProviderType", type);
base::UmaHistogramEnumeration("Blink.Canvas.ResourceProviderType", type);
}
// * Renders to a texture managed by Skia. Mailboxes are backed by vanilla GL
......@@ -158,7 +148,9 @@ class CanvasResourceProviderTextureGpuMemoryBuffer final
color_params,
std::move(context_provider_wrapper),
std::move(resource_dispatcher),
is_origin_top_left) {}
is_origin_top_left) {
RecordTypeToUMA(kTextureGpuMemoryBuffer);
}
~CanvasResourceProviderTextureGpuMemoryBuffer() override = default;
bool SupportsDirectCompositing() const override { return true; }
......@@ -263,7 +255,9 @@ class CanvasResourceProviderBitmapGpuMemoryBuffer final
: CanvasResourceProviderBitmap(size,
color_params,
std::move(context_provider_wrapper),
std::move(resource_dispatcher)) {}
std::move(resource_dispatcher)) {
RecordTypeToUMA(kBitmapGpuMemoryBuffer);
}
~CanvasResourceProviderBitmapGpuMemoryBuffer() override = default;
bool SupportsDirectCompositing() const override { return true; }
......@@ -483,7 +477,7 @@ std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create(
break;
}
if (provider && provider->IsValid()) {
UMA_HISTOGRAM_BOOLEAN("Blink.Canvas.ResourceProviderIsAccelerated",
base::UmaHistogramBoolean("Blink.Canvas.ResourceProviderIsAccelerated",
provider->IsAccelerated());
return provider;
}
......
......@@ -5,20 +5,9 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_CANVAS_RESOURCE_PROVIDER_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_GRAPHICS_CANVAS_RESOURCE_PROVIDER_H_
#include "base/macros.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/optional.h"
#include "cc/paint/skia_paint_canvas.h"
#include "cc/raster/playback_image_provider.h"
#include "services/viz/public/interfaces/compositing/compositor_frame_sink.mojom-blink.h"
#include "third_party/blink/renderer/platform/geometry/int_size.h"
#include "third_party/blink/renderer/platform/graphics/canvas_color_params.h"
#include "third_party/blink/renderer/platform/graphics/canvas_resource.h"
#include "third_party/blink/renderer/platform/graphics/web_graphics_context_3d_provider_wrapper.h"
#include "third_party/blink/renderer/platform/wtf/ref_counted.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
#include "third_party/khronos/GLES2/gl2.h"
#include "third_party/skia/include/core/SkSurface.h"
class GrContext;
......@@ -73,11 +62,15 @@ class PLATFORM_EXPORT CanvasResourceProvider
kAllowImageChromiumPresentationMode // Use CHROMIUM_image gl extension
};
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum ResourceProviderType {
kTexture = 0,
kBitmap = 1,
kSharedBitmap = 2,
kMaxValue = kSharedBitmap,
kTextureGpuMemoryBuffer = 3,
kBitmapGpuMemoryBuffer = 4,
kMaxValue = kBitmapGpuMemoryBuffer,
};
void static RecordTypeToUMA(ResourceProviderType type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment