Spirent/openperf

Issues with TVLP dynamic results centroids

Closed this issue · 1 comments

Issue 1: A basic CPU load generator running for 90 seconds produces over 1k centroids for t-digests. This will sometimes cause the results request to hang when calling the tvlp-results end point.

Example CPU profile:

"cpu": {
            "series": [
                {
                    "config": {
                        "method": "system",
                        "system": {
                            "utilization": 199.94071768638958
                        }
                    },
                    "length": 90000000000
                }
            ]
    }

Example CPU dynamic results config:

"stat_x": "utilization",
"stat_y": "available",
"function": DXDY
"compression": 10

Issue 2: Some centroid means are greater than 1 for all the intended vs actuals for memory and block. This shouldn't occur when the target should be greater than actual.

Example Memory profile:

"memory": {
            "series": [
                {
                    "config": {
                        "pattern": "random",
                        "buffer_size": 1048576,
                        "read_threads": 1,
                        "write_threads": 1,
                        "reads_per_sec": 36161,
                        "read_size": 4096,
                        "writes_per_sec": 45566,
                        "write_size": 4096
                    },
                    "length": 20000000000
                }
            ]
        }

Example Memory dynamic results config:

"stat_x": "read.bytes_actual", 
"stat_y": "read.bytes_target",
"function": DXDY
"compression": 10

Note for Issue 2: Values of centroids can be more than 1, because bytes_actual can be more than bytes_target, thus bytes_actual/bytes_target ratio can be more than 1 too.