Cette page consolide la surface publique de Dirac : artefacts à déclarer, modules JPMS exportés, annotations MicroProfile Metrics 5.1.1 supportées, et clés mp.metrics.* reconnues par l’implémentation.
Artefacts Maven
groupId |
artifactId |
Rôle |
|---|---|---|
|
|
Repackage local de |
|
|
Re-exposition de la spec MP Metrics et SPI publique Dirac ( |
|
|
Implémentations Java pures : |
|
|
Intercepteurs CDI ( |
|
|
Ressource JAX-RS |
|
|
Benchmarks JMH vs Micrometer / SmallRye Metrics. Hors production. |
|
|
Exemples standalone et intégrés vidocq-mps. Hors production. |
|
|
Runner officiel TCK MP Metrics 5.1.1 — hors reactor (Model 4.0.0). Ne pas déclarer en dépendance applicative. |
Toutes les versions à 0.1.0-SNAPSHOT au moment de la rédaction.
Modules JPMS
| Module | Contenu |
|---|---|
|
Repackage MP Metrics 5.1.1 avec |
|
|
|
|
|
|
|
|
io.vidocq.dirac.internal.* n’est jamais exporté à du code applicatif : toute dépendance directe signale une régression.
Annotations MicroProfile Metrics supportées
| Annotation | Effet | Statut |
|---|---|---|
|
Intercepteur incrémente un |
✅ |
|
Intercepteur mesure la durée via |
✅ |
|
Résolu une fois par |
✅ |
|
Qualifier d’injection pour distinguer les trois |
✅ |
|
Métadonnées additionnelles sur un point d’injection (nom, description, unité, tags). |
✅ |
|
Annotation absente du JAR |
⚠️ Non exposé par l’API |
Clés MicroProfile Config
Toutes les clés sont lues via ConfigProvider.getConfig() (Ravel). Voir DistributionConfig et MetricRegistryImpl.
| Clé | Effet |
|---|---|
|
Nom logique de l’application — émis comme tag |
|
Tags globaux, format |
|
Liste de percentiles globaux ( |
|
Buckets fixes pour les |
|
Buckets fixes pour les |
|
Compat éventuelle (clé non standard) — vérifier |
|
La spec MP Metrics 5.1 ne définit pas d’option de chemin (équivalent |
Types MetricUnits
org.eclipse.microprofile.metrics.MetricUnits énumère les unités canoniques :
-
Durées —
NANOSECONDS,MICROSECONDS,MILLISECONDS,SECONDS,MINUTES,HOURS,DAYS -
Tailles —
BITS,KILOBITS,MEGABITS,BYTES,KILOBYTES,MEGABYTES,GIGABYTES -
Génériques —
NONE,PERCENT,PER_SECOND
Dirac n’effectue pas de conversion automatique : l’unité est exposée telle que déclarée. Convention Prometheus : exprimer les durées en SECONDS, les tailles en BYTES.
Endpoint GET /metrics
Route |
|
Verbes |
|
Types |
|
Source |
|
Statut |
|
Implémentation |
|
MetricRegistry injectable
@Inject
MetricRegistry application; // APPLICATION
@Inject @RegistryScope(scope = MetricRegistry.BASE_SCOPE)
MetricRegistry base;
@Inject @RegistryScope(scope = MetricRegistry.VENDOR_SCOPE)
MetricRegistry vendor;
Compatibilité
-
Java 25 (LTS), Maven 3.9.16.
-
CDI 4.1 Lite (Vauban) ou Lite-compatible — l'`Interceptor` standard et la
BuildCompatibleExtensionsuffisent. -
JAX-RS 4.0 (Cassini) — uniquement si
dirac-restest utilisé. -
MicroProfile Config 3.1 (Ravel) — fortement recommandé pour
mp.metrics.tagsetmp.metrics.distribution.*. -
Pas de dépendance Jakarta EE Full Profile.
Pour aller plus loin
-
Concepts — modèle MP Metrics 5.1.1.
-
Fonctionnement interne — registre lock-free, BCE, formatters.
-
TCK — statut et exécution.