forked from LLNL/Caliper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapi.cpp
73 lines (60 loc) · 2.92 KB
/
api.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Copyright (c) 2015-2022, Lawrence Livermore National Security, LLC.
// See top-level LICENSE file for details.
// Initialization of API attributes and static variables
#include "caliper/Caliper.h"
#include "caliper/common/Attribute.h"
#include "caliper/common/cali_types.h"
cali_id_t cali_class_aggregatable_attr_id = CALI_INV_ID;
cali_id_t cali_class_symboladdress_attr_id = CALI_INV_ID;
cali_id_t cali_class_memoryaddress_attr_id = CALI_INV_ID;
cali_id_t cali_class_iteration_attr_id = CALI_INV_ID;
cali_id_t cali_subscription_event_attr_id = CALI_INV_ID;
cali_id_t cali_loop_attr_id = CALI_INV_ID;
cali_id_t cali_region_attr_id = CALI_INV_ID;
cali_id_t cali_phase_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_fn_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_label_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_uid_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_addr_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_elem_size_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_num_elems_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_total_size_attr_id = CALI_INV_ID;
cali_id_t cali_alloc_same_size_count_attr_id = CALI_INV_ID;
namespace cali
{
Attribute class_aggregatable_attr;
Attribute class_symboladdress_attr;
Attribute class_memoryaddress_attr;
Attribute class_iteration_attr;
Attribute subscription_event_attr;
Attribute region_attr;
Attribute phase_attr;
Attribute loop_attr;
void init_attribute_classes(Caliper* c) {
class_aggregatable_attr =
c->create_attribute("class.aggregatable", CALI_TYPE_BOOL, CALI_ATTR_SKIP_EVENTS);
class_symboladdress_attr =
c->create_attribute("class.symboladdress", CALI_TYPE_BOOL, CALI_ATTR_SKIP_EVENTS);
class_memoryaddress_attr =
c->create_attribute("class.memoryaddress", CALI_TYPE_BOOL, CALI_ATTR_SKIP_EVENTS);
class_iteration_attr =
c->create_attribute("class.iteration", CALI_TYPE_BOOL, CALI_ATTR_SKIP_EVENTS);
subscription_event_attr =
c->create_attribute("subscription_event", CALI_TYPE_BOOL, CALI_ATTR_SKIP_EVENTS);
cali_class_aggregatable_attr_id = class_aggregatable_attr.id();
cali_class_symboladdress_attr_id = class_symboladdress_attr.id();
cali_class_memoryaddress_attr_id = class_memoryaddress_attr.id();
cali_class_iteration_attr_id = class_iteration_attr.id();
}
void init_api_attributes(Caliper* c) {
loop_attr =
c->create_attribute("loop", CALI_TYPE_STRING, CALI_ATTR_NESTED);
region_attr =
c->create_attribute("region", CALI_TYPE_STRING, CALI_ATTR_NESTED);
phase_attr =
c->create_attribute("phase", CALI_TYPE_STRING, CALI_ATTR_NESTED | CALI_ATTR_LEVEL_4);
cali_region_attr_id = region_attr.id();
cali_phase_attr_id = phase_attr.id();
cali_loop_attr_id = loop_attr.id();
}
}