Skip to content

Commit

Permalink
Merge pull request #150 from fedinskiy/QUARKUS-2830
Browse files Browse the repository at this point in the history
Planned coverage for VertX-specific metrics
  • Loading branch information
rsvoboda authored Sep 1, 2023
2 parents ca9d60b + 072f4ff commit 66d47cf
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions QUARKUS-2830.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# QUARKUS-2829 - Full Support Micrometer metrics also when using managed Vert.x in Quarku

JIRA: https://issues.redhat.com/browse/QUARKUS-2830

As part of supporting Vert.x use-cases on Quarkus we need to support collecting metrics using micrometer for the managed Vert.x instance in Quarkus. This is also a requirement for some layered products like AMQ Streams and OpenShift Serverless that today are using Vert.x, but needs to move to use Quarkus.

## Scope of the implementation
Managed Vert.x in Quarkus contains following extensions:
- Messaging clients:
AMQP, Kafka, MQTT. Extension names: quarkus-smallrye-reactive-messaging-amqp, *-kafka, *-mqtt.
- DB clients: Mssql, DB2, Oracle, MySQL, Postgres(pg). Extension names: quarkus-reactive-(name)-client.
- Redis client: quarkus-redis-client
- quarkus-mailer
- quarkus-vertx (the core API)

In comparison to internal implementation (QUARKUS-2829), the following additions were made:
- mailer metrics
- grpc metrics
- database metrics (db2, mssql, mysql, oracle, postgresql, redis)
- TCP metrics (bytes_written, bytes_read, connections)
- UDP metrics (bytes_written, bytes_read, errors)
- EventBus metrics (eventBus.published, eventBus.sent, replyFailures, handlers, delivered, discarded)
- Http client metrics (queue.delay, queue.size)

## Scope of testing
Cover, that metrics are being created properly for applications, running on different targets (baremetal, openshift and serverless).

### Existing tests
Upstream tests contain coverage for Redis, HTTP client, telnet, eventbus, TCP and UDP metrics on baremetal.
As a part of QUARKUS-2829, we added checks for https server metrics on baremetal, openshift and serverless.

## Automated test development
We should add checks:
- for databases properties, preferably in vertx-sql module.
- for event-bus specific properties on different targets, vertx-http module seems to be a good target.
- for grpc. We need either add new endpoint into vertx-http or gather metrics in existing http-advanced/opentelemetry-reactive modules

### Impact on resources:

- No additional requirements for resources in lab
- Since we will not add new test classes, running time should change only slightly

## Getting familiar with the feature

Following actions were taken to ensure familiarity:
- Ensure documentation provides clear explanation on configuration options
- Ensure good user experience and simplicity of use


## References
- [JIRA issue](https://issues.redhat.com/browse/QUARKUS-2830)
- [Internal support issue](https://issues.redhat.com/browse/QUARKUS-2829)
- [Core guide](https://quarkus.io/guides/vertx)
- [Extensions guide](https://quarkus.io/guides/vertx-reference )
- [Event bus guide](https://quarkus.io/guides/reactive-event-bus)

0 comments on commit 66d47cf

Please sign in to comment.