forked from LLNL/Caliper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathci_test_py_ann.py
59 lines (40 loc) · 1.3 KB
/
ci_test_py_ann.py
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
# --- Caliper continuous integration test app for Python annotation interface
import sys
sys.path.insert(0, "@PYPATH_TESTING@")
from pycaliper import config_preset
from pycaliper.instrumentation import (
Attribute,
set_global_byname,
begin_byname,
set_byname,
end_byname,
)
from pycaliper.types import CALI_TYPE_INT, CALI_ATTR_ASVALUE
from pycaliper.config_manager import ConfigManager
def main():
config_preset({"CALI_CHANNEL_FLUSH_ON_EXIT": "false"})
mgr = ConfigManager()
if len(sys.argv) > 1:
mgr.add(sys.argv[1])
if mgr.error():
print("Caliper config error:", mgr.err_msg(), file=sys.stderr)
exit(-1)
mgr.start()
set_global_byname("global.double", 42.42)
set_global_byname("global.int", 1337)
set_global_byname("global.string", "my global string")
set_global_byname("global.uint", 42)
iter_attr = Attribute("iteration", CALI_TYPE_INT, CALI_ATTR_ASVALUE)
begin_byname("phase", "loop")
for i in range(4):
iter_attr.begin(i)
iter_attr.end()
end_byname("phase")
begin_byname("ci_test_c_ann.setbyname")
set_byname("attr.int", 20)
set_byname("attr.dbl", 1.25)
set_byname("attr.str", "fidibus")
end_byname("ci_test_c_ann.setbyname")
mgr.flush()
if __name__ == "__main__":
main()