Skip to content

[RFC] Allow specifying wload objects directly in the executor's experiments_conf

Darryl Green requested to merge github/fork/bjackman/executor-object-direct into master

Created by: bjackman

This is basically to allow you to use the Executor without having to use the dictionary grammar to specify the synthetic workloads you want to use.

That basically means instead of:

        experiments_conf = {
            'confs': [{
                'tag': "my_conf"
            }],
            "wloads" : {
                "my_wload" : {
                    "type" : "rt-app",
                    "conf" : {
                        "class" : "profile",
                        "params" : {
                            "my_task" : {
                                "kind" : "Periodic",
                                "params" : {
                                    <task params>
                                },
                            },
                        },
                    },
                },
            },
        }

You can have something like:

        wload = RTA(target, "my_wload")
        wload.conf('profile', {'my_task': Periodic(<task params>).get()})

        experiments_conf = {
            'confs': [{
                'tag': "my_conf",
            }],
            "wloads" : {
                "my_wload" : wload
            }
        }

I've marked this "RFC" because a) I haven't done documentation and b) The API is still a bit awkward. For example note that you "name" the workload twice (i.e. the string "my_wload" appears twice in my example). I think the ideal usage would be like this:

        experiments_conf = {
            'confs': [{
                'tag': conf_name
            }],
            "wloads" : [
                RTA(target, wl_name, profile={'mytask': Periodic()})
            ]
        }

But there's quite a few more changes needed to achieve that.

Merge request reports