Skip to main content

Monitoring Performance

This guide covers how to monitor the health and performance of your uxopian-ai deployment using the built-in observability stack.


Monitoring Architecture

The monitoring system operates in two distinct stages:

  1. Data Collection (Actuator): The Spring Boot Actuator module exposes operational information about the running application — health, loggers, info.
  2. Instrumentation (Micrometer): Micrometer, an application metrics facade, instruments key methods with Timer metrics, recording the duration and count of every execution for a clear view of API performance.

Actuator Endpoints

Spring Boot Actuator exposes the following endpoints (configured in metrics.yml):

EndpointDescription
/actuator/healthApplication health status.
/actuator/infoGeneral application information.
/actuator/loggersView and modify log levels at runtime.

Checking Health

curl http://localhost:8080/actuator/health

A healthy response returns:

{
"status": "UP"
}

Metrics Export to OpenSearch

Uxopian-ai uses Micrometer to export telemetry data directly to your OpenSearch instance. This data powers the Admin Dashboard statistics.

Configuration

The metrics export is configured in metrics.yml:

management:
elastic:
metrics:
export:
enabled: true
host: http://${opensearch.host}:${opensearch.port}
index: micrometer-metrics
auto-create-index: true
endpoints:
web:
exposure:
include: health,info,loggers
metrics:
uxopian-ai:
enable: true # Enables custom business metrics (Token usage, ROI, etc.)

Custom Business Metrics

When management.metrics.uxopian-ai.enable is set to true, the following business metrics are collected:

  • Token consumption — Input and output tokens per request.
  • Request latency — Duration of LLM calls.
  • ROI tracking — Time saved per prompt usage.
  • Feature adoption — Multi-modal and function calling usage rates.

These metrics feed directly into the Statistics dashboard.


Disabling Noisy Metrics

By default, standard JVM and framework metrics can generate a large volume of data. You can disable them selectively in metrics.yml:

management:
metrics:
enable:
application: false
tomcat: false
logback: false
jvm: false
system: false
http: false
process: false
disk: false
executor: false

For production deployments, we recommend:

  1. Health checks: Point your load balancer or orchestrator at /actuator/health.
  2. Log aggregation: Forward application logs to a centralized system (ELK, Datadog, etc.).
  3. Metrics visualization: Use the built-in Admin Dashboard or connect an external tool (Grafana, Kibana) to the micrometer-metrics index in OpenSearch.
  4. Alerting: Set up alerts on key metrics — LLM response latency, error rates, and token consumption spikes.