gecko-dev/ipc/mscom/InterceptorLog.h
Aaron Klotz eb3882c42d Bug 1409538: Add durations to MSCOM log; r=jimm
This patch adds two additional fields to each mscom log entry: The first is
the duration, in microseconds, of time spent in mscom overhead when executing
a call from the MTA on behalf of a remote client.

The second field is the duration, in microseconds, of time spent actually
executing the method within Gecko itself.

(In other words, the sum of the two fields will equal the total duration of
time spent executing the call.)

MozReview-Commit-ID: EhFieEPrhE5
2017-07-25 15:57:18 -06:00

36 lines
1.0 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_mscom_InterceptorLog_h
#define mozilla_mscom_InterceptorLog_h
#include "mozilla/TimeStamp.h"
struct ICallFrame;
struct IUnknown;
namespace mozilla {
namespace mscom {
class InterceptorLog
{
public:
static bool Init();
static void QI(HRESULT aResult, IUnknown* aTarget, REFIID aIid,
IUnknown* aInterface,
const TimeDuration* aOverheadDuration = nullptr,
const TimeDuration* aGeckoDuration = nullptr);
static void Event(ICallFrame* aCallFrame, IUnknown* aTarget,
const TimeDuration& aOverheadDuration,
const TimeDuration& aGeckoDuration);
};
} // namespace mscom
} // namespace mozilla
#endif // mozilla_mscom_InterceptorLog_h