Duibonduil's picture
Rename examples/metric/prometheus_example.py to examples/metric/prometheus/prometheus_example.py
ae45958 verified
import random
import time
from aworld.metrics.metric import MetricType
from aworld.metrics.context_manager import MetricContext, ApiMetricTracker
from aworld.metrics.template import MetricTemplate
MetricContext.configure(
provider="prometheus",
backend="console"
)
# my_counter = get_metric_provider().create_counter("my_counter", "test_counter_desc", "count")
# while 1:
# my_counter.add(random.randint(1, 10), )
# time.sleep(random.random())
my_counter = MetricTemplate(
type=MetricType.COUNTER,
name="my_counter",
description="My custom counter",
unit="1"
)
my_gauge = MetricTemplate(
type=MetricType.GAUGE,
name="my_gauge"
)
my_histogram = MetricTemplate(
type=MetricType.HISTOGRAM,
name="my_histogram",
buckets=[2, 4, 6, 8, 10]
)
@ApiMetricTracker()
def api():
time.sleep(random.uniform(0, 1))
def custom_code():
with ApiMetricTracker("test_custom_code"):
time.sleep(random.uniform(0, 1))
if __name__ == '__main__':
while 1:
MetricContext.count(my_counter, random.randint(1, 10))
MetricContext.gauge_set(my_gauge, random.randint(1, 10))
MetricContext.histogram_record(my_histogram, random.randint(1, 10))
api()
custom_code()
time.sleep(random.random())