305 lines
9.7 KiB
RPMSpec
305 lines
9.7 KiB
RPMSpec
Name: metrics
|
|
Version: 3.1.2
|
|
Release: 2
|
|
Summary: Java library which gives you what your code does in production
|
|
License: ASL 2.0
|
|
URL: http://metrics.dropwizard.io
|
|
Source0: https://github.com/dropwizard/metrics/archive/v%{version}.tar.gz
|
|
Patch0: metrics-3.1.2-amqp-client35.patch
|
|
Patch1: metrics-3.1.2-ehcache-core.patch
|
|
Patch2: delete-jersey1-module.patch
|
|
Patch3: Fix-build-error-for-sphinx-7.0.patch
|
|
BuildRequires: maven-local mvn(ch.qos.logback:logback-classic)
|
|
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) mvn(com.google.guava:guava)
|
|
BuildRequires: mvn(com.rabbitmq:amqp-client) jersey
|
|
BuildRequires: mvn(info.ganglia.gmetric4j:gmetric4j) mvn(javax.servlet:javax.servlet-api)
|
|
BuildRequires: mvn(javax.ws.rs:javax.ws.rs-api) mvn(log4j:log4j:1.2.17)
|
|
BuildRequires: mvn(net.sf.ehcache:ehcache-core) mvn(org.apache.felix:maven-bundle-plugin)
|
|
BuildRequires: mvn(org.apache.httpcomponents:httpasyncclient)
|
|
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
|
|
BuildRequires: mvn(org.apache.logging.log4j:log4j-api)
|
|
BuildRequires: mvn(org.apache.logging.log4j:log4j-core)
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin)
|
|
BuildRequires: mvn(org.glassfish.jersey.core:jersey-server) mvn(org.jdbi:jdbi)
|
|
BuildRequires: mvn(org.openjdk.jmh:jmh-core) mvn(org.openjdk.jmh:jmh-generator-annprocess)
|
|
BuildRequires: mvn(org.slf4j:slf4j-api)
|
|
%if 0
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-server:8.1.11.v20130520)
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-client:9.2.2.v20140723)
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-server:9.2.2.v20140723)
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-server:9.0.4.v20130625)
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-client:9.0.4.v20130625)
|
|
BuildRequires: mvn(com.sun.jersey.jersey-test-framework:jersey-test-framework-inmemory)
|
|
BuildRequires: mvn(org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-inmemory)
|
|
BuildRequires: mvn(junit:junit) mvn(org.assertj:assertj-core:jar:1.6.1)
|
|
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) mvn(org.mockito:mockito-all)
|
|
BuildRequires: mvn(org.python:jython-standalone) mvn(org.slf4j:slf4j-simple)
|
|
%endif
|
|
BuildRequires: python-sphinx /usr/bin/pdflatex
|
|
BuildArch: noarch
|
|
%description
|
|
Metrics is a Java library which gives you unparalleled insight
|
|
into what your code does in production.
|
|
Developed by Yammer to instrument their JVM-based back-end services,
|
|
Metrics provides a powerful toolkit of ways to measure the behavior
|
|
of critical components in your production environment.
|
|
With modules for common libraries like Jetty, Logback, Log4j,
|
|
Apache HttpClient, Ehcache, JDBI, Jersey and reporting back-ends like
|
|
Ganglia and Graphite, Metrics provides you with full-stack visibility.
|
|
For more information, please see the documentation.
|
|
This package provides the Metrics Core Library.
|
|
|
|
%package annotation
|
|
Summary: Annotations for Metrics
|
|
%description annotation
|
|
A dependency-less package of just the
|
|
annotations used by other Metrics modules.
|
|
|
|
%package benchmarks
|
|
Summary: Benchmarks for Metrics
|
|
%description benchmarks
|
|
A development module for performance benchmarks of
|
|
Metrics classes.
|
|
|
|
%package ehcache
|
|
Summary: Metrics Integration for Ehcache
|
|
%description ehcache
|
|
An Ehcache wrapper providing Metrics instrumentation of caches.
|
|
|
|
%package ganglia
|
|
Summary: Ganglia Integration for Metrics
|
|
%description ganglia
|
|
A reporter for Metrics which announces measurements
|
|
to a Ganglia cluster.
|
|
|
|
%package graphite
|
|
Summary: Graphite Integration for Metrics
|
|
%description graphite
|
|
A reporter for Metrics which announces measurements
|
|
to a Graphite server.
|
|
|
|
%package healthchecks
|
|
Summary: Metrics Health Checks
|
|
%description healthchecks
|
|
An addition to Metrics which provides the ability to
|
|
run application-specific health checks, allowing you
|
|
to check your application's heath in production.
|
|
|
|
%package httpasyncclient
|
|
Summary: Metrics Integration for Apache HttpAsyncClient
|
|
%description httpasyncclient
|
|
An Apache HttpAsyncClient wrapper providing Metrics
|
|
instrumentation of connection pools, request
|
|
durations and rates, and other useful information.
|
|
|
|
%package httpclient
|
|
Summary: Metrics Integration for Apache HttpClient
|
|
%description httpclient
|
|
An Apache HttpClient wrapper providing Metrics
|
|
instrumentation of connection pools, request
|
|
durations and rates, and other useful information.
|
|
|
|
%package jdbi
|
|
Summary: Metrics Integration for JDBI
|
|
%description jdbi
|
|
A JDBI wrapper providing Metrics instrumentation of
|
|
query durations and rates.
|
|
|
|
%package jersey2
|
|
Summary: Metrics Integration for Jersey 2.x
|
|
%description jersey2
|
|
A set of class providing Metrics integration for Jersey 2.x,
|
|
the reference JAX-RS implementation.
|
|
%if 0
|
|
|
|
%package jetty
|
|
Summary: Metrics Integration for Jetty 8/9
|
|
%description jetty
|
|
A set of extensions for Jetty 8/9 which provide instrumentation of
|
|
thread pools, connector metrics, and application latency and
|
|
utilization.
|
|
%endif
|
|
|
|
%package json
|
|
Summary: Jackson Integration for Metrics
|
|
%description json
|
|
A set of Jackson modules which provide serializers
|
|
for most Metrics classes.
|
|
|
|
%package jvm
|
|
Summary: JVM Integration for Metrics
|
|
%description jvm
|
|
A set of classes which allow you to monitor
|
|
critical aspects of your Java Virtual Machine
|
|
using Metrics.
|
|
|
|
%package log4j2
|
|
Summary: Metrics Integration for Log4j 2.x
|
|
%description log4j2
|
|
An instrumented appender for Log4j 2.x.
|
|
|
|
%package log4j
|
|
Summary: Metrics Integration for Log4j
|
|
Requires: log4j12
|
|
%description log4j
|
|
An instrumented appender for Log4j.
|
|
|
|
%package logback
|
|
Summary: Metrics Integration for Logback
|
|
%description logback
|
|
An instrumented appender for Logback.
|
|
|
|
%package parent
|
|
Summary: Metrics Parent POM
|
|
%description parent
|
|
This package provides Metrics Parent POM.
|
|
|
|
%package servlet
|
|
Summary: Metrics Integration for Servlets
|
|
%description servlet
|
|
An instrumented filter for servlet environments.
|
|
|
|
%package servlets
|
|
Summary: Metrics Utility Servlets
|
|
%description servlets
|
|
A set of utility servlets for Metrics, allowing you
|
|
to expose valuable information about your production
|
|
environment.
|
|
|
|
%package javadoc
|
|
Summary: Javadoc for %{name}
|
|
%description javadoc
|
|
This package contains javadoc for %{name}.
|
|
|
|
%package doc
|
|
Summary: Metrics's user manual
|
|
%description doc
|
|
This package contains %{name}'s user manual.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{version}
|
|
find . -name "*.class" -delete
|
|
find . -name "*.jar" -type f -delete
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%pom_disable_module metrics-jetty8
|
|
%pom_disable_module metrics-jetty9
|
|
%pom_disable_module metrics-jetty9-legacy
|
|
%pom_remove_plugin :findbugs-maven-plugin
|
|
%pom_remove_plugin :maven-enforcer-plugin
|
|
%pom_remove_plugin -r :maven-shade-plugin
|
|
%pom_xpath_remove "pom:plugins/pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions"
|
|
%pom_remove_plugin :maven-source-plugin
|
|
%pom_add_dep javax.ws.rs:javax.ws.rs-api metrics-jersey2
|
|
sed -i "s|jersey.repackaged.||" \
|
|
metrics-jersey2/src/main/java/com/codahale/metrics/jersey2/InstrumentedResourceMethodApplicationListener.java
|
|
%pom_add_dep com.google.guava:guava metrics-jersey2
|
|
%pom_remove_dep -r org.assertj:assertj-core
|
|
%if 0
|
|
%mvn_package ":%{name}-jetty8" %{name}-jetty
|
|
%mvn_package ":%{name}-jetty9" %{name}-jetty
|
|
%mvn_package ":%{name}-jetty9-legacy" %{name}-jetty
|
|
%endif
|
|
%mvn_alias io.dropwizard.metrics: com.codahale.metrics:
|
|
|
|
%build
|
|
%mvn_build -s -f
|
|
(
|
|
cd docs
|
|
%if 0
|
|
make %{?_smp_mflags} latexpdf
|
|
%endif
|
|
make %{?_smp_mflags} singlehtml
|
|
make %{?_smp_mflags} man
|
|
)
|
|
|
|
%install
|
|
%mvn_install
|
|
mkdir -p %{buildroot}%{_mandir}/man1
|
|
install -pm 644 docs/target/man/%{name}.1 %{buildroot}%{_mandir}/man1/
|
|
rm -rf docs/target/singlehtml/.buildinfo
|
|
|
|
%files -f .mfiles-%{name}-core
|
|
%doc README.md
|
|
%license LICENSE NOTICE
|
|
|
|
%files annotation -f .mfiles-%{name}-annotation
|
|
%license LICENSE NOTICE
|
|
|
|
%files benchmarks -f .mfiles-%{name}-benchmarks
|
|
%doc %{name}-benchmarks/README.md
|
|
%license LICENSE NOTICE
|
|
|
|
%files ehcache -f .mfiles-%{name}-ehcache
|
|
%license LICENSE NOTICE
|
|
|
|
%files ganglia -f .mfiles-%{name}-ganglia
|
|
%license LICENSE NOTICE
|
|
|
|
%files graphite -f .mfiles-%{name}-graphite
|
|
%license LICENSE NOTICE
|
|
|
|
%files healthchecks -f .mfiles-%{name}-healthchecks
|
|
%license LICENSE NOTICE
|
|
|
|
%files httpasyncclient -f .mfiles-%{name}-httpasyncclient
|
|
%license LICENSE NOTICE
|
|
|
|
%files httpclient -f .mfiles-%{name}-httpclient
|
|
%license LICENSE NOTICE
|
|
|
|
%files jdbi -f .mfiles-%{name}-jdbi
|
|
%license LICENSE NOTICE
|
|
|
|
%files jersey2 -f .mfiles-%{name}-jersey2
|
|
%license LICENSE NOTICE
|
|
%if 0
|
|
|
|
%files jetty -f .mfiles-%{name}-jetty
|
|
%license LICENSE NOTICE
|
|
%endif
|
|
|
|
%files json -f .mfiles-%{name}-json
|
|
%license LICENSE NOTICE
|
|
|
|
%files jvm -f .mfiles-%{name}-jvm
|
|
%license LICENSE NOTICE
|
|
|
|
%files log4j2 -f .mfiles-%{name}-log4j2
|
|
%license LICENSE NOTICE
|
|
|
|
%files log4j -f .mfiles-%{name}-log4j
|
|
%license LICENSE NOTICE
|
|
|
|
%files logback -f .mfiles-%{name}-logback
|
|
%license LICENSE NOTICE
|
|
|
|
%files parent -f .mfiles-%{name}-parent
|
|
%license LICENSE NOTICE
|
|
|
|
%files servlet -f .mfiles-%{name}-servlet
|
|
%license LICENSE NOTICE
|
|
|
|
%files servlets -f .mfiles-%{name}-servlets
|
|
%license LICENSE NOTICE
|
|
|
|
%files javadoc -f .mfiles-javadoc
|
|
%license LICENSE NOTICE
|
|
|
|
%files doc
|
|
%{_mandir}/man1/%{name}.*
|
|
%license LICENSE NOTICE
|
|
%doc docs/target/singlehtml
|
|
%if 0
|
|
%doc docs/target/latex/*.pdf
|
|
%endif
|
|
|
|
%changelog
|
|
* Wed Aug 2 2023 liyanan <thistleslyn@163.com> - 3.1.2-2
|
|
- Fix build error for sphinx 7.0
|
|
|
|
* Sat Sep 19 2020 huanghaitao <huanghaitao8@huawei.com> - 3.1.2-1
|
|
- package init
|