Http.client.newService("localhost:8080") constructs a new com.twitter.finagle.Service instance
connected to localhost TCP port 8080. We then issue a HTTP/1.1 GET request to URI "/". The service
returns a com.twitter.util.Future representing the result of the operation. We listen to this
future, printing an appropriate message when the response arrives.

The Finagle homepage contains useful documentation and
resources for using Finagle.

Thrift codecs

The type of the server codec is Service[Array[Byte], Array[Byte]]
and the client codecs are Service[ThriftClientRequest,
Array[Byte]]. The service provided is that of a "transport" of
thrift messages (requests and replies) according to the protocol
chosen. This is why the client codecs need to have access to a
thrift ProtocolFactory.

Binary annotations are tags applied to a Span to give it context. For
example, a binary annotation of "http.uri" could the path to a resource in a
RPC call.

Binary annotations of type STRING are always queryable, though more a
historical implementation detail than a structural concern.

Binary annotations can repeat, and vary on the host. Similar to Annotation,
the host indicates who logged the event. This allows you to tell the
difference between the client and server side of the same key. For example,
the key "http.uri" might be different on the client and server side due to
rewriting, like "/api/v1/myresource" vs "/myresource. Via the host field,
you can see the different points of view, which often help in debugging.

The host that recorded tag, which allows you to differentiate between
multiple tags with the same key.

The host that recorded tag, which allows you to differentiate between
multiple tags with the same key. There are two exceptions to this.

When the key is CLIENT_ADDR or SERVER_ADDR, host indicates the source or
destination of an RPC. This exception allows zipkin to display network
context of uninstrumented services, or clients such as web browsers.

The host that recorded tag, which allows you to differentiate between
multiple tags with the same key.

The host that recorded tag, which allows you to differentiate between
multiple tags with the same key. There are two exceptions to this.

When the key is CLIENT_ADDR or SERVER_ADDR, host indicates the source or
destination of an RPC. This exception allows zipkin to display network
context of uninstrumented services, or clients such as web browsers.