LCOV - code coverage report
Current view: top level - tools/profiler/core - ProfilerMarkerPayload.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 83 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 11 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #include "GeckoProfiler.h"
       7             : #include "ProfilerBacktrace.h"
       8             : #include "ProfilerMarkerPayload.h"
       9             : #include "gfxASurface.h"
      10             : #include "Layers.h"
      11             : #include "mozilla/Sprintf.h"
      12             : 
      13             : using namespace mozilla;
      14             : 
      15             : void
      16           0 : ProfilerMarkerPayload::StreamCommonProps(const char* aMarkerType,
      17             :                                          SpliceableJSONWriter& aWriter,
      18             :                                          const TimeStamp& aProcessStartTime,
      19             :                                          UniqueStacks& aUniqueStacks)
      20             : {
      21           0 :   MOZ_ASSERT(aMarkerType);
      22           0 :   aWriter.StringProperty("type", aMarkerType);
      23           0 :   if (!mStartTime.IsNull()) {
      24           0 :     aWriter.DoubleProperty("startTime",
      25           0 :                            (mStartTime - aProcessStartTime).ToMilliseconds());
      26             :   }
      27           0 :   if (!mEndTime.IsNull()) {
      28           0 :     aWriter.DoubleProperty("endTime",
      29           0 :                            (mEndTime - aProcessStartTime).ToMilliseconds());
      30             :   }
      31           0 :   if (mStack) {
      32           0 :     aWriter.StartObjectProperty("stack");
      33             :     {
      34           0 :       mStack->StreamJSON(aWriter, aProcessStartTime, aUniqueStacks);
      35             :     }
      36           0 :     aWriter.EndObject();
      37             :   }
      38           0 : }
      39             : 
      40             : void
      41           0 : TracingMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
      42             :                                     const TimeStamp& aProcessStartTime,
      43             :                                     UniqueStacks& aUniqueStacks)
      44             : {
      45           0 :   StreamCommonProps("tracing", aWriter, aProcessStartTime, aUniqueStacks);
      46             : 
      47           0 :   if (mCategory) {
      48           0 :     aWriter.StringProperty("category", mCategory);
      49             :   }
      50             : 
      51           0 :   if (mKind == TRACING_INTERVAL_START) {
      52           0 :     aWriter.StringProperty("interval", "start");
      53           0 :   } else if (mKind == TRACING_INTERVAL_END) {
      54           0 :     aWriter.StringProperty("interval", "end");
      55             :   }
      56           0 : }
      57             : 
      58             : void
      59           0 : GPUMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
      60             :                                 const TimeStamp& aProcessStartTime,
      61             :                                 UniqueStacks& aUniqueStacks)
      62             : {
      63           0 :   StreamCommonProps("gpu_timer_query", aWriter, aProcessStartTime,
      64           0 :                     aUniqueStacks);
      65             : 
      66           0 :   aWriter.DoubleProperty("cpustart",
      67           0 :                          (mCpuTimeStart - aProcessStartTime).ToMilliseconds());
      68           0 :   aWriter.DoubleProperty("cpuend",
      69           0 :                          (mCpuTimeEnd - aProcessStartTime).ToMilliseconds());
      70           0 :   aWriter.IntProperty("gpustart", (int)mGpuTimeStart);
      71           0 :   aWriter.IntProperty("gpuend", (int)mGpuTimeEnd);
      72           0 : }
      73             : 
      74             : void
      75           0 : IOMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
      76             :                                const TimeStamp& aProcessStartTime,
      77             :                                UniqueStacks& aUniqueStacks)
      78             : {
      79           0 :   StreamCommonProps("io", aWriter, aProcessStartTime, aUniqueStacks);
      80           0 :   aWriter.StringProperty("source", mSource);
      81           0 :   if (mFilename) {
      82           0 :     aWriter.StringProperty("filename", mFilename.get());
      83             :   }
      84           0 : }
      85             : 
      86             : void
      87           0 : UserTimingMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
      88             :                                        const TimeStamp& aProcessStartTime,
      89             :                                        UniqueStacks& aUniqueStacks)
      90             : {
      91           0 :   StreamCommonProps("UserTiming", aWriter, aProcessStartTime, aUniqueStacks);
      92           0 :   aWriter.StringProperty("name", NS_ConvertUTF16toUTF8(mName).get());
      93           0 :   aWriter.StringProperty("entryType", mEntryType);
      94           0 : }
      95             : 
      96             : void
      97           0 : DOMEventMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
      98             :                                      const TimeStamp& aProcessStartTime,
      99             :                                      UniqueStacks& aUniqueStacks)
     100             : {
     101           0 :   StreamCommonProps("DOMEvent", aWriter, aProcessStartTime, aUniqueStacks);
     102           0 :   aWriter.StringProperty("type", NS_ConvertUTF16toUTF8(mType).get());
     103           0 :   aWriter.IntProperty("phase", mPhase);
     104           0 : }
     105             : 
     106             : void
     107           0 : LayerTranslationMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
     108             :                                              const TimeStamp& aProcessStartTime,
     109             :                                              UniqueStacks& aUniqueStacks)
     110             : {
     111           0 :   const size_t bufferSize = 32;
     112             :   char buffer[bufferSize];
     113           0 :   SprintfLiteral(buffer, "%p", mLayer);
     114             : 
     115           0 :   aWriter.StringProperty("layer", buffer);
     116           0 :   aWriter.IntProperty("x", mPoint.x);
     117           0 :   aWriter.IntProperty("y", mPoint.y);
     118           0 :   aWriter.StringProperty("category", "LayerTranslation");
     119           0 : }
     120             : 
     121             : void
     122           0 : VsyncMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
     123             :                                   const TimeStamp& aProcessStartTime,
     124             :                                   UniqueStacks& aUniqueStacks)
     125             : {
     126           0 :   aWriter.DoubleProperty("vsync",
     127           0 :                          (mVsyncTimestamp - aProcessStartTime).ToMilliseconds());
     128           0 :   aWriter.StringProperty("category", "VsyncTimestamp");
     129           0 : }
     130             : 
     131             : void
     132           0 : GCSliceMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
     133             :                                     const TimeStamp& aProcessStartTime,
     134             :                                     UniqueStacks& aUniqueStacks)
     135             : {
     136           0 :   MOZ_ASSERT(mTimingJSON);
     137           0 :   StreamCommonProps("GCSlice", aWriter, aProcessStartTime, aUniqueStacks);
     138           0 :   if (mTimingJSON) {
     139           0 :     aWriter.SplicedJSONProperty("timings", mTimingJSON.get());
     140             :   } else {
     141           0 :     aWriter.NullProperty("timings");
     142             :   }
     143           0 : }
     144             : 
     145             : void
     146           0 : GCMajorMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
     147             :                                     const TimeStamp& aProcessStartTime,
     148             :                                     UniqueStacks& aUniqueStacks)
     149             : {
     150           0 :   MOZ_ASSERT(mTimingJSON);
     151           0 :   StreamCommonProps("GCMajor", aWriter, aProcessStartTime, aUniqueStacks);
     152           0 :   if (mTimingJSON) {
     153           0 :     aWriter.SplicedJSONProperty("timings", mTimingJSON.get());
     154             :   } else {
     155           0 :     aWriter.NullProperty("timings");
     156             :   }
     157           0 : }
     158             : 
     159             : void
     160           0 : GCMinorMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
     161             :                                     const TimeStamp& aProcessStartTime,
     162             :                                     UniqueStacks& aUniqueStacks)
     163             : {
     164           0 :   MOZ_ASSERT(mTimingData);
     165           0 :   StreamCommonProps("GCMinor", aWriter, aProcessStartTime, aUniqueStacks);
     166           0 :   if (mTimingData) {
     167           0 :     aWriter.SplicedJSONProperty("nurseryTimings", mTimingData.get());
     168             :   } else {
     169           0 :     aWriter.NullProperty("nurseryTimings");
     170             :   }
     171           0 : }

Generated by: LCOV version 1.13