Netflix Application Monitoring Library
Java Shell
Latest commit c190cd4 Feb 8, 2017 @dmuino dmuino committed on GitHub Merge pull request #408 from meleshuk/reduce_allocations
Heavy metrics polling results in very frequent invocation of ValidCha…
Failed to load latest commit information.
codequality nebula 3.1.2 Dec 3, 2015
gradle/wrapper nebula 3.1.2 Dec 3, 2015
servo-apache Merge pull request #390 from brharrington/apache-readme Jul 15, 2016
servo-atlas Heavy metrics polling results in very frequent invocation of ValidCha… Feb 8, 2017
servo-aws Fix findBugs violation + style fixes Feb 8, 2017
servo-core Fix findBugs violation + style fixes Feb 8, 2017
servo-example Fix findBugs violation + style fixes Feb 8, 2017
servo-graphite Refactor synchronized block on JmxMonitorRegistry Mar 23, 2016
servo-tomcat update the servo-tomcat docs Feb 12, 2016
.gitignore Constante has been replaced by Enum - it looks better May 20, 2014
.netflixoss setup travis build Aug 7, 2015
.travis.yml Updated Bintray API key May 28, 2016 add link to release page Jan 22, 2015 clarify build and test steps Dec 17, 2014
LICENSE Restructure into smaller files Apr 2, 2012
LICENSE.txt Added files. Jan 10, 2012
NOTICE.txt tiny, tiny change :) Apr 2, 2014
OSSMETADATA adding OSSMETADATA for NetflixOSS tracking Dec 11, 2015 update version in maven example Jun 14, 2016
build.gradle use nebula recommender plugin Dec 14, 2015 setup travis build Aug 7, 2015 update to netty-4.1.5 (#398) Aug 31, 2016 remove version from Dec 3, 2015
gradlew Upgrading to Gradle 1.4 Mar 22, 2013
gradlew.bat Upgrade to Gradle 1.1. Aug 17, 2012 setup travis build Aug 7, 2015
settings.gradle Migrate servo to java 8 Aug 5, 2015

Servo: Application Metrics in Java



Servo provides a simple interface for exposing and publishing application metrics in Java. The primary goals are:

  • Leverage JMX: JMX is the standard monitoring interface for Java and can be queried by many existing tools.
  • Keep It Simple: It should be trivial to expose metrics and publish metrics without having to write lots of code such as MBean interfaces.
  • Flexible Publishing: Once metrics are exposed, it should be easy to regularly poll the metrics and make them available for internal reporting systems, logs, and services like Amazon CloudWatch.

This has already been implemented inside of Netflix and most of our applications currently use it.

Project Details

Build Status

Build Status


Servo is released with a 0.X.Y version because it has not yet reached full API stability.

Given a version number MAJOR.MINOR.PATCH, increment the:

  • MINOR version when there are binary incompatible changes, and
  • PATCH version when new functionality or bug fixes are backwards compatible.



Project Usage


To build the Servo project:

$ git clone
$ cd servo
$ ./gradlew build

More details can be found on the Getting Started page of the wiki.


Binaries and dependency information can be found at Maven Central.

Maven Example:


Ivy Example:

<dependency org="" name="servo-core" rev="0.12.7" />


Copyright 2012-2016 Netflix, Inc.

Licensed 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:

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.