本文整理汇总了C++中Observation::ObservedOperation方法的典型用法代码示例。如果您正苦于以下问题:C++ Observation::ObservedOperation方法的具体用法?C++ Observation::ObservedOperation怎么用?C++ Observation::ObservedOperation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Observation
的用法示例。
在下文中一共展示了Observation::ObservedOperation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Observe
void ProfilerIOInterposeObserver::Observe(Observation& aObservation)
{
const char* str = nullptr;
switch (aObservation.ObservedOperation()) {
case IOInterposeObserver::OpCreateOrOpen:
str = "create/open";
break;
case IOInterposeObserver::OpRead:
str = "read";
break;
case IOInterposeObserver::OpWrite:
str = "write";
break;
case IOInterposeObserver::OpFSync:
str = "fsync";
break;
case IOInterposeObserver::OpStat:
str = "stat";
break;
case IOInterposeObserver::OpClose:
str = "close";
break;
default:
return;
}
ProfilerBacktrace* stack = profiler_get_backtrace();
IOMarkerPayload* markerPayload = new IOMarkerPayload(aObservation.Reference(),
aObservation.Start(),
aObservation.End(),
stack);
PROFILER_MARKER_PAYLOAD(str, markerPayload);
}
示例2: Observe
void ProfilerIOInterposeObserver::Observe(Observation& aObservation)
{
// TODO: The profile might want to take notice of non-main-thread IO, as
// well as noting what files or references causes the IO.
if (NS_IsMainThread()) {
const char* ops[] = {"none", "read", "write", "invalid", "fsync"};
PROFILER_MARKER(ops[aObservation.ObservedOperation()]);
}
}