// ----- ostrich service

import com.twitter.finagle.builder.{Server, ServerBuilder}
import com.twitter.finagle.stats.{StatsReceiver, OstrichStatsReceiver}
import com.twitter.finagle.thrift.ThriftServerFramedCodec
import com.twitter.finagle.tracing.{NullTracer, Tracer}
import com.twitter.logging.Logger
import com.twitter.ostrich.admin.Service

trait ThriftServer extends Service with FutureIface {
  val log = Logger.get(getClass)

  def thriftCodec = ThriftServerFramedCodec()
  def statsReceiver: StatsReceiver = new OstrichStatsReceiver
  def tracer: Tracer = NullTracer
  val thriftProtocolFactory = new TBinaryProtocol.Factory()
  val thriftPort: Int
  val serverName: String

  var server: Server = null

  def start() {
    val thriftImpl = new FinagledService(this, thriftProtocolFactory)
    val serverAddr = new InetSocketAddress(thriftPort)
    server = ServerBuilder()
      .codec(thriftCodec)
      .name(serverName)
      .reportTo(statsReceiver)
      .bindTo(serverAddr)
      .tracer(tracer)
      .build(thriftImpl)
  }

  def shutdown() {
    synchronized {
      if (server != null) {
        server.close(0.seconds)
      }
    }
  }
}
// ----- ostrich service

import com.twitter.finagle.builder.{Server, ServerBuilder}
import com.twitter.finagle.stats.OstrichStatsReceiver
import com.twitter.finagle.thrift.ThriftServerFramedCodec
import com.twitter.logging.Logger
import com.twitter.ostrich.admin.Service

trait ThriftServer extends Service with FutureIface {
  val log = Logger.get(getClass)

  def thriftCodec = ThriftServerFramedCodec()
  val thriftProtocolFactory = new TBinaryProtocol.Factory()
  val thriftPort: Int
  val serverName: String

  var server: Server = null

  def start() {
    val thriftImpl = new FinagledService(this, thriftProtocolFactory)
    val serverAddr = new InetSocketAddress(thriftPort)
    server = ServerBuilder().codec(thriftCodec).name(serverName).reportTo(new OstrichStatsReceiver).bindTo(serverAddr).build(thriftImpl)
  }

  def shutdown() {
    synchronized {
      if (server != null) {
        server.close(0.seconds)
      }
    }
  }
}
--- 
+++ 
@@ -1,8 +1,9 @@
 // ----- ostrich service
 
 import com.twitter.finagle.builder.{Server, ServerBuilder}
-import com.twitter.finagle.stats.OstrichStatsReceiver
+import com.twitter.finagle.stats.{StatsReceiver, OstrichStatsReceiver}
 import com.twitter.finagle.thrift.ThriftServerFramedCodec
+import com.twitter.finagle.tracing.{NullTracer, Tracer}
 import com.twitter.logging.Logger
 import com.twitter.ostrich.admin.Service
 
@@ -10,6 +11,8 @@
   val log = Logger.get(getClass)
 
   def thriftCodec = ThriftServerFramedCodec()
+  def statsReceiver: StatsReceiver = new OstrichStatsReceiver
+  def tracer: Tracer = NullTracer
   val thriftProtocolFactory = new TBinaryProtocol.Factory()
   val thriftPort: Int
   val serverName: String
@@ -19,7 +22,13 @@
   def start() {
     val thriftImpl = new FinagledService(this, thriftProtocolFactory)
     val serverAddr = new InetSocketAddress(thriftPort)
-    server = ServerBuilder().codec(thriftCodec).name(serverName).reportTo(new OstrichStatsReceiver).bindTo(serverAddr).build(thriftImpl)
+    server = ServerBuilder()
+      .codec(thriftCodec)
+      .name(serverName)
+      .reportTo(statsReceiver)
+      .bindTo(serverAddr)
+      .tracer(tracer)
+      .build(thriftImpl)
   }
 
   def shutdown() {
Allow a tracer to be set on the ServerBuilder
