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

Copyright 2016 Google Inc. More...

#include "timelineframe.h"

Inheritance diagram for TimelineFrame:
Collaboration diagram for TimelineFrame:

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

 TimelineFrame (const std::string &name, uint32 begin, uint32 duration, const Json::Value &args, uint32 frame_number)
 
Type GetType () const override
 
uint32 GetFrameNumber () const
 
void SetArgs (const Json::Value &args)
 Set the argument name and value. More...
 
const Json::Value & GetArgs () const
 
Json::Value & GetArgs ()
 
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
 
uint32 GetBegin () const
 
uint32 GetEnd () const
 
uint32 GetDuration () const
 
double GetBeginMs () const
 
double GetEndMs () const
 
double GetDurationMs () const
 
const TimelineNode * GetParent () const
 
TimelineNode * GetParent ()
 
const Children & GetChildren () const
 
const TimelineNode * GetChild (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.This node type represents a frame from a WTF trace in a timeline.

Definition at line 28 of file timelineframe.h.

Member Typedef Documentation

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

Definition at line 30 of file timelinenode.h.

Member Enumeration Documentation

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

Definition at line 31 of file timelinenode.h.

Constructor & Destructor Documentation

TimelineFrame::TimelineFrame ( const std::string &  name,
uint32  begin,
uint32  duration,
const Json::Value &  args,
uint32  frame_number 
)
inline

Definition at line 30 of file timelineframe.h.

Member Function Documentation

void TimelineNode::AddChild ( std::unique_ptr< TimelineNode >  child)
inlineinherited

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().

const Json::Value& TimelineEvent::GetArgs ( ) const
inlineinherited

Definition at line 38 of file timelineevent.h.

Json::Value& TimelineEvent::GetArgs ( )
inlineinherited

Definition at line 39 of file timelineevent.h.

uint32 TimelineNode::GetBegin ( ) const
inlineinherited

Definition at line 45 of file timelinenode.h.

double TimelineNode::GetBeginMs ( ) const
inlineinherited

Definition at line 48 of file timelinenode.h.

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

Definition at line 54 of file timelinenode.h.

const Children& TimelineNode::GetChildren ( ) const
inlineinherited

Definition at line 53 of file timelinenode.h.

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

uint32 TimelineNode::GetDuration ( ) const
inlineinherited

Definition at line 47 of file timelinenode.h.

double TimelineNode::GetDurationMs ( ) const
inlineinherited

Definition at line 50 of file timelinenode.h.

uint32 TimelineNode::GetEnd ( ) const
inlineinherited

Definition at line 46 of file timelinenode.h.

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

double TimelineNode::GetEndMs ( ) const
inlineinherited

Definition at line 49 of file timelinenode.h.

uint32 TimelineFrame::GetFrameNumber ( ) const
inline

Definition at line 36 of file timelineframe.h.

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

Definition at line 43 of file timelinenode.h.

const TimelineNode* TimelineNode::GetParent ( ) const
inlineinherited
TimelineNode* TimelineNode::GetParent ( )
inlineinherited

Definition at line 52 of file timelinenode.h.

Type TimelineFrame::GetType ( ) const
inlineoverridevirtual

Reimplemented from TimelineEvent.

Definition at line 35 of file timelineframe.h.

References TimelineNode::kFrame.

void TimelineEvent::SetArgs ( const Json::Value &  args)
inlineinherited

Set the argument name and value.

Definition at line 35 of file timelineevent.h.

void TimelineNode::UpdateDuration ( const uint32  end)
inlineinherited

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 file: