ArmNN  NotReleased
TimelineModel.h
Go to the documentation of this file.
1 //
2 // Copyright © 2019 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #ifndef ARMNN_ITIMELINEMODEL_H
6 #define ARMNN_ITIMELINEMODEL_H
7 
8 #ifdef __cplusplus
9 extern "C"
10 {
11 #endif
12 
13 #include <stdint.h>
14 
15 struct Model;
16 
17 typedef enum RelationshipType
18 {
24 
25 typedef struct Entity
26 {
27  uint64_t m_Guid;
28 } Entity;
29 
30 typedef struct EventClass
31 {
32  uint64_t m_Guid;
33 } EventClass;
34 
35 typedef struct Event
36 {
37  uint64_t m_Guid;
38  uint64_t m_TimeStamp;
39  unsigned char* m_ThreadId;
41 
42 typedef struct Label
43 {
44  uint64_t m_Guid;
45  char* m_Name;
46 } Label;
47 
48 typedef struct Relationship
49 {
50  RelationshipType m_RelationshipType;
51  uint64_t m_Guid;
52  uint64_t m_HeadGuid;
53  uint64_t m_TailGuid;
54 } Relationship;
55 
56 typedef void (*OnNewEntityCallback)(const Entity, struct Model* model);
57 typedef void (*OnNewEventClassCallback)(const EventClass, struct Model* model);
58 typedef void (*OnNewEventCallback)(const Event, struct Model* model);
59 typedef void (*OnNewLabelCallback)(const Label, struct Model* model);
60 typedef void (*OnNewRelationshipCallback)(const Relationship, struct Model* model) ;
61 
62 typedef struct Model
63 {
69 
70  Entity** m_Entities;
71  EventClass** m_EventClasses;
72  Event** m_Events;
73  Label** m_Labels;
74  Relationship** m_Relationships;
75 
76  uint32_t m_EntityCount;
77  uint32_t m_EntityCapacity;
78 
81 
82  uint32_t m_EventCount;
83  uint32_t m_EventCapacity;
84 
85  uint32_t m_LabelCount;
86  uint32_t m_LabelCapacity;
87 
90 } Model;
91 
92 #ifdef __cplusplus
93 }
94 #endif
95 
96 #endif //ARMNN_ITIMELINEMODEL_H
uint32_t m_EventClassCapacity
Definition: TimelineModel.h:80
OnNewLabelCallback m_LabelCb
Definition: TimelineModel.h:67
uint32_t m_LabelCapacity
Definition: TimelineModel.h:86
Head retains(parents) Tail.
Definition: TimelineModel.h:20
void(* OnNewLabelCallback)(const Label, struct Model *model)
Definition: TimelineModel.h:59
void(* OnNewRelationshipCallback)(const Relationship, struct Model *model)
Definition: TimelineModel.h:60
EventClass ** m_EventClasses
Definition: TimelineModel.h:71
struct Entity Entity
void(* OnNewEntityCallback)(const Entity, struct Model *model)
Definition: TimelineModel.h:56
struct Event ProfilingEvent
Event ** m_Events
Definition: TimelineModel.h:72
char * m_Name
Definition: TimelineModel.h:45
uint64_t m_Guid
Definition: TimelineModel.h:27
uint32_t m_EventCapacity
Definition: TimelineModel.h:83
uint32_t m_EntityCapacity
Definition: TimelineModel.h:77
struct Label Label
OnNewEntityCallback m_EntityCb
Definition: TimelineModel.h:64
OnNewEventCallback m_EventCb
Definition: TimelineModel.h:66
Head execution start depends on Tail execution completion.
Definition: TimelineModel.h:21
uint64_t m_Guid
Definition: TimelineModel.h:37
uint32_t m_EventClassCount
Definition: TimelineModel.h:79
struct Relationship Relationship
uint64_t m_TimeStamp
Definition: TimelineModel.h:38
unsigned char * m_ThreadId
Definition: TimelineModel.h:39
uint64_t m_Guid
Definition: TimelineModel.h:44
uint64_t m_TailGuid
Definition: TimelineModel.h:53
RelationshipType m_RelationshipType
Definition: TimelineModel.h:50
void(* OnNewEventCallback)(const Event, struct Model *model)
Definition: TimelineModel.h:58
struct EventClass EventClass
uint32_t m_RelationshipCapacity
Definition: TimelineModel.h:89
Head uses data of Tail.
Definition: TimelineModel.h:22
RelationshipType
Definition: TimelineModel.h:17
void(* OnNewEventClassCallback)(const EventClass, struct Model *model)
Definition: TimelineModel.h:57
uint32_t m_RelationshipCount
Definition: TimelineModel.h:88
struct Model Model
Relationship ** m_Relationships
Definition: TimelineModel.h:74
Entity ** m_Entities
Definition: TimelineModel.h:70
uint32_t m_EventCount
Definition: TimelineModel.h:82
uint64_t m_Guid
Definition: TimelineModel.h:51
uint64_t m_Guid
Definition: TimelineModel.h:32
uint32_t m_EntityCount
Definition: TimelineModel.h:76
uint64_t m_HeadGuid
Definition: TimelineModel.h:52
Label ** m_Labels
Definition: TimelineModel.h:73
uint32_t m_LabelCount
Definition: TimelineModel.h:85
OnNewRelationshipCallback m_RelationshipCb
Definition: TimelineModel.h:68
OnNewEventClassCallback m_EventClassCb
Definition: TimelineModel.h:65