// Copyright (c) 2012 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 "base/debug/trace_event.h" namespace trace_event_internal { void TraceEndOnScopeClose::Initialize(const unsigned char* category_enabled, const char* name) { data_.category_enabled = category_enabled; data_.name = name; p_data_ = &data_; } void TraceEndOnScopeClose::AddEventIfEnabled() { // Only called when p_data_ is non-null. if (*p_data_->category_enabled) { TRACE_EVENT_API_ADD_TRACE_EVENT( TRACE_EVENT_PHASE_END, p_data_->category_enabled, p_data_->name, kNoEventId, kZeroNumArgs, NULL, NULL, NULL, kNoThreshholdBeginId, kNoThresholdValue, TRACE_EVENT_FLAG_NONE); } } void TraceEndOnScopeCloseThreshold::Initialize( const unsigned char* category_enabled, const char* name, int threshold_begin_id, long long threshold) { data_.category_enabled = category_enabled; data_.name = name; data_.threshold_begin_id = threshold_begin_id; data_.threshold = threshold; p_data_ = &data_; } void TraceEndOnScopeCloseThreshold::AddEventIfEnabled() { // Only called when p_data_ is non-null. if (*p_data_->category_enabled) { TRACE_EVENT_API_ADD_TRACE_EVENT( TRACE_EVENT_PHASE_END, p_data_->category_enabled, p_data_->name, kNoEventId, kZeroNumArgs, NULL, NULL, NULL, p_data_->threshold_begin_id, p_data_->threshold, TRACE_EVENT_FLAG_NONE); } } } // namespace trace_event_internal