Skip to content

Integration with sdk

efotopoulou edited this page Mar 21, 2019 · 22 revisions
Data that are generated from the tng-sdk-benchmark can be of a Type:
  • container specific such as: cpu_usage_total_usage (common in all experiments)
  • system under test specific such as: cpu_cores, mem_max (is this common in all experiments ??)
  • network service specific such as: TO BE COMPLETED (can we have an example here?)
Metrics naming

Taking under consideration Prometheus best practices for naming:
https://prometheus.io/docs/practices/naming/

container name metric name dimensions
cname metricname ns_id & experiment_id

eg. mn_mp_output_vdu01_cpu_stats__online_cpus_int {ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance"}

note: if we will use Prometheus putting the ns_id and experiment_id as a dimension helps to easily fetching all timeseries data for a specific network services and/or experiment. Otherwise can be part of the the name
eg. mn_mp_output_vdu01_cpu_stats__online_cpus_int_ns-1vnf-ids-suricata_suricata_performance

Profiling

End user just has to provide the time period (start_timestap/end_timestap) and the metrics list he wants to be further analyzed.

  • Metrics can be specific (JSONArray):
    [mn_mp_output_vdu01_cpu_stats__online_cpus_int {ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance", mn_mp_output_vdu01_networks__eth0__rx_bytes {ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance"]}
  • Metrics can be fetched per network service and/or experiment_id:
    • [{ns_id:"ns-1vnf-ids-suricata"}] gets all metrics for the specific network (and all experiments it has participate during the given time period)
    • [{ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance"}] gets all metrics for the specific network and only for the specific experiment
    • [{ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance000"},{ns_id:"ns-1vnf-ids-suricata",experiment_id:"suricata_performance001"}] gets all metrics for the specific network and for two different experiments
Per experiment

Profiling can be done in an experiment basis:

timestamp m1 m2 m3
t1 value1 value2 value3

A possible tabular data format example could be: ADD CSV EXAMPLE

Per experiments

In case we have to run a profiling analysis upon data that come from different experiments we can only get metrics that are common in all experiments

Experiment 1:

timestamp m1 m2 m3
t1 value11 value12 value13
t2 value21 value22 value23
t3 value31 value32 value33

Experiment 2:

timestamp m1 m3 m4
t4 value41 value43 value44
t5 value51 value53 value54
t6 value61 value63 value64

Result Dataset to be analyzed:

timestamp m1 m3
t1 value11 value13
t2 value21 value23
t3 value31 value33
t4 value41 value43
t5 value51 value53
t6 value61 value63