Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Unified Diff: components/ukm/debug_page/debug_page.cc

Issue 2858683006: UKM debug page (Closed)
Patch Set: Seperate BUILD file Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/ukm/debug_page/debug_page.h ('k') | components/ukm/ukm_service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/ukm/debug_page/debug_page.cc
diff --git a/components/ukm/debug_page/debug_page.cc b/components/ukm/debug_page/debug_page.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c3fb9e8d881afbac2fc178ae8714cfffc74c931a
--- /dev/null
+++ b/components/ukm/debug_page/debug_page.cc
@@ -0,0 +1,85 @@
+// Copyright (c) 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/ukm/debug_page/debug_page.h"
+
+#include <inttypes.h>
+
+#include "base/memory/ref_counted_memory.h"
+#include "base/strings/stringprintf.h"
+#include "components/ukm/ukm_entry.h"
+#include "components/ukm/ukm_service.h"
+#include "components/ukm/ukm_source.h"
+#include "url/gurl.h"
+
+namespace ukm {
+namespace debug {
+
+DebugPage::DebugPage(ServiceGetter service_getter)
+ : service_getter_(service_getter) {}
+
+DebugPage::~DebugPage() {}
+
+std::string DebugPage::GetSource() const {
+ return "ukm";
+}
+
+std::string DebugPage::GetMimeType(const std::string& path) const {
+ return "text/html";
+}
+
+void DebugPage::StartDataRequest(
+ const std::string& path,
+ const content::ResourceRequestInfo::WebContentsGetter& wc_getter,
+ const content::URLDataSource::GotDataCallback& callback) {
+ std::string data;
+ data.append(R"""(<!DOCTYPE html>
+ <html>
+ <head>
+ <meta http-equiv="Content-Security-Policy"
+ content="object-src 'none'; script-src 'none'">
+ <title>UKM Debug</title>
+ </head>
+ <body>
+ <h1>UKM Debug page</h1>
+ )""");
+ UkmService* ukm_service = service_getter_.Run();
+ if (ukm_service) {
+ data.append(
+ base::StringPrintf("<p>IsEnabled:%s</p>",
+ ukm_service->recording_enabled_ ? "True" : "False"));
+ data.append(base::StringPrintf("<p>ClientId:%" PRIu64 "</p>",
+ ukm_service->client_id_));
+ data.append(
+ base::StringPrintf("<p>SessionId:%d</p>", ukm_service->session_id_));
+
+ data.append("<h2>Sources</h2>");
+ for (const auto& kv : ukm_service->sources_) {
+ const auto* src = kv.second.get();
+ data.append(base::StringPrintf("<p>Id:%d Url:%s</p>", src->id(),
+ src->url().spec().c_str()));
+ }
+
+ data.append("<h2>Entries</h2>");
+ for (const auto& v : ukm_service->entries_) {
+ const auto* entry = v.get();
+ data.append(base::StringPrintf("<h3>Id:%d Hash:%" PRIu64 "</h3>",
+ entry->source_id(), entry->event_hash()));
+ }
+ }
+
+ data.append(R"""(
+ </body>
+ </html>
+ )""");
+
+ callback.Run(base::RefCountedString::TakeString(&data));
+}
+
+bool DebugPage::AllowCaching() const {
+ return false;
+}
+
+} // namespace debug
+} // namespace ukm
« no previous file with comments | « components/ukm/debug_page/debug_page.h ('k') | components/ukm/ukm_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698