1#!/usr/bin/env python3
2# SPDX-License-Identifier: GPL-2.0
3
4import subprocess
5import time
6
7import _damon_sysfs
8
9def main():
10    proc = subprocess.Popen(['sleep', '2'])
11    kdamonds = _damon_sysfs.Kdamonds([_damon_sysfs.Kdamond(
12            contexts=[_damon_sysfs.DamonCtx(
13                ops='vaddr',
14                targets=[_damon_sysfs.DamonTarget(pid=proc.pid)],
15                schemes=[_damon_sysfs.Damos(
16                    access_pattern=_damon_sysfs.DamosAccessPattern(
17                        nr_accesses=[200, 200]))] # schemes
18                )] # contexts
19            )]) # kdamonds
20
21    err = kdamonds.start()
22    if err != None:
23        print('kdamond start failed: %s' % err)
24        exit(1)
25
26    while proc.poll() == None:
27        err = kdamonds.kdamonds[0].update_schemes_tried_bytes()
28        if err != None:
29            print('tried bytes update failed: %s' % err)
30            exit(1)
31
32if __name__ == '__main__':
33    main()
34