-
-
Save AkhilJ876/3e38757c28d43924f296dd2d147c0bd9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.twitter.bijection.twitter_util.UtilBijections._ | |
import com.twitter.finagle.http.{Request, Response, Status, Version} | |
import com.twitter.finagle.{Http, Service} | |
import com.twitter.finagle.stats.NullStatsReceiver | |
import com.twitter.finagle.tracing.Trace | |
import com.twitter.finagle.param.Label | |
import com.twitter.finagle.zipkin.thrift.ZipkinTracer | |
import com.twitter.util.Await | |
import scala.concurrent.{Future => SFuture} | |
import scala.concurrent.ExecutionContext.Implicits.global | |
object ZipkinTestServer extends App { | |
val tracer = ZipkinTracer.mk(host = "192.168.99.100", port = 9410, statsReceiver = new NullStatsReceiver, sampleRate = 1.0F) | |
val myService = new UserResponse | |
val server = Http.server.withTracer(tracer).configured(Label("ZipkinTestServer")).serve(":8081", myService) | |
Await.ready(server) | |
} | |
class UserResponse extends Service[Request, Response] { | |
def apply(request: Request) = { | |
val response = Response(Version.Http11, Status.Ok) | |
val responseString = futureFunc1(request) | |
println(responseString) | |
twitter2ScalaFuture[Response].invert(responseString map { | |
case a => | |
println("Inside Success" + a) | |
response.setContentString(a) | |
response | |
}) | |
} | |
def futureFunc1(req: Request): SFuture[String] = Trace.traceService("Function1","Test"){ | |
// Call to lower Function/Service | |
val func2String = futureFunc2() | |
func2String | |
} | |
def futureFunc2(): SFuture[String] = { | |
SFuture { | |
val str = "Hello World" | |
str | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment