42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# Metrics Monitoring
|
|
|
|
## Continuous Batching Metrics in Transformers
|
|
|
|
To setup metric monitoring with continuous batching, you will want to have tempo and prometheus running.
|
|
|
|
For this, we provide a docker compose image in `examples/metrics-monitoring`.
|
|
|
|
To run it:
|
|
|
|
```sh
|
|
cd examples/metrics-monitoring
|
|
docker compose up
|
|
```
|
|
|
|
Then, in your script running CB, you will need to create a MeterProvider and TracerProvider as follows:
|
|
|
|
```py
|
|
from opentelemetry import metrics, trace
|
|
from opentelemetry.exporter.otlp.proto.http.metric_exporter import OTLPMetricExporter
|
|
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
|
from opentelemetry.sdk.metrics import MeterProvider
|
|
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
|
|
from opentelemetry.sdk.resources import Resource
|
|
from opentelemetry.sdk.trace import TracerProvider
|
|
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
|
|
resource = Resource.create({"service.name": "transformers"})
|
|
|
|
metrics_exporter = PeriodicExportingMetricReader(
|
|
OTLPMetricExporter(endpoint="http://localhost:9090/api/v1/otlp/v1/metrics"), # Uses OTEL_EXPORTER_OTLP_METRICS_ENDPOINT env var
|
|
export_interval_millis=1000
|
|
)
|
|
meter_provider = MeterProvider(resource=resource, metric_readers=[metrics_exporter])
|
|
metrics.set_meter_provider(meter_provider)
|
|
|
|
trace_exporter = OTLPSpanExporter(endpoint="http://localhost:4318/v1/traces") # Uses OTEL_EXPORTER_OTLP_TRACES_ENDPOINT env var
|
|
tracer_provider = TracerProvider(resource=resource)
|
|
tracer_provider.add_span_processor(BatchSpanProcessor(trace_exporter))
|
|
trace.set_tracer_provider(tracer_provider)
|
|
```
|