de-Sk tools/trace

Kept it on SkDebugfTracer, which seemed to parse as "SkDebugf, Tracer".

Change-Id: I3e43fe101798ca5ffe14324e3c29f2dd41a6bd0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202317
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index 5590366..f37d44a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1582,12 +1582,12 @@
       "tools/random_parse_path.cpp",
       "tools/timer/AnimTimer.h",
       "tools/timer/Timer.cpp",
-      "tools/trace/SkChromeTracingTracer.cpp",
-      "tools/trace/SkChromeTracingTracer.h",
+      "tools/trace/ChromeTracingTracer.cpp",
+      "tools/trace/ChromeTracingTracer.h",
       "tools/trace/SkDebugfTracer.cpp",
       "tools/trace/SkDebugfTracer.h",
-      "tools/trace/SkEventTracingPriv.cpp",
-      "tools/trace/SkEventTracingPriv.h",
+      "tools/trace/EventTracingPriv.cpp",
+      "tools/trace/EventTracingPriv.h",
     ]
     libs = []
     if (is_ios) {
diff --git a/bench/nanobench.cpp b/bench/nanobench.cpp
index ebfb50b..82ce79b 100644
--- a/bench/nanobench.cpp
+++ b/bench/nanobench.cpp
@@ -18,6 +18,7 @@
 #include "CommonFlagsConfig.h"
 #include "CommonFlagsGpu.h"
 #include "CrashHandler.h"
+#include "EventTracingPriv.h"
 #include "GMBench.h"
 #include "ProcStats.h"
 #include "RecordingBench.h"
@@ -33,7 +34,6 @@
 #include "SkColorSpacePriv.h"
 #include "SkData.h"
 #include "SkDebugfTracer.h"
-#include "SkEventTracingPriv.h"
 #include "SkGraphics.h"
 #include "SkJSONWriter.h"
 #include "SkLeanWindows.h"
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 8ca0de9..7df4e13 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -5,16 +5,17 @@
  * found in the LICENSE file.
  */
 
+#include "ChromeTracingTracer.h"
 #include "CommonFlags.h"
 #include "CommonFlagsConfig.h"
 #include "CommonFlagsGpu.h"
 #include "DMJsonWriter.h"
 #include "DMSrcSink.h"
+#include "EventTracingPriv.h"
 #include "ProcStats.h"
 #include "Resources.h"
 #include "SkBBHFactory.h"
 #include "SkChecksum.h"
-#include "SkChromeTracingTracer.h"
 #include "SkCodec.h"
 #include "SkColorPriv.h"
 #include "SkColorSpace.h"
@@ -22,7 +23,6 @@
 #include "SkData.h"
 #include "SkDebugfTracer.h"
 #include "SkDocument.h"
-#include "SkEventTracingPriv.h"
 #include "SkFontMgr.h"
 #include "SkFontMgrPriv.h"
 #include "SkGraphics.h"
diff --git a/tools/trace/SkChromeTracingTracer.cpp b/tools/trace/ChromeTracingTracer.cpp
similarity index 65%
rename from tools/trace/SkChromeTracingTracer.cpp
rename to tools/trace/ChromeTracingTracer.cpp
index f1f201f..a6e84e4 100644
--- a/tools/trace/SkChromeTracingTracer.cpp
+++ b/tools/trace/ChromeTracingTracer.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkChromeTracingTracer.h"
+#include "ChromeTracingTracer.h"
 #include "SkJSONWriter.h"
-#include "SkThreadID.h"
-#include "SkTraceEvent.h"
 #include "SkOSFile.h"
 #include "SkOSPath.h"
 #include "SkStream.h"
+#include "SkThreadID.h"
+#include "SkTraceEvent.h"
 
 #include <chrono>
 
@@ -22,53 +22,47 @@
  * {TraceEvent} {TraceEventArgs} {Inline Payload}
  */
 struct TraceEventArg {
-    uint8_t fArgType;
+    uint8_t     fArgType;
     const char* fArgName;
-    uint64_t fArgValue;
+    uint64_t    fArgValue;
 };
 
 // These fields are ordered to minimize size due to alignment. Argument types could be packed
 // better, but very few events have many arguments, so the net loss is pretty small.
 struct TraceEvent {
-    char fPhase;
-    uint8_t fNumArgs;
+    char     fPhase;
+    uint8_t  fNumArgs;
     uint32_t fSize;
 
     const char* fName;
     // TODO: Merge fID and fClockEnd (never used together)
-    uint64_t fID;
-    uint64_t fClockBegin;
-    uint64_t fClockEnd;
+    uint64_t   fID;
+    uint64_t   fClockBegin;
+    uint64_t   fClockEnd;
     SkThreadID fThreadID;
 
     TraceEvent* next() {
         return reinterpret_cast<TraceEvent*>(reinterpret_cast<char*>(this) + fSize);
     }
-    TraceEventArg* args() {
-        return reinterpret_cast<TraceEventArg*>(this + 1);
-    }
-    char* stringTable() {
-        return reinterpret_cast<char*>(this->args() + fNumArgs);
-    }
+    TraceEventArg* args() { return reinterpret_cast<TraceEventArg*>(this + 1); }
+    char*          stringTable() { return reinterpret_cast<char*>(this->args() + fNumArgs); }
 };
 
-}
+}  // namespace
 
-SkChromeTracingTracer::SkChromeTracingTracer(const char* filename) : fFilename(filename) {
+ChromeTracingTracer::ChromeTracingTracer(const char* filename) : fFilename(filename) {
     this->createBlock();
 }
 
-SkChromeTracingTracer::~SkChromeTracingTracer() {
-    this->flush();
-}
+ChromeTracingTracer::~ChromeTracingTracer() { this->flush(); }
 
-void SkChromeTracingTracer::createBlock() {
-    fCurBlock.fBlock = BlockPtr(new uint8_t[kBlockSize]);
+void ChromeTracingTracer::createBlock() {
+    fCurBlock.fBlock         = BlockPtr(new uint8_t[kBlockSize]);
     fCurBlock.fEventsInBlock = 0;
-    fCurBlockUsed = 0;
+    fCurBlockUsed            = 0;
 }
 
-SkEventTracer::Handle SkChromeTracingTracer::appendEvent(const void* data, size_t size) {
+SkEventTracer::Handle ChromeTracingTracer::appendEvent(const void* data, size_t size) {
     SkASSERT(size > 0 && size <= kBlockSize);
 
     SkAutoMutexAcquire lock(fMutex);
@@ -83,15 +77,15 @@
     return handle;
 }
 
-SkEventTracer::Handle SkChromeTracingTracer::addTraceEvent(char phase,
-                                                           const uint8_t* categoryEnabledFlag,
-                                                           const char* name,
-                                                           uint64_t id,
-                                                           int numArgs,
-                                                           const char** argNames,
-                                                           const uint8_t* argTypes,
-                                                           const uint64_t* argValues,
-                                                           uint8_t flags) {
+SkEventTracer::Handle ChromeTracingTracer::addTraceEvent(char            phase,
+                                                         const uint8_t*  categoryEnabledFlag,
+                                                         const char*     name,
+                                                         uint64_t        id,
+                                                         int             numArgs,
+                                                         const char**    argNames,
+                                                         const uint8_t*  argTypes,
+                                                         const uint64_t* argValues,
+                                                         uint8_t         flags) {
     // TODO: Respect flags (or assert). INSTANT events encode scope in flags, should be stored
     // using "s" key in JSON. COPY flag should be supported or rejected.
 
@@ -108,27 +102,27 @@
     size = SkAlign8(size);
 
     SkSTArray<128, uint8_t, true> storage;
-    uint8_t* storagePtr = storage.push_back_n(size);
+    uint8_t*                      storagePtr = storage.push_back_n(size);
 
-    TraceEvent* traceEvent = reinterpret_cast<TraceEvent*>(storagePtr);
-    traceEvent->fPhase = phase;
-    traceEvent->fNumArgs = numArgs;
-    traceEvent->fSize = size;
-    traceEvent->fName = name;
-    traceEvent->fID = id;
+    TraceEvent* traceEvent  = reinterpret_cast<TraceEvent*>(storagePtr);
+    traceEvent->fPhase      = phase;
+    traceEvent->fNumArgs    = numArgs;
+    traceEvent->fSize       = size;
+    traceEvent->fName       = name;
+    traceEvent->fID         = id;
     traceEvent->fClockBegin = std::chrono::steady_clock::now().time_since_epoch().count();
-    traceEvent->fClockEnd = 0;
-    traceEvent->fThreadID = SkGetThreadID();
+    traceEvent->fClockEnd   = 0;
+    traceEvent->fThreadID   = SkGetThreadID();
 
-    TraceEventArg* traceEventArgs = traceEvent->args();
-    char* stringTableBase = traceEvent->stringTable();
-    char* stringTable = stringTableBase;
+    TraceEventArg* traceEventArgs  = traceEvent->args();
+    char*          stringTableBase = traceEvent->stringTable();
+    char*          stringTable     = stringTableBase;
     for (int i = 0; i < numArgs; ++i) {
         traceEventArgs[i].fArgName = argNames[i];
         traceEventArgs[i].fArgType = argTypes[i];
         if (TRACE_VALUE_TYPE_COPY_STRING == argTypes[i]) {
             // Just write an offset into the arguments array
-            traceEventArgs[i].fArgValue = stringTable  - stringTableBase;
+            traceEventArgs[i].fArgValue = stringTable - stringTableBase;
 
             // Copy string into our buffer (and advance)
             skia::tracing_internals::TraceValueUnion value;
@@ -145,45 +139,33 @@
     return this->appendEvent(storagePtr, size);
 }
 
-void SkChromeTracingTracer::updateTraceEventDuration(const uint8_t* categoryEnabledFlag,
-                                                     const char* name,
-                                                     SkEventTracer::Handle handle) {
+void ChromeTracingTracer::updateTraceEventDuration(const uint8_t*        categoryEnabledFlag,
+                                                   const char*           name,
+                                                   SkEventTracer::Handle handle) {
     // We could probably get away with not locking here, but let's be totally safe.
     SkAutoMutexAcquire lock(fMutex);
-    TraceEvent* traceEvent = reinterpret_cast<TraceEvent*>(handle);
-    traceEvent->fClockEnd = std::chrono::steady_clock::now().time_since_epoch().count();
+    TraceEvent*        traceEvent = reinterpret_cast<TraceEvent*>(handle);
+    traceEvent->fClockEnd         = std::chrono::steady_clock::now().time_since_epoch().count();
 }
 
-static void trace_value_to_json(SkJSONWriter* writer, uint64_t argValue, uint8_t argType,
-                                const char* stringTableBase) {
+static void trace_value_to_json(SkJSONWriter* writer,
+                                uint64_t      argValue,
+                                uint8_t       argType,
+                                const char*   stringTableBase) {
     skia::tracing_internals::TraceValueUnion value;
     value.as_uint = argValue;
 
     switch (argType) {
-        case TRACE_VALUE_TYPE_BOOL:
-            writer->appendBool(value.as_bool);
-            break;
-        case TRACE_VALUE_TYPE_UINT:
-            writer->appendU64(value.as_uint);
-            break;
-        case TRACE_VALUE_TYPE_INT:
-            writer->appendS64(value.as_int);
-            break;
-        case TRACE_VALUE_TYPE_DOUBLE:
-            writer->appendDouble(value.as_double);
-            break;
-        case TRACE_VALUE_TYPE_POINTER:
-            writer->appendPointer(value.as_pointer);
-            break;
-        case TRACE_VALUE_TYPE_STRING:
-            writer->appendString(value.as_string);
-            break;
+        case TRACE_VALUE_TYPE_BOOL: writer->appendBool(value.as_bool); break;
+        case TRACE_VALUE_TYPE_UINT: writer->appendU64(value.as_uint); break;
+        case TRACE_VALUE_TYPE_INT: writer->appendS64(value.as_int); break;
+        case TRACE_VALUE_TYPE_DOUBLE: writer->appendDouble(value.as_double); break;
+        case TRACE_VALUE_TYPE_POINTER: writer->appendPointer(value.as_pointer); break;
+        case TRACE_VALUE_TYPE_STRING: writer->appendString(value.as_string); break;
         case TRACE_VALUE_TYPE_COPY_STRING:
             writer->appendString(stringTableBase + value.as_uint);
             break;
-        default:
-            writer->appendString("<unknown type>");
-            break;
+        default: writer->appendString("<unknown type>"); break;
     }
 }
 
@@ -202,15 +184,16 @@
         return shortID;
     }
 
-    uint64_t fClockOffset;
+    uint64_t                          fClockOffset;
     SkTHashMap<uint64_t, const char*> fBaseTypeResolver;
-    int fNextThreadID;
-    SkTHashMap<SkThreadID, int> fShortThreadIDMap;
+    int                               fNextThreadID;
+    SkTHashMap<SkThreadID, int>       fShortThreadIDMap;
 };
 
-}
+}  // namespace
 
-static void trace_event_to_json(SkJSONWriter* writer, TraceEvent* traceEvent,
+static void trace_event_to_json(SkJSONWriter*                 writer,
+                                TraceEvent*                   traceEvent,
                                 TraceEventSerializationState* serializationState) {
     // We track the original (creation time) "name" of each currently live object, so we can
     // automatically insert "base_name" fields in object snapshot events.
@@ -225,7 +208,7 @@
 
     writer->beginObject();
 
-    char phaseString[2] = { traceEvent->fPhase, 0 };
+    char phaseString[2] = {traceEvent->fPhase, 0};
     writer->appendString("ph", phaseString);
     writer->appendString("name", traceEvent->fName);
     if (0 != traceEvent->fID) {
@@ -235,8 +218,8 @@
 
     // Offset timestamps to reduce JSON length, then convert nanoseconds to microseconds
     // (standard time unit for tracing JSON files).
-    uint64_t relativeTimestamp = static_cast<int64_t>(traceEvent->fClockBegin -
-                                                      serializationState->fClockOffset);
+    uint64_t relativeTimestamp =
+            static_cast<int64_t>(traceEvent->fClockBegin - serializationState->fClockOffset);
     writer->appendDoubleDigits("ts", static_cast<double>(relativeTimestamp) * 1E-3, 3);
     if (0 != traceEvent->fClockEnd) {
         double dur = static_cast<double>(traceEvent->fClockEnd - traceEvent->fClockBegin) * 1E-3;
@@ -250,11 +233,11 @@
 
     if (traceEvent->fNumArgs) {
         writer->beginObject("args");
-        const char* stringTable = traceEvent->stringTable();
-        bool addedSnapshot = false;
+        const char* stringTable   = traceEvent->stringTable();
+        bool        addedSnapshot = false;
         if (TRACE_EVENT_PHASE_SNAPSHOT_OBJECT == traceEvent->fPhase &&
-                baseTypeResolver->find(traceEvent->fID) &&
-                0 != strcmp(*baseTypeResolver->find(traceEvent->fID), traceEvent->fName)) {
+            baseTypeResolver->find(traceEvent->fID) &&
+            0 != strcmp(*baseTypeResolver->find(traceEvent->fID), traceEvent->fName)) {
             // Special handling for snapshots where the name differs from creation.
             writer->beginObject("snapshot");
             writer->appendString("base_type", *baseTypeResolver->find(traceEvent->fID));
@@ -286,7 +269,7 @@
     writer->endObject();
 }
 
-void SkChromeTracingTracer::flush() {
+void ChromeTracingTracer::flush() {
     SkAutoMutexAcquire lock(fMutex);
 
     SkString dirname = SkOSPath::Dirname(fFilename.c_str());
@@ -297,7 +280,7 @@
     }
 
     SkFILEWStream fileStream(fFilename.c_str());
-    SkJSONWriter writer(&fileStream, SkJSONWriter::Mode::kFast);
+    SkJSONWriter  writer(&fileStream, SkJSONWriter::Mode::kFast);
     writer.beginArray();
 
     uint64_t clockOffset = 0;
@@ -309,7 +292,8 @@
 
     TraceEventSerializationState serializationState(clockOffset);
 
-    auto event_block_to_json = [](SkJSONWriter* writer, const TraceEventBlock& block,
+    auto event_block_to_json = [](SkJSONWriter*                 writer,
+                                  const TraceEventBlock&        block,
                                   TraceEventSerializationState* serializationState) {
         TraceEvent* traceEvent = reinterpret_cast<TraceEvent*>(block.fBlock.get());
         for (int i = 0; i < block.fEventsInBlock; ++i) {
diff --git a/tools/trace/ChromeTracingTracer.h b/tools/trace/ChromeTracingTracer.h
new file mode 100644
index 0000000..266409d
--- /dev/null
+++ b/tools/trace/ChromeTracingTracer.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2017 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef ChromeTracingTracer_DEFINED
+#define ChromeTracingTracer_DEFINED
+
+#include "EventTracingPriv.h"
+#include "SkEventTracer.h"
+#include "SkSpinlock.h"
+#include "SkString.h"
+#include "SkTHash.h"
+
+class SkJSONWriter;
+
+/**
+ * A SkEventTracer implementation that logs events to JSON for viewing with chrome://tracing.
+ */
+class ChromeTracingTracer : public SkEventTracer {
+public:
+    ChromeTracingTracer(const char* filename);
+    ~ChromeTracingTracer() override;
+
+    SkEventTracer::Handle addTraceEvent(char            phase,
+                                        const uint8_t*  categoryEnabledFlag,
+                                        const char*     name,
+                                        uint64_t        id,
+                                        int             numArgs,
+                                        const char**    argNames,
+                                        const uint8_t*  argTypes,
+                                        const uint64_t* argValues,
+                                        uint8_t         flags) override;
+
+    void updateTraceEventDuration(const uint8_t*        categoryEnabledFlag,
+                                  const char*           name,
+                                  SkEventTracer::Handle handle) override;
+
+    const uint8_t* getCategoryGroupEnabled(const char* name) override {
+        return fCategories.getCategoryGroupEnabled(name);
+    }
+
+    const char* getCategoryGroupName(const uint8_t* categoryEnabledFlag) override {
+        return fCategories.getCategoryGroupName(categoryEnabledFlag);
+    }
+
+private:
+    void flush();
+
+    enum {
+        // Events are variable size, but most commonly 48 bytes, assuming 64-bit pointers and
+        // reasonable packing. This is a first guess at a number that balances memory usage vs.
+        // time overhead of allocating blocks.
+        kBlockSize = 512 * 1024,
+    };
+
+    typedef std::unique_ptr<uint8_t[]> BlockPtr;
+    struct TraceEventBlock {
+        BlockPtr fBlock;
+        int      fEventsInBlock;
+    };
+
+    void createBlock();
+
+    Handle appendEvent(const void* data, size_t size);
+
+    SkString                 fFilename;
+    SkSpinlock               fMutex;
+    SkEventTracingCategories fCategories;
+
+    TraceEventBlock fCurBlock;
+    size_t          fCurBlockUsed;
+
+    SkTArray<TraceEventBlock> fBlocks;
+};
+
+#endif
diff --git a/tools/trace/SkEventTracingPriv.cpp b/tools/trace/EventTracingPriv.cpp
similarity index 93%
rename from tools/trace/SkEventTracingPriv.cpp
rename to tools/trace/EventTracingPriv.cpp
index 8452ad9..7c79f12 100644
--- a/tools/trace/SkEventTracingPriv.cpp
+++ b/tools/trace/EventTracingPriv.cpp
@@ -5,16 +5,17 @@
  * found in the LICENSE file.
  */
 
-#include "SkEventTracingPriv.h"
+#include "EventTracingPriv.h"
 
+#include "ChromeTracingTracer.h"
 #include "CommandLineFlags.h"
 #include "SkATrace.h"
-#include "SkChromeTracingTracer.h"
 #include "SkDebugfTracer.h"
 #include "SkEventTracer.h"
 #include "SkTraceEvent.h"
 
-DEFINE_string(trace, "",
+DEFINE_string(trace,
+              "",
               "Log trace events in one of several modes:\n"
               "  debugf     : Show events using SkDebugf\n"
               "  atrace     : Send events to Android ATrace\n"
@@ -22,7 +23,8 @@
               "               trace events to specified file as JSON, for viewing\n"
               "               with chrome://tracing");
 
-DEFINE_string(traceMatch, "",
+DEFINE_string(traceMatch,
+              "",
               "Filter which categories are traced.\n"
               "Uses same format as --match\n");
 
@@ -40,7 +42,7 @@
     } else if (0 == strcmp(traceFlag, "debugf")) {
         eventTracer = new SkDebugfTracer();
     } else {
-        eventTracer = new SkChromeTracingTracer(traceFlag);
+        eventTracer = new ChromeTracingTracer(traceFlag);
     }
 
     SkAssertResult(SkEventTracer::SetInstance(eventTracer));
diff --git a/tools/trace/SkEventTracingPriv.h b/tools/trace/EventTracingPriv.h
similarity index 78%
rename from tools/trace/SkEventTracingPriv.h
rename to tools/trace/EventTracingPriv.h
index fb7b2f3..6485dc9 100644
--- a/tools/trace/SkEventTracingPriv.h
+++ b/tools/trace/EventTracingPriv.h
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#ifndef SkEventTracingPriv_DEFINED
-#define SkEventTracingPriv_DEFINED
+#ifndef EventTracingPriv_DEFINED
+#define EventTracingPriv_DEFINED
 
 #include "SkMutex.h"
 
@@ -23,20 +23,20 @@
 public:
     SkEventTracingCategories() : fNumCategories(0) {}
 
-    uint8_t* getCategoryGroupEnabled(const char* name);
+    uint8_t*    getCategoryGroupEnabled(const char* name);
     const char* getCategoryGroupName(const uint8_t* categoryEnabledFlag);
 
 private:
     enum { kMaxCategories = 256 };
 
     struct CategoryState {
-        uint8_t fEnabled;
+        uint8_t     fEnabled;
         const char* fName;
     };
 
     CategoryState fCategories[kMaxCategories];
-    int fNumCategories;
-    SkMutex fMutex;
+    int           fNumCategories;
+    SkMutex       fMutex;
 };
 
 #endif
diff --git a/tools/trace/SkChromeTracingTracer.h b/tools/trace/SkChromeTracingTracer.h
deleted file mode 100644
index a9e0966..0000000
--- a/tools/trace/SkChromeTracingTracer.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkChromeTracingTracer_DEFINED
-#define SkChromeTracingTracer_DEFINED
-
-#include "SkEventTracer.h"
-#include "SkEventTracingPriv.h"
-#include "SkSpinlock.h"
-#include "SkString.h"
-#include "SkTHash.h"
-
-class SkJSONWriter;
-
-/**
- * A SkEventTracer implementation that logs events to JSON for viewing with chrome://tracing.
- */
-class SkChromeTracingTracer : public SkEventTracer {
-public:
-    SkChromeTracingTracer(const char* filename);
-    ~SkChromeTracingTracer() override;
-
-    SkEventTracer::Handle addTraceEvent(char phase,
-                                        const uint8_t* categoryEnabledFlag,
-                                        const char* name,
-                                        uint64_t id,
-                                        int numArgs,
-                                        const char** argNames,
-                                        const uint8_t* argTypes,
-                                        const uint64_t* argValues,
-                                        uint8_t flags) override;
-
-    void updateTraceEventDuration(const uint8_t* categoryEnabledFlag,
-                                  const char* name,
-                                  SkEventTracer::Handle handle) override;
-
-    const uint8_t* getCategoryGroupEnabled(const char* name) override {
-        return fCategories.getCategoryGroupEnabled(name);
-    }
-
-    const char* getCategoryGroupName(const uint8_t* categoryEnabledFlag) override {
-        return fCategories.getCategoryGroupName(categoryEnabledFlag);
-    }
-
-private:
-    void flush();
-
-    enum {
-        // Events are variable size, but most commonly 48 bytes, assuming 64-bit pointers and
-        // reasonable packing. This is a first guess at a number that balances memory usage vs.
-        // time overhead of allocating blocks.
-        kBlockSize = 512 * 1024,
-    };
-
-    typedef std::unique_ptr<uint8_t[]> BlockPtr;
-    struct TraceEventBlock {
-        BlockPtr fBlock;
-        int fEventsInBlock;
-    };
-
-    void createBlock();
-
-    Handle appendEvent(const void* data, size_t size);
-
-    SkString fFilename;
-    SkSpinlock fMutex;
-    SkEventTracingCategories fCategories;
-
-    TraceEventBlock fCurBlock;
-    size_t fCurBlockUsed;
-
-    SkTArray<TraceEventBlock> fBlocks;
-};
-
-#endif
diff --git a/tools/trace/SkDebugfTracer.h b/tools/trace/SkDebugfTracer.h
index ca049d7..9d8753f 100644
--- a/tools/trace/SkDebugfTracer.h
+++ b/tools/trace/SkDebugfTracer.h
@@ -8,8 +8,8 @@
 #ifndef SkDebugfTracer_DEFINED
 #define SkDebugfTracer_DEFINED
 
+#include "EventTracingPriv.h"
 #include "SkEventTracer.h"
-#include "SkEventTracingPriv.h"
 #include "SkString.h"
 
 /**
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index e3c6124..68eaee9 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -10,6 +10,7 @@
 #include "CommandLineFlags.h"
 #include "CommonFlags.h"
 #include "CommonFlagsGpu.h"
+#include "EventTracingPriv.h"
 #include "GMSlide.h"
 #include "GrContext.h"
 #include "GrContextPriv.h"
@@ -20,7 +21,6 @@
 #include "SampleSlide.h"
 #include "SkCanvas.h"
 #include "SkColorSpacePriv.h"
-#include "SkEventTracingPriv.h"
 #include "SkFontMgrPriv.h"
 #include "SkGraphics.h"
 #include "SkImagePriv.h"