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

Unified Diff: third_party/WebKit/Source/platform/instrumentation/inspector/PlatformInspectorTraceEvents.cpp

Issue 2706643002: DevTools: Move network request instrumentation points for timeline down the stack. (Closed)
Patch Set: addressing comment Created 3 years, 10 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
Index: third_party/WebKit/Source/platform/instrumentation/inspector/PlatformInspectorTraceEvents.cpp
diff --git a/third_party/WebKit/Source/platform/instrumentation/inspector/PlatformInspectorTraceEvents.cpp b/third_party/WebKit/Source/platform/instrumentation/inspector/PlatformInspectorTraceEvents.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..33fa4fd075117dc21a1ee2ac9f15237f99320099
--- /dev/null
+++ b/third_party/WebKit/Source/platform/instrumentation/inspector/PlatformInspectorTraceEvents.cpp
@@ -0,0 +1,93 @@
+// Copyright 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 "platform/instrumentation/inspector/PlatformInspectorTraceEvents.h"
+
+#include "platform/instrumentation/inspector/PlatformIdentifiersFactory.h"
+#include "platform/network/ResourceResponse.h"
+
+namespace blink {
+
+namespace {
+void recordTiming(const ResourceLoadTiming& timing, TracedValue* value) {
+ value->setDouble("requestTime", timing.requestTime());
+ value->setDouble("proxyStart",
+ timing.calculateMillisecondDelta(timing.proxyStart()));
+ value->setDouble("proxyEnd",
+ timing.calculateMillisecondDelta(timing.proxyEnd()));
+ value->setDouble("dnsStart",
+ timing.calculateMillisecondDelta(timing.dnsStart()));
+ value->setDouble("dnsEnd", timing.calculateMillisecondDelta(timing.dnsEnd()));
+ value->setDouble("connectStart",
+ timing.calculateMillisecondDelta(timing.connectStart()));
+ value->setDouble("connectEnd",
+ timing.calculateMillisecondDelta(timing.connectEnd()));
+ value->setDouble("sslStart",
+ timing.calculateMillisecondDelta(timing.sslStart()));
+ value->setDouble("sslEnd", timing.calculateMillisecondDelta(timing.sslEnd()));
+ value->setDouble("workerStart",
+ timing.calculateMillisecondDelta(timing.workerStart()));
+ value->setDouble("workerReady",
+ timing.calculateMillisecondDelta(timing.workerReady()));
+ value->setDouble("sendStart",
+ timing.calculateMillisecondDelta(timing.sendStart()));
+ value->setDouble("sendEnd",
+ timing.calculateMillisecondDelta(timing.sendEnd()));
+ value->setDouble("receiveHeadersEnd", timing.calculateMillisecondDelta(
+ timing.receiveHeadersEnd()));
+ value->setDouble("pushStart", timing.pushStart());
+ value->setDouble("pushEnd", timing.pushEnd());
+}
+} // namespace
+
+std::unique_ptr<TracedValue> InspectorReceiveResponseEvent::data(
+ unsigned long identifier,
+ const ResourceResponse& response) {
+ String requestId = PlatformIdentifiersFactory::requestId(identifier);
+
+ std::unique_ptr<TracedValue> value = TracedValue::create();
+ value->setString("requestId", requestId);
+ value->setInteger("statusCode", response.httpStatusCode());
+ value->setString("mimeType", response.mimeType().getString().isolatedCopy());
+ value->setDouble("encodedDataLength", response.encodedDataLength());
+ value->setBoolean("fromCache", response.wasCached());
+ value->setBoolean("fromServiceWorker", response.wasFetchedViaServiceWorker());
+ if (response.resourceLoadTiming()) {
+ value->beginDictionary("timing");
+ recordTiming(*response.resourceLoadTiming(), value.get());
+ value->endDictionary();
+ }
+ if (response.wasFetchedViaServiceWorker())
+ value->setBoolean("fromServiceWorker", true);
+ return value;
+}
+
+std::unique_ptr<TracedValue> InspectorReceiveDataEvent::data(
+ unsigned long identifier,
+ int encodedDataLength) {
+ String requestId = PlatformIdentifiersFactory::requestId(identifier);
+
+ std::unique_ptr<TracedValue> value = TracedValue::create();
+ value->setString("requestId", requestId);
+ value->setInteger("encodedDataLength", encodedDataLength);
+ return value;
+}
+
+std::unique_ptr<TracedValue> InspectorResourceFinishEvent::data(
+ unsigned long identifier,
+ double finishTime,
+ bool didFail,
+ int64_t encodedDataLength) {
+ String requestId = PlatformIdentifiersFactory::requestId(identifier);
caseq 2017/02/21 22:53:30 Let's avoid doing this -- perhaps use the original
alph 2017/02/22 00:31:32 Done.
+
+ std::unique_ptr<TracedValue> value = TracedValue::create();
+ value->setString("requestId", requestId);
+ value->setBoolean("didFail", didFail);
+ value->setDouble("encodedDataLength", encodedDataLength);
+ if (finishTime)
+ value->setDouble("finishTime", finishTime);
+ return value;
+}
+
+} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698