All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.quarkus.hibernate.orm.deployment.metrics.HibernateOrmMetrics Maven / Gradle / Ivy

There is a newer version: 3.15.0
Show newest version
package io.quarkus.hibernate.orm.deployment.metrics;

import static io.quarkus.deployment.annotations.ExecutionTime.RUNTIME_INIT;

import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.metrics.MetricsFactoryConsumerBuildItem;
import io.quarkus.hibernate.orm.deployment.HibernateOrmConfig;
import io.quarkus.hibernate.orm.runtime.metrics.HibernateMetricsRecorder;

/**
 * Produce metrics for Hibernate ORM
 * Avoid hard dependencies in main processor
 */
public final class HibernateOrmMetrics {
    @BuildStep
    @Record(RUNTIME_INIT)
    public void metrics(HibernateOrmConfig config,
            HibernateMetricsRecorder recorder,
            BuildProducer datasourceMetrics) {

        // IF MP metrics, Hibernate metrics and Hibernate statistics are all enabled
        if (config.metricsEnabled && config.statistics.orElse(true)) {
            datasourceMetrics.produce(new MetricsFactoryConsumerBuildItem(
                    recorder.registerMetrics()));
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy