aerogear / keycloak-metrics-spi

Adds a Metrics Endpoint to Keycloak
Apache License 2.0
526 stars 151 forks source link

Use relocation for bundled dependencies #146

Open sonOfRa opened 1 year ago

sonOfRa commented 1 year ago

Motivation

We use keycloak-metrics-spi alongside with another custom SPI that uses prometheus libraries at runtime - this worked fine in the WildFly distribution, but on the Quarkus distribution, there is no classloader isolation between SPIs - all classes are shared. This lead to some ugly clashes, which we want to prevent by relocating all SPIs that use dependencies that aren't present on the Keycloak classpath by default.

What

Configures the maven-shade-plugin to relocate dependencies, and uses the gradle-shadow-plugin to relocate them in the gradle build

Why

The lack of classloader isolation in the Keycloak Quarkus distribution caused clashes between different SPIs that have dependencies

A small before and after of how the jars look on the inside:

BEFORE:

❯ unzip -l target/keycloak-metrics-spi-2.5.3-SNAPSHOT.jar
Archive:  target/keycloak-metrics-spi-2.5.3-SNAPSHOT.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  10-26-2022 11:54   META-INF/
      127  10-26-2022 11:54   META-INF/MANIFEST.MF
      194  10-26-2022 11:54   properties-from-pom.properties
      375  10-26-2022 11:54   jboss-deployment-structure.xml
        0  10-26-2022 11:54   org/
        0  10-26-2022 11:54   org/jboss/
        0  10-26-2022 11:54   org/jboss/aerogear/
        0  10-26-2022 11:54   org/jboss/aerogear/keycloak/
        0  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/
     2842  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEndpointFactory.class
    16780  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/PrometheusExporter.class
     1152  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsFilterProvider.class
     1053  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEventListenerSpi.class
     3230  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEventListener.class
     5510  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsFilter.class
     2934  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEndpoint.class
     3130  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/ResourceExtractor.class
     1468  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEventListenerFactory.class
     1238  10-26-2022 11:54   org/jboss/aerogear/keycloak/metrics/MetricsEventListener$1.class
        0  10-26-2022 11:54   META-INF/services/
       58  10-26-2022 11:54   META-INF/services/org.keycloak.services.resource.RealmResourceProviderFactory
       60  10-26-2022 11:54   META-INF/services/org.keycloak.events.EventListenerSpi
       63  10-26-2022 11:54   META-INF/services/org.keycloak.events.EventListenerProviderFactory
        0  10-26-2022 11:54   META-INF/maven/
        0  10-26-2022 11:54   META-INF/maven/org.jboss.aerogear/
        0  10-26-2022 11:54   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/
     4686  10-26-2022 11:50   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/pom.xml
       82  10-26-2022 11:54   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/pom.properties
        0  10-26-2022 11:54   META-INF/maven/io.prometheus/
        0  10-26-2022 11:54   META-INF/maven/io.prometheus/simpleclient_common/
      141  05-11-2020 12:07   META-INF/maven/io.prometheus/simpleclient_common/pom.properties
     1614  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_common/pom.xml
        0  10-26-2022 11:54   io/
        0  10-26-2022 11:54   io/prometheus/
        0  10-26-2022 11:54   io/prometheus/client/
        0  10-26-2022 11:54   io/prometheus/client/exporter/
        0  10-26-2022 11:54   io/prometheus/client/exporter/common/
      911  10-26-2022 11:54   io/prometheus/client/exporter/common/TextFormat$1.class
     3867  10-26-2022 11:54   io/prometheus/client/exporter/common/TextFormat.class
        0  10-26-2022 11:54   META-INF/maven/io.prometheus/simpleclient/
      134  05-11-2020 12:07   META-INF/maven/io.prometheus/simpleclient/pom.properties
     1601  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient/pom.xml
     1055  10-26-2022 11:54   io/prometheus/client/CKMSQuantiles$Item.class
      912  10-26-2022 11:54   io/prometheus/client/CKMSQuantiles$Quantile.class
     3764  10-26-2022 11:54   io/prometheus/client/CKMSQuantiles.class
      434  10-26-2022 11:54   io/prometheus/client/Collector$Describable.class
     2622  10-26-2022 11:54   io/prometheus/client/Collector$MetricFamilySamples$Sample.class
     2126  10-26-2022 11:54   io/prometheus/client/Collector$MetricFamilySamples.class
     1267  10-26-2022 11:54   io/prometheus/client/Collector$Type.class
     3262  10-26-2022 11:54   io/prometheus/client/Collector.class
      806  10-26-2022 11:54   io/prometheus/client/CollectorRegistry$1.class
     4459  10-26-2022 11:54   io/prometheus/client/CollectorRegistry$MetricFamilySamplesEnumeration.class
     6879  10-26-2022 11:54   io/prometheus/client/CollectorRegistry.class
      873  10-26-2022 11:54   io/prometheus/client/Counter$Builder.class
      950  10-26-2022 11:54   io/prometheus/client/Counter$Child.class
     3792  10-26-2022 11:54   io/prometheus/client/Counter.class
     2097  10-26-2022 11:54   io/prometheus/client/CounterMetricFamily.class
     3666  10-26-2022 11:54   io/prometheus/client/DoubleAdder.class
      205  10-26-2022 11:54   io/prometheus/client/Gauge$1.class
      857  10-26-2022 11:54   io/prometheus/client/Gauge$Builder.class
     2821  10-26-2022 11:54   io/prometheus/client/Gauge$Child.class
      585  10-26-2022 11:54   io/prometheus/client/Gauge$TimeProvider.class
     1312  10-26-2022 11:54   io/prometheus/client/Gauge$Timer.class
     4897  10-26-2022 11:54   io/prometheus/client/Gauge.class
     2085  10-26-2022 11:54   io/prometheus/client/GaugeMetricFamily.class
      217  10-26-2022 11:54   io/prometheus/client/Histogram$1.class
     2989  10-26-2022 11:54   io/prometheus/client/Histogram$Builder.class
      563  10-26-2022 11:54   io/prometheus/client/Histogram$Child$Value.class
     3203  10-26-2022 11:54   io/prometheus/client/Histogram$Child.class
     1440  10-26-2022 11:54   io/prometheus/client/Histogram$Timer.class
     5573  10-26-2022 11:54   io/prometheus/client/Histogram.class
     2388  10-26-2022 11:54   io/prometheus/client/SimpleCollector$Builder.class
     5172  10-26-2022 11:54   io/prometheus/client/SimpleCollector.class
      519  10-26-2022 11:54   io/prometheus/client/SimpleTimer$TimeProvider.class
     1090  10-26-2022 11:54   io/prometheus/client/SimpleTimer.class
     1213  10-26-2022 11:54   io/prometheus/client/Striped64$Cell.class
     3880  10-26-2022 11:54   io/prometheus/client/Striped64.class
      211  10-26-2022 11:54   io/prometheus/client/Summary$1.class
     3305  10-26-2022 11:54   io/prometheus/client/Summary$Builder.class
     2663  10-26-2022 11:54   io/prometheus/client/Summary$Child$Value.class
     3828  10-26-2022 11:54   io/prometheus/client/Summary$Child.class
     1418  10-26-2022 11:54   io/prometheus/client/Summary$Timer.class
     6229  10-26-2022 11:54   io/prometheus/client/Summary.class
     3687  10-26-2022 11:54   io/prometheus/client/SummaryMetricFamily.class
     1919  10-26-2022 11:54   io/prometheus/client/TimeWindowQuantiles.class
        0  10-26-2022 11:54   META-INF/maven/io.prometheus/simpleclient_hotspot/
      142  05-11-2020 12:08   META-INF/maven/io.prometheus/simpleclient_hotspot/pom.properties
     2249  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_hotspot/pom.xml
        0  10-26-2022 11:54   io/prometheus/client/hotspot/
     5613  10-26-2022 11:54   io/prometheus/client/hotspot/BufferPoolsExports.class
     2257  10-26-2022 11:54   io/prometheus/client/hotspot/ClassLoadingExports.class
     1487  10-26-2022 11:54   io/prometheus/client/hotspot/DefaultExports.class
     2315  10-26-2022 11:54   io/prometheus/client/hotspot/GarbageCollectorExports.class
     3802  10-26-2022 11:54   io/prometheus/client/hotspot/MemoryAllocationExports$AllocationCountingNotificationListener.class
     2612  10-26-2022 11:54   io/prometheus/client/hotspot/MemoryAllocationExports.class
     4440  10-26-2022 11:54   io/prometheus/client/hotspot/MemoryPoolsExports.class
      774  10-26-2022 11:54   io/prometheus/client/hotspot/StandardExports$StatusReader.class
     6372  10-26-2022 11:54   io/prometheus/client/hotspot/StandardExports.class
     5187  10-26-2022 11:54   io/prometheus/client/hotspot/ThreadExports.class
     1641  10-26-2022 11:54   io/prometheus/client/hotspot/VersionInfoExports.class
        0  10-26-2022 11:54   META-INF/maven/io.prometheus/simpleclient_pushgateway/
      146  05-11-2020 12:09   META-INF/maven/io.prometheus/simpleclient_pushgateway/pom.properties
     2174  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_pushgateway/pom.xml
     2264  10-26-2022 11:54   io/prometheus/client/exporter/BasicAuthHttpConnectionFactory.class
      784  10-26-2022 11:54   io/prometheus/client/exporter/DefaultHttpConnectionFactory.class
      269  10-26-2022 11:54   io/prometheus/client/exporter/HttpConnectionFactory.class
     9823  10-26-2022 11:54   io/prometheus/client/exporter/PushGateway.class
        0  10-26-2022 11:54   META-INF/versions/
        0  10-26-2022 11:54   META-INF/versions/9/
        0  10-26-2022 11:54   META-INF/versions/9/javax/
        0  10-26-2022 11:54   META-INF/versions/9/javax/xml/
        0  10-26-2022 11:54   META-INF/versions/9/javax/xml/bind/
     4234  10-26-2022 11:54   META-INF/versions/9/javax/xml/bind/ModuleUtil.class
    36551  07-31-2017 13:27   META-INF/LICENSE.txt
        0  10-26-2022 11:54   javax/
        0  10-26-2022 11:54   javax/xml/
        0  10-26-2022 11:54   javax/xml/bind/
     2225  10-26-2022 11:54   javax/xml/bind/TypeConstraintException.class
      969  10-26-2022 11:54   javax/xml/bind/UnmarshalException.class
        0  10-26-2022 11:54   javax/xml/bind/helpers/
      856  10-26-2022 11:54   javax/xml/bind/helpers/PrintConversionEventImpl.class
     2285  10-26-2022 11:54   javax/xml/bind/helpers/Messages.class
      856  10-26-2022 11:54   javax/xml/bind/helpers/NotIdentifiableEventImpl.class
    10047  10-26-2022 11:54   javax/xml/bind/helpers/AbstractMarshallerImpl.class
      856  10-26-2022 11:54   javax/xml/bind/helpers/ParseConversionEventImpl.class
     9805  10-26-2022 11:54   javax/xml/bind/helpers/AbstractUnmarshallerImpl.class
     3956  10-26-2022 11:54   javax/xml/bind/helpers/ValidationEventLocatorImpl.class
     3479  10-26-2022 11:54   javax/xml/bind/helpers/DefaultValidationEventHandler.class
     2631  10-26-2022 11:54   javax/xml/bind/helpers/ValidationEventImpl.class
     2679  07-31-2017 13:27   javax/xml/bind/helpers/Messages.properties
      614  10-26-2022 11:54   javax/xml/bind/JAXBContextFactory.class
     1625  10-26-2022 11:54   javax/xml/bind/Binder.class
      697  10-26-2022 11:54   javax/xml/bind/JAXB$Cache.class
     3888  10-26-2022 11:54   javax/xml/bind/JAXBContext.class
     2219  10-26-2022 11:54   javax/xml/bind/JAXBException.class
      174  10-26-2022 11:54   javax/xml/bind/ParseConversionEvent.class
      389  10-26-2022 11:54   javax/xml/bind/JAXBElement$GlobalScope.class
      174  10-26-2022 11:54   javax/xml/bind/PrintConversionEvent.class
     3296  10-26-2022 11:54   javax/xml/bind/DatatypeConverterImpl$CalendarFormatter.class
      654  10-26-2022 11:54   javax/xml/bind/Unmarshaller$Listener.class
        0  10-26-2022 11:54   javax/xml/bind/annotation/
      475  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementRefs.class
      406  10-26-2022 11:54   javax/xml/bind/annotation/XmlElement$DEFAULT.class
      422  10-26-2022 11:54   javax/xml/bind/annotation/XmlAnyAttribute.class
      419  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementDecl$GLOBAL.class
      466  10-26-2022 11:54   javax/xml/bind/annotation/XmlElements.class
     1169  10-26-2022 11:54   javax/xml/bind/annotation/XmlAccessType.class
      820  10-26-2022 11:54   javax/xml/bind/annotation/XmlSchema.class
      698  10-26-2022 11:54   javax/xml/bind/annotation/DomHandler.class
      823  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementDecl.class
      401  10-26-2022 11:54   javax/xml/bind/annotation/XmlNs.class
      408  10-26-2022 11:54   javax/xml/bind/annotation/XmlMixed.class
      760  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementRef.class
     1077  10-26-2022 11:54   javax/xml/bind/annotation/XmlNsForm.class
      399  10-26-2022 11:54   javax/xml/bind/annotation/XmlRegistry.class
      418  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementRef$DEFAULT.class
      747  10-26-2022 11:54   javax/xml/bind/annotation/XmlSchemaType.class
      402  10-26-2022 11:54   javax/xml/bind/annotation/XmlID.class
      601  10-26-2022 11:54   javax/xml/bind/annotation/XmlElementWrapper.class
      394  10-26-2022 11:54   javax/xml/bind/annotation/XmlType$DEFAULT.class
      462  10-26-2022 11:54   javax/xml/bind/annotation/XmlMimeType.class
      606  10-26-2022 11:54   javax/xml/bind/annotation/XmlAccessorType.class
      423  10-26-2022 11:54   javax/xml/bind/annotation/XmlList.class
     1073  10-26-2022 11:54   javax/xml/bind/annotation/XmlAccessOrder.class
      513  10-26-2022 11:54   javax/xml/bind/annotation/XmlRootElement.class
      428  10-26-2022 11:54   javax/xml/bind/annotation/XmlSeeAlso.class
      428  10-26-2022 11:54   javax/xml/bind/annotation/XmlTransient.class
      827  10-26-2022 11:54   javax/xml/bind/annotation/XmlElement.class
      442  10-26-2022 11:54   javax/xml/bind/annotation/XmlInlineBinaryData.class
      408  10-26-2022 11:54   javax/xml/bind/annotation/XmlValue.class
      516  10-26-2022 11:54   javax/xml/bind/annotation/XmlEnum.class
      418  10-26-2022 11:54   javax/xml/bind/annotation/XmlSchemaType$DEFAULT.class
      408  10-26-2022 11:54   javax/xml/bind/annotation/XmlIDREF.class
      441  10-26-2022 11:54   javax/xml/bind/annotation/XmlAttachmentRef.class
        0  10-26-2022 11:54   javax/xml/bind/annotation/adapters/
      748  10-26-2022 11:54   javax/xml/bind/annotation/adapters/XmlAdapter.class
     1473  10-26-2022 11:54   javax/xml/bind/annotation/adapters/NormalizedStringAdapter.class
      465  10-26-2022 11:54   javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter$DEFAULT.class
      496  10-26-2022 11:54   javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.class
      821  10-26-2022 11:54   javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.class
     1136  10-26-2022 11:54   javax/xml/bind/annotation/adapters/HexBinaryAdapter.class
     1911  10-26-2022 11:54   javax/xml/bind/annotation/adapters/CollapsedStringAdapter.class
      463  10-26-2022 11:54   javax/xml/bind/annotation/XmlSchemaTypes.class
      638  10-26-2022 11:54   javax/xml/bind/annotation/XmlAnyElement.class
      563  10-26-2022 11:54   javax/xml/bind/annotation/XmlAttribute.class
      433  10-26-2022 11:54   javax/xml/bind/annotation/XmlEnumValue.class
      779  10-26-2022 11:54   javax/xml/bind/annotation/XmlType.class
      606  10-26-2022 11:54   javax/xml/bind/annotation/XmlAccessorOrder.class
     2918  10-26-2022 11:54   javax/xml/bind/annotation/W3CDomHandler.class
      963  10-26-2022 11:54   javax/xml/bind/MarshalException.class
      680  10-26-2022 11:54   javax/xml/bind/JAXBIntrospector.class
      886  10-26-2022 11:54   javax/xml/bind/ContextFinder$2.class
     2319  10-26-2022 11:54   javax/xml/bind/Messages.class
      110  10-26-2022 11:54   javax/xml/bind/Element.class
     9041  10-26-2022 11:54   javax/xml/bind/JAXB.class
      744  10-26-2022 11:54   javax/xml/bind/ContextFinder$4.class
     2401  10-26-2022 11:54   javax/xml/bind/Marshaller.class
    16031  10-26-2022 11:54   javax/xml/bind/ContextFinder.class
      972  10-26-2022 11:54   javax/xml/bind/ValidationException.class
     7176  10-26-2022 11:54   javax/xml/bind/DatatypeConverter.class
     3074  10-26-2022 11:54   javax/xml/bind/Unmarshaller.class
     1891  10-26-2022 11:54   javax/xml/bind/DatatypeConverterInterface.class
      174  10-26-2022 11:54   javax/xml/bind/NotIdentifiableEvent.class
     2799  10-26-2022 11:54   javax/xml/bind/JAXBElement.class
      433  10-26-2022 11:54   javax/xml/bind/ValidationEvent.class
      336  10-26-2022 11:54   javax/xml/bind/ValidationEventLocator.class
     1107  10-26-2022 11:54   javax/xml/bind/ModuleUtil.class
      815  10-26-2022 11:54   javax/xml/bind/JAXBContext$1.class
      812  10-26-2022 11:54   javax/xml/bind/GetPropertyAction.class
      307  10-26-2022 11:54   javax/xml/bind/UnmarshallerHandler.class
      455  10-26-2022 11:54   javax/xml/bind/SchemaOutputResolver.class
      648  10-26-2022 11:54   javax/xml/bind/Validator.class
    17174  10-26-2022 11:54   javax/xml/bind/DatatypeConverterImpl.class
     2603  10-26-2022 11:54   javax/xml/bind/WhiteSpaceProcessor.class
      595  10-26-2022 11:54   javax/xml/bind/Marshaller$Listener.class
     6208  10-26-2022 11:54   javax/xml/bind/ServiceLoaderUtil.class
     1067  10-26-2022 11:54   javax/xml/bind/ContextFinder$1.class
      606  10-26-2022 11:54   javax/xml/bind/ContextFinder$5.class
      742  10-26-2022 11:54   javax/xml/bind/ServiceLoaderUtil$ExceptionHandler.class
        0  10-26-2022 11:54   javax/xml/bind/attachment/
      572  10-26-2022 11:54   javax/xml/bind/attachment/AttachmentUnmarshaller.class
      705  10-26-2022 11:54   javax/xml/bind/attachment/AttachmentMarshaller.class
     3211  07-31-2017 13:27   javax/xml/bind/Messages.properties
      566  10-26-2022 11:54   javax/xml/bind/DataBindingException.class
     1400  10-26-2022 11:54   javax/xml/bind/PropertyException.class
        0  10-26-2022 11:54   javax/xml/bind/util/
     4257  10-26-2022 11:54   javax/xml/bind/util/JAXBSource$1.class
     1864  10-26-2022 11:54   javax/xml/bind/util/Messages.class
     2187  10-26-2022 11:54   javax/xml/bind/util/JAXBSource.class
     1955  10-26-2022 11:54   javax/xml/bind/util/ValidationEventCollector.class
     2299  07-31-2017 13:27   javax/xml/bind/util/Messages.properties
     1548  10-26-2022 11:54   javax/xml/bind/util/JAXBResult.class
      200  10-26-2022 11:54   javax/xml/bind/ValidationEventHandler.class
      435  10-26-2022 11:54   javax/xml/bind/JAXBPermission.class
      654  10-26-2022 11:54   javax/xml/bind/ContextFinder$3.class
        0  10-26-2022 11:54   META-INF/maven/javax.xml.bind/
        0  10-26-2022 11:54   META-INF/maven/javax.xml.bind/jaxb-api/
    22988  07-31-2017 13:27   META-INF/maven/javax.xml.bind/jaxb-api/pom.xml
      108  07-31-2017 13:27   META-INF/maven/javax.xml.bind/jaxb-api/pom.properties
---------                     -------
   466259                     239 files

AFTER:

❯ unzip -l target/keycloak-metrics-spi-2.5.3-SNAPSHOT.jar
Archive:  target/keycloak-metrics-spi-2.5.3-SNAPSHOT.jar
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  10-26-2022 12:04   META-INF/
      127  10-26-2022 12:04   META-INF/MANIFEST.MF
      194  10-26-2022 12:04   properties-from-pom.properties
      375  10-26-2022 12:04   jboss-deployment-structure.xml
        0  10-26-2022 12:04   org/
        0  10-26-2022 12:04   org/jboss/
        0  10-26-2022 12:04   org/jboss/aerogear/
        0  10-26-2022 12:04   org/jboss/aerogear/keycloak/
        0  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/
     2842  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEndpointFactory.class
    17289  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/PrometheusExporter.class
     1152  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsFilterProvider.class
     1053  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEventListenerSpi.class
     3230  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEventListener.class
     5510  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsFilter.class
     2934  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEndpoint.class
     3130  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/ResourceExtractor.class
     1468  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEventListenerFactory.class
     1209  10-26-2022 12:04   org/jboss/aerogear/keycloak/metrics/MetricsEventListener$1.class
        0  10-26-2022 12:04   META-INF/services/
       58  10-26-2022 12:04   META-INF/services/org.keycloak.services.resource.RealmResourceProviderFactory
       60  10-26-2022 12:04   META-INF/services/org.keycloak.events.EventListenerSpi
       63  10-26-2022 12:04   META-INF/services/org.keycloak.events.EventListenerProviderFactory
        0  10-26-2022 12:04   META-INF/maven/
        0  10-26-2022 12:04   META-INF/maven/org.jboss.aerogear/
        0  10-26-2022 12:04   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/
     5364  10-26-2022 12:03   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/pom.xml
       82  10-26-2022 11:54   META-INF/maven/org.jboss.aerogear/keycloak-metrics-spi/pom.properties
        0  10-26-2022 12:04   META-INF/maven/io.prometheus/
        0  10-26-2022 12:04   META-INF/maven/io.prometheus/simpleclient_common/
      141  05-11-2020 12:07   META-INF/maven/io.prometheus/simpleclient_common/pom.properties
     1614  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_common/pom.xml
        0  10-26-2022 12:04   org/jboss/aerogear/io/
        0  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/
        0  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/
        0  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/
        0  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/common/
      996  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/common/TextFormat$1.class
     4114  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/common/TextFormat.class
        0  10-26-2022 12:04   META-INF/maven/io.prometheus/simpleclient/
      134  05-11-2020 12:07   META-INF/maven/io.prometheus/simpleclient/pom.properties
     1601  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient/pom.xml
     1150  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CKMSQuantiles$Item.class
      969  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CKMSQuantiles$Quantile.class
     3951  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CKMSQuantiles.class
      510  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Collector$Describable.class
     2698  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Collector$MetricFamilySamples$Sample.class
     2316  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Collector$MetricFamilySamples.class
     1397  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Collector$Type.class
     3547  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Collector.class
      891  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CollectorRegistry$1.class
     4896  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CollectorRegistry$MetricFamilySamplesEnumeration.class
     7392  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CollectorRegistry.class
     1082  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Counter$Builder.class
     1045  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Counter$Child.class
     4305  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Counter.class
     2287  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/CounterMetricFamily.class
     3780  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/DoubleAdder.class
      243  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge$1.class
     1066  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge$Builder.class
     3032  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge$Child.class
      642  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge$TimeProvider.class
     1504  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge$Timer.class
     5486  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Gauge.class
     2275  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/GaugeMetricFamily.class
      255  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram$1.class
     3233  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram$Builder.class
      639  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram$Child$Value.class
     3564  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram$Child.class
     1687  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram$Timer.class
     6238  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Histogram.class
     2692  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/SimpleCollector$Builder.class
     5590  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/SimpleCollector.class
      576  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/SimpleTimer$TimeProvider.class
     1149  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/SimpleTimer.class
     1289  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Striped64$Cell.class
     4013  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Striped64.class
      249  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary$1.class
     3685  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary$Builder.class
     3043  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary$Child$Value.class
     4360  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary$Child.class
     1665  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary$Timer.class
     6989  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/Summary.class
     3915  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/SummaryMetricFamily.class
     2109  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/TimeWindowQuantiles.class
        0  10-26-2022 12:04   META-INF/maven/io.prometheus/simpleclient_hotspot/
      142  05-11-2020 12:08   META-INF/maven/io.prometheus/simpleclient_hotspot/pom.properties
     2249  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_hotspot/pom.xml
        0  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/
     5784  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/BufferPoolsExports.class
     2428  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/ClassLoadingExports.class
     1772  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/DefaultExports.class
     2486  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/GarbageCollectorExports.class
     3935  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/MemoryAllocationExports$AllocationCountingNotificationListener.class
     2935  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/MemoryAllocationExports.class
     4630  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/MemoryPoolsExports.class
      831  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/StandardExports$StatusReader.class
     6601  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/StandardExports.class
     5396  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/ThreadExports.class
     1812  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/hotspot/VersionInfoExports.class
        0  10-26-2022 12:04   META-INF/maven/io.prometheus/simpleclient_pushgateway/
      146  05-11-2020 12:09   META-INF/maven/io.prometheus/simpleclient_pushgateway/pom.properties
     2174  05-11-2020 12:06   META-INF/maven/io.prometheus/simpleclient_pushgateway/pom.xml
     2397  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/BasicAuthHttpConnectionFactory.class
      841  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/DefaultHttpConnectionFactory.class
      288  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/HttpConnectionFactory.class
    10287  10-26-2022 12:04   org/jboss/aerogear/io/prometheus/client/exporter/PushGateway.class
        0  10-26-2022 12:04   META-INF/versions/
        0  10-26-2022 12:04   META-INF/versions/9/
        0  10-26-2022 12:04   META-INF/versions/9/javax/
        0  10-26-2022 12:04   META-INF/versions/9/javax/xml/
        0  10-26-2022 12:04   META-INF/versions/9/javax/xml/bind/
     4329  10-26-2022 12:04   META-INF/versions/9/javax/xml/bind/ModuleUtil.class
    36551  07-31-2017 13:27   META-INF/LICENSE.txt
        0  10-26-2022 12:04   org/jboss/aerogear/javax/
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/
     2263  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/TypeConstraintException.class
     1026  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/UnmarshalException.class
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/
      989  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/PrintConversionEventImpl.class
     2323  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/Messages.class
      989  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/NotIdentifiableEventImpl.class
    10746  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/AbstractMarshallerImpl.class
      989  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/ParseConversionEventImpl.class
    10983  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/AbstractUnmarshallerImpl.class
     4032  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/ValidationEventLocatorImpl.class
     3688  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/DefaultValidationEventHandler.class
     2802  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/helpers/ValidationEventImpl.class
     2679  07-31-2017 13:27   org/jboss/aerogear/javax/xml/bind/helpers/Messages.properties
      728  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBContextFactory.class
     1834  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Binder.class
      830  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXB$Cache.class
     4363  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBContext.class
     2257  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBException.class
      212  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ParseConversionEvent.class
      446  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBElement$GlobalScope.class
      212  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/PrintConversionEvent.class
     3353  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/DatatypeConverterImpl$CalendarFormatter.class
      711  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Unmarshaller$Listener.class
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/
      513  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementRefs.class
      463  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElement$DEFAULT.class
      441  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAnyAttribute.class
      476  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementDecl$GLOBAL.class
      504  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElements.class
     1280  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAccessType.class
      896  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlSchema.class
      888  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/DomHandler.class
      880  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementDecl.class
      420  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlNs.class
      427  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlMixed.class
      817  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementRef.class
     1188  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlNsForm.class
      418  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlRegistry.class
      475  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementRef$DEFAULT.class
      804  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlSchemaType.class
      421  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlID.class
      620  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElementWrapper.class
      451  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlType$DEFAULT.class
      481  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlMimeType.class
      663  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAccessorType.class
      442  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlList.class
     1184  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAccessOrder.class
      532  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlRootElement.class
      447  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlSeeAlso.class
      447  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlTransient.class
      884  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlElement.class
      461  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlInlineBinaryData.class
      427  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlValue.class
      535  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlEnum.class
      475  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlSchemaType$DEFAULT.class
      427  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlIDREF.class
      460  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAttachmentRef.class
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/
      805  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/XmlAdapter.class
     1549  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/NormalizedStringAdapter.class
      522  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter$DEFAULT.class
      534  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.class
      897  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.class
     1231  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/HexBinaryAdapter.class
     1987  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/adapters/CollapsedStringAdapter.class
      501  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlSchemaTypes.class
      695  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAnyElement.class
      582  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAttribute.class
      452  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlEnumValue.class
      836  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlType.class
      663  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/XmlAccessorOrder.class
     3355  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/annotation/W3CDomHandler.class
     1020  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/MarshalException.class
      756  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBIntrospector.class
      943  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder$2.class
     2357  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Messages.class
      129  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Element.class
     9744  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXB.class
      801  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder$4.class
     2781  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Marshaller.class
    16710  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder.class
     1029  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ValidationException.class
     7461  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/DatatypeConverter.class
     3739  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Unmarshaller.class
     1986  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/DatatypeConverterInterface.class
      212  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/NotIdentifiableEvent.class
     3008  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBElement.class
      471  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ValidationEvent.class
      355  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ValidationEventLocator.class
     1164  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ModuleUtil.class
      872  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBContext$1.class
      850  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/GetPropertyAction.class
      345  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/UnmarshallerHandler.class
      512  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/SchemaOutputResolver.class
      743  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Validator.class
    17661  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/DatatypeConverterImpl.class
     2641  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/WhiteSpaceProcessor.class
      652  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/Marshaller$Listener.class
     6398  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ServiceLoaderUtil.class
     1238  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder$1.class
      663  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder$5.class
      818  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ServiceLoaderUtil$ExceptionHandler.class
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/attachment/
      610  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/attachment/AttachmentUnmarshaller.class
      743  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/attachment/AttachmentMarshaller.class
     3211  07-31-2017 13:27   org/jboss/aerogear/javax/xml/bind/Messages.properties
      604  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/DataBindingException.class
     1476  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/PropertyException.class
        0  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/
     4466  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/JAXBSource$1.class
     1902  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/Messages.class
     2529  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/JAXBSource.class
     2145  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/ValidationEventCollector.class
     2299  07-31-2017 13:27   org/jboss/aerogear/javax/xml/bind/util/Messages.properties
     1833  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/util/JAXBResult.class
      238  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ValidationEventHandler.class
      473  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/JAXBPermission.class
      711  10-26-2022 12:04   org/jboss/aerogear/javax/xml/bind/ContextFinder$3.class
        0  10-26-2022 12:04   META-INF/maven/javax.xml.bind/
        0  10-26-2022 12:04   META-INF/maven/javax.xml.bind/jaxb-api/
    22988  07-31-2017 13:27   META-INF/maven/javax.xml.bind/jaxb-api/pom.xml
      108  07-31-2017 13:27   META-INF/maven/javax.xml.bind/jaxb-api/pom.properties
---------                     -------
   493864                     239 files
sonOfRa commented 1 year ago

CC @dmeyerholt