Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TimelineNode Class Reference

Copyright 2016 Google Inc. More...

#include "timelinenode.h"

Inheritance diagram for TimelineNode:

Public Types

enum  Type : char {
  Type::kNode,
  Type::kEvent,
  Type::kThread,
  Type::kFrame,
  Type::kScope,
  Type::kRange
}
 
typedef std::vector
< std::unique_ptr
< TimelineNode > > 
Children
 

Public Member Functions

 TimelineNode (const std::string &name)
 Copyright 2016 Google Inc. More...
 
 TimelineNode (const std::string &name, const uint32 begin, const uint32 duration)
 
virtual ~TimelineNode ()
 
void AddChild (std::unique_ptr< TimelineNode > child)
 Add a node to the children. It becomes the last child. More...
 
void UpdateDuration (const uint32 end)
 Update the duration of the event given a new end timestamp. More...
 
const std::string & GetName () const
 
virtual Type GetType () const
 
uint32 GetBegin () const
 
uint32 GetEnd () const
 
uint32 GetDuration () const
 
double GetBeginMs () const
 
double GetEndMs () const
 
double GetDurationMs () const
 
const TimelineNodeGetParent () const
 
TimelineNodeGetParent ()
 
const ChildrenGetChildren () const
 
const TimelineNodeGetChild (const size_t i) const
 

Detailed Description

Copyright 2016 Google Inc.

All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.Base class for nodes in a Timeline (see timeline.h).

Definition at line 28 of file timelinenode.h.

Member Typedef Documentation

typedef std::vector<std::unique_ptr<TimelineNode> > TimelineNode::Children

Definition at line 30 of file timelinenode.h.

Member Enumeration Documentation

enum TimelineNode::Type : char
strong
Enumerator
kNode 
kEvent 
kThread 
kFrame 
kScope 
kRange 

Definition at line 31 of file timelinenode.h.

Constructor & Destructor Documentation

TimelineNode::TimelineNode ( const std::string &  name)
explicit

Copyright 2016 Google Inc.

All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition at line 25 of file timelinenode.cc.

TimelineNode::TimelineNode ( const std::string &  name,
const uint32  begin,
const uint32  duration 
)

Definition at line 28 of file timelinenode.cc.

TimelineNode::~TimelineNode ( )
virtual

Definition at line 32 of file timelinenode.cc.

Member Function Documentation

void TimelineNode::AddChild ( std::unique_ptr< TimelineNode child)
inline

Add a node to the children. It becomes the last child.

Definition at line 71 of file timelinenode.h.

Referenced by ion::profile::TraceRecorder::AddTraceToTimelineNode(), and ion::profile::CallTraceManager::BuildTimeline().

uint32 TimelineNode::GetBegin ( ) const
inline

Definition at line 45 of file timelinenode.h.

double TimelineNode::GetBeginMs ( ) const
inline

Definition at line 48 of file timelinenode.h.

const TimelineNode* TimelineNode::GetChild ( const size_t  i) const
inline

Definition at line 54 of file timelinenode.h.

const Children& TimelineNode::GetChildren ( ) const
inline

Definition at line 53 of file timelinenode.h.

Referenced by Timeline::const_iterator::operator++().

uint32 TimelineNode::GetDuration ( ) const
inline

Definition at line 47 of file timelinenode.h.

double TimelineNode::GetDurationMs ( ) const
inline

Definition at line 50 of file timelinenode.h.

uint32 TimelineNode::GetEnd ( ) const
inline

Definition at line 46 of file timelinenode.h.

Referenced by ion::profile::TraceRecorder::AddTraceToTimelineNode().

double TimelineNode::GetEndMs ( ) const
inline

Definition at line 49 of file timelinenode.h.

const std::string& TimelineNode::GetName ( ) const
inline

Definition at line 43 of file timelinenode.h.

const TimelineNode* TimelineNode::GetParent ( ) const
inline
TimelineNode* TimelineNode::GetParent ( )
inline

Definition at line 52 of file timelinenode.h.

virtual Type TimelineNode::GetType ( ) const
inlinevirtual

Reimplemented in TimelineEvent, TimelineFrame, TimelineScope, TimelineRange, and TimelineThread.

Definition at line 44 of file timelinenode.h.

References kNode.

void TimelineNode::UpdateDuration ( const uint32  end)
inline

Update the duration of the event given a new end timestamp.

Definition at line 41 of file timelinenode.h.


The documentation for this class was generated from the following files: