ddd0734f43
First cut at implementing a generic abstraction layer for pluggable metrics providers. This first cut is closely modeled after Yammer Metrics. It remains to be seen if it is indeed flexibel enough to support other providers. Provide a default implementation of this new abstraction layer based on Yammer Metrics. Support pluggable Monitoring Providers using Java 6's ServiceLoader. Use this new abstraction layer to provide stats on (a) number of Timeouts executed per second and (b) distribution of absolute deviation between scheduled and actual Timeout execution time in HashedWheelTimer. * Interface ValueDistributionMonitor, a monitor for histograms. * Interface EventRateMonitor, a monitor for measuring the rate per time unit of specific events. * Interface ValueMonitor, a monitor for tracking an arbitrary datum's current value * Interface CounterMonitor, a monitor for incrementing/decrementing a long value * Interface MonitorRegistry, a registry for monitors that serves as the interface between Netty and concrete metrics providers as e.g. Yammer Metrics. * Interface MonitorRegistryFactory, to be implemented by metrics providers. * Document how to use Netty's new monitoring support in javadocs for package io.netty.monitor.
327 lines
11 KiB
XML
327 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
~ Copyright 2012 The Netty Project
|
|
~
|
|
~ The Netty Project licenses this file to you under the Apache License,
|
|
~ version 2.0 (the "License"); you may not use this file except in compliance
|
|
~ with the License. You may obtain a copy of the License at:
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
~ License for the specific language governing permissions and limitations
|
|
~ under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-parent</artifactId>
|
|
<version>4.0.0.Alpha6-SNAPSHOT</version>
|
|
</parent>
|
|
|
|
<artifactId>netty</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Netty/All-in-One</name>
|
|
|
|
<properties>
|
|
<quickbuild>true</quickbuild>
|
|
</properties>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>full</id>
|
|
<properties>
|
|
<quickbuild>false</quickbuild>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>sonatype-oss-release</id>
|
|
<properties>
|
|
<quickbuild>false</quickbuild>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>release</id>
|
|
<properties>
|
|
<quickbuild>false</quickbuild>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<dependencies>
|
|
<!-- The example depends on (almost) all modules either directly or transitively -->
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>netty-example</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<!-- The only module netty-example does NOT depend on -->
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>netty-metrics-yammer</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<!-- Add optional dependencies explicitly to avoid Javadoc warnings and errors. -->
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.marshalling</groupId>
|
|
<artifactId>jboss-marshalling</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jboss.logging</groupId>
|
|
<artifactId>jboss-logging-spi</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.osgi</groupId>
|
|
<artifactId>org.osgi.core</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.osgi</groupId>
|
|
<artifactId>org.osgi.compendium</artifactId>
|
|
<scope>compile</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>clean-first</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>clean</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-sources</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>unpack-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<classifier>sources</classifier>
|
|
<includes>io/netty/**</includes>
|
|
<includeGroupIds>${project.groupId}</includeGroupIds>
|
|
<outputDirectory>${project.build.directory}/src</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>unpack-jars</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>unpack-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includes>io/netty/**</includes>
|
|
<excludes>io/netty/example/**</excludes>
|
|
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>target/src</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Disable animal sniffer -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>animal-sniffer-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Disable checkstyle -->
|
|
<plugin>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>check-style</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Disable all plugin executions configured by jar packaging -->
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-resources</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
<execution>
|
|
<id>default-testResources</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-compile</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
<execution>
|
|
<id>default-testCompile</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>default-test</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-jxr-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>generate-xref</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>jxr</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<skip>${quickbuild}</skip>
|
|
<inputEncoding>UTF-8</inputEncoding>
|
|
<outputEncoding>UTF-8</outputEncoding>
|
|
<linkJavadoc>true</linkJavadoc>
|
|
<destDir>${project.build.directory}/xref</destDir>
|
|
<javadocDir>${project.build.directory}/api</javadocDir>
|
|
<docTitle>Netty Source Xref (${project.version})</docTitle>
|
|
<windowTitle>Netty Source Xref (${project.version})</windowTitle>
|
|
</configuration>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>${project.groupId}</groupId>
|
|
<artifactId>netty-build</artifactId>
|
|
<version>10</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>attach-javadocs</id>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<skip>${quickbuild}</skip>
|
|
<excludePackageNames>*.internal,*.example</excludePackageNames>
|
|
<doclet>org.jboss.apiviz.APIviz</doclet>
|
|
<docfilessubdirs>true</docfilessubdirs>
|
|
<docletArtifact>
|
|
<groupId>org.jboss.apiviz</groupId>
|
|
<artifactId>apiviz</artifactId>
|
|
<version>1.3.2.GA</version>
|
|
</docletArtifact>
|
|
<useStandardDocletOptions>true</useStandardDocletOptions>
|
|
<outputDirectory>${project.build.directory}/api</outputDirectory>
|
|
<overview>${basedir}/src/javadoc/overview.html</overview>
|
|
<doctitle>Netty API Reference (${project.version})</doctitle>
|
|
<windowtitle>Netty API Reference (${project.version})</windowtitle>
|
|
<detectJavaApiLink>false</detectJavaApiLink>
|
|
<additionalparam>
|
|
-link http://docs.oracle.com/javase/7/docs/api/
|
|
-link http://code.google.com/apis/protocolbuffers/docs/reference/java/
|
|
-link http://docs.oracle.com/javaee/6/api/
|
|
-link http://www.osgi.org/javadoc/r4v43/core/
|
|
-link http://www.slf4j.org/apidocs/
|
|
-link http://commons.apache.org/logging/commons-logging-1.1.1/apidocs/
|
|
-link http://logging.apache.org/log4j/1.2/apidocs/
|
|
-link http://metrics.codahale.com/maven/apidocs/
|
|
|
|
-group "Low-level data representation" io.netty.buffer*
|
|
-group "Central interface for all I/O operations" io.netty.channel*
|
|
-group "Client & Server bootstrapping utilities" io.netty.bootstrap*
|
|
-group "Reusable I/O event interceptors" io.netty.handler*
|
|
-group "Miscellaneous" io.netty.logging*:io.netty.util*:io.netty.monitor:io.netty.monitor.spi
|
|
-group "Yammer monitoring support" io.netty.monitor.yammer*
|
|
|
|
-sourceclasspath ${project.build.outputDirectory}
|
|
-nopackagediagram
|
|
</additionalparam>
|
|
<encoding>UTF-8</encoding>
|
|
<locale>en_US</locale>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|
|
|