Integration with VnV - sonata-nfv/tng-analytics-engine GitHub Wiki

The following sequence diagram highlights how the profiler component can be used within the VnV 5GTango Component.
A detailed description of the involved is also presented.

2. Get available analytic services

see more detaills here https://github.com/sonata-nfv/tng-profiler/wiki/Get-available-analytic-services

3. Get Prometheus metrics created within the test execution

see more detaills here https://github.com/sonata-nfv/tng-profiler/wiki/Get-Prometheus-metrics-per-nsr_id

5. Execute analytic service

see more detaills here https://github.com/sonata-nfv/tng-profiler/wiki/Execute-Analytic-Service-for-specific-test

6. Request Test information (VnV Dependence)

Scope: This functionality is used for retrieving the metadata of a VnV test that has been successfully completed.

REST - API: http://gatekeeper_dns/api/v3/tests/results/{test_uuid}
See the specification from the VnV side here:
https://github.com/sonata-nfv/tng-rep/wiki/Test-Result-Repositories#trrtest-suite-results

GET parameters : test_uuid

Parameter Explanation

test_uuid: refers to the test uuid that has been executed within the Vnv platform

The result of such a call is a JSONObject that contains all information regarding the execution and results of the realized test. The fields to get back should be:

  • test_uuid: refers to the test id that has been executed within the Vnv platform
  • started_at: The datetime the test started to be executed. This timestamp should be synchronized (use the same clock with the Prometheus timestamps)
  • ended_at: The datetime the test was finished. This timestamp should be synchronized (use the same clock with the Prometheus timestamps)
  • instance_uuid: The network service record id that was tested
  • status: The status of the test. Two options can be found here SUCCESSFUL of FAILED
  • results: JSONObject data that contains the results of the realized test. These raw data should not be timeseries data. if so, should be pushed instead to Prometheus.
  • details: JSONObject data generated within the test execution. These raw data should not be timeseries data. if so, should be pushed instead to Prometheus.

A response example should be:

{
        "test_uuid": "4e501091-ab62-4a24-8b2e-b89015ef752c",
        "started_at": "2019-03-04T08:00:30.781Z",
        "ended_at": "2019-03-04T08:20:30.781Z",
        "instance_uuid":"619ba21d-a436-fc2e-8162-3ad941868901",
        "status": "SUCCESSFUL",
        "results": "JSONObject",
        "details": "JSONObject"
}   

7. Request monitoring metrics (Monitoring manager Dependence)

Consume the "Metrics per service" of the monitoring manager.
HTTP GET /api/v2/services/{nsr_id}/metrics This API returns all metrics per network service record. For more info, see detaills here: https://github.com/sonata-nfv/son-monitor/wiki/API-reference

8. Request time series data (Prometheus Dependence)

see more detaills here https://prometheus.io/docs/prometheus/latest/querying/basics/