Commit d7c95781 authored by Carlos Natalino's avatar Carlos Natalino
Browse files

Updating the test notebook.

parent 531a5704
Loading
Loading
Loading
Loading
+31 −16
Original line number Diff line number Diff line
%% Cell type:markdown id: tags:

# Checking the monitoring component

%% Cell type:code id: tags:

``` python
import time
import datetime
import uuid
import random

from dotenv import load_dotenv
from IPython.display import clear_output, display, HTML

from common.tools.timestamp.Converters import timestamp_utcnow_to_float, timestamp_float_to_string
from common.tools.grpc.Tools import grpc_message_to_json_string
from common.proto.kpi_sample_types_pb2 import KpiSampleType
from common.proto.monitoring_pb2 import KpiDescriptor, KpiId, KpiQuery
from common.proto.monitoring_pb2 import KpiDescriptor, KpiId, KpiQuery, Kpi
from monitoring.client.MonitoringClient import MonitoringClient
```

%% Cell type:code id: tags:

``` python
load_dotenv()

monitoring_client = MonitoringClient()
uuid.uuid4().hex
```

%% Cell type:code id: tags:

``` python
kpi_description: KpiDescriptor = KpiDescriptor()
kpi_description.kpi_description = "Security status of service {}".format(uuid.uuid4().hex)
kpi_description.service_id.service_uuid.uuid = "608df176-90b8-5950-b50d-1810c6eaaa5d"
kpi_description.kpi_sample_type = KpiSampleType.KPISAMPLETYPE_UNKNOWN
new_kpi = monitoring_client.SetKpi(kpi_description)
print("Created KPI {}: ".format(grpc_message_to_json_string(new_kpi)))
```

%% Cell type:code id: tags:

``` python
kpi_id = input("What is the KPI ID?")
query = KpiQuery()
query.kpi_ids.append(KpiId(**{"kpi_id": {"uuid": kpi_id}}))
query.last_n_samples = 10

while True:

    kpi = Kpi()
    kpi.kpi_id.kpi_id.uuid = new_kpi.kpi_id.uuid
    kpi.timestamp.timestamp = timestamp_utcnow_to_float()
    kpi.kpi_value.int32Val = random.randint(10, 4000)
    # monitoring_client.IncludeKpi(kpi)

    response = monitoring_client.QueryKpiData(query)
    # print(response)
    table = f"""<table>
    <thead>
        <tr><th colspan=3>{datetime.datetime.now()}</th></tr>
        <tr><th>KPI ID</th><th>Timestamp</th><th>Value</th></tr>
    <thead>
    <tbody>"""
    for kpi in response.raw_kpi_lists:
        cur_kpi_id = kpi.kpi_id.kpi_id.uuid
        for raw_kpi in reversed(kpi.raw_kpis):
        for i, raw_kpi in enumerate(kpi.raw_kpis):
            # print(cur_kpi_id, raw_kpi.timestamp.timestamp, raw_kpi.kpi_value)
            table += "<tr><td>{}</td><td>{}</td><td>{}</td></tr>".format(
                cur_kpi_id, raw_kpi.timestamp.timestamp, raw_kpi.kpi_value
            table += "<tr><td>{} - {}</td><td>{}</td><td>{}</td></tr>".format(
                i, cur_kpi_id, timestamp_float_to_string(raw_kpi.timestamp.timestamp), raw_kpi.kpi_value
            )
    table += "</tbody></table>"
    display(HTML(table))
    time.sleep(5)
    clear_output(wait=True)
```

%% Output


    ---------------------------------------------------------------------------
    KeyboardInterrupt                         Traceback (most recent call last)
Cell     In [22], line 28
         26 table += "</tbody></table>"
         27 display(HTML(table))
    ---> 28 time.sleep(5)
         29 clear_output(wait=True)
    KeyboardInterrupt: