csl: updates changelogs to be current

RB_ID=422811
TBR=true
do not trace the admin http server

RB_ID=427511
twitter-server: add gauge on eden allocations

Problem

It is difficult to estimate how many bytes an application is
allocating. With this information, it is easier to monitor for
regressions.

Solution

Added `Allocations` to TwitterServer which provides an `eden: Long`
method which returns an estimate of the total bytes allocated into the
eden. While not all allocations happen in the eden, it is the common
case.

If for some reason, the right diagnostic hooks are not available, -1L
is used as a sentinel value.

Result

Service owners have better visibility into their allocation rates.

RB_ID=429819
util-app: log severely if a flag is read at the wrong time

Problem

The flags api is tricky to use.  You can only construct flags in
the constructor, and only read them after flag parse time.  It's
especially easy to read flags accidentally before parse time, and
difficult to debug.

Solution

Adds a constructor argument to flags which lets them log severely
if they're parsed incorrectly.

Result

local flags are protected from poor usage, but global flags still
aren't.

RB_ID=429201
util: Enables cross-publishing for 2.11

Problem

Although the specs tests were removed, we weren't publishing against
2.11.  Notably, util-eval will be killed for 2.11, and it's nontrivial
to get sbt to aggregate a project for some crossScalaVersions, and
not for others.  Also, we were depending on a scalacheck feature
that was removed in newer versions of scalacheck.

Solution

Upgraded scalacheck version for 2.9.2 to one that had a replacement
method that was the same in the up to date scalacheck.  Moved
util-eval out from being aggregated, and changed its crossScalaVersion
to only "2.9.2", "2.10.4".  It turned out that the version of sbt
we were on had a bug where it didn't use incremental compilation
if you used cross building, so I upgraded us to 0.13.5 across the
board.  util-logging was ooming, so I increased the heap size.

Result

We can now publish against 2.11

RB_ID=425979
Problem
Scala 2.10 build was broken because of:
edenKeys.flatMap { k => ... }
I believe `k` type was seen by the compiler as an existential type

Solution
Specify the type of `k`, use the widest type possible (we cast `k` right after that line)

Result
sbt Scala 2.10 build is succeeding.

RB_ID=435725
twitter-server, finagle-core: Redesign of twitter-server admin page

Problem:
The twitter-server admin endpoint doesn't show enough
information to immediately identify and diagnose server
and client issues.

Solution:
Re-designed the /admin endpoint to show 4 least-performant
clients, configured flags, and dynamic graphs of metrics.

Result
Visit the /admin endpoint to quickly view the status of
the server and downstream clients.

RB_ID=420429
TBR=true
bump util to 6.20.1-SNAPSHOT

RB_ID=436989
TBR=true
NO-QUEUE=true
One step on the road to get pants publishing in the birdcage is to add
provides() clauses to the BUILD files.  This is the result of running a
script, that mines the POM files for artifacts to publish.  Maven and pants
don't correspond 1:1, however, so this may result in some provides() being
put on objects that won't ever publish, and some provides() missing on
things that do.  This should serve as a first cut, that we might tweak in
subsequent RBs.

Prior art (that wasn't committed): https://reviewboard.twitter.biz/r/415349/

RB_ID=434071
csl: Fix tls-able urls to point to https

RB_ID=437687
TBR=true
twitter-server: fixed regression to compile against 2.10

RB_ID=437993
TBR=true
twitter-server: Parameterize IndexHandler on a `patterns: Seq[String]`

Problem

com.twitter.server.handler.IndexHandler hardcodes the HttpMuxer it
uses to expose its HTTP endpoint(s). This makes IndexHandler unusable
outside of the context of twitter-server.

Solution

Parameterize IndexHandler on a sequence of pattern strings which
defaults to `HttpMuxer.patterns`.

RB_ID=438203
twitter-server: proper resource loading in admin pages

Problem

static resources for the twitter-server admin pages
were being improperly referenced.

Solution

Defer to the ClassLoader to load resources.

RB_ID=440057
NO-QUEUE=true
Add deps on Guava 16.0.1 to twitter-server and finagle-http poms

Problem

com.twitter.finagle.http.codec.HttpDtab uses
com.google.common.io.BaseEncoding, which is in Guava 14+. Since
finagle-http does not depend directly on Guava, it gets v13.x from
Jackson, which lacks the BaseEncoding class. This results in
NoClassDefFoundErrors being thrown and e.g. TwitterServers failing
silently at runtime.

Solution

Add explicit dependencies on Guava 16.0.1 in finagle-http and
twitter-server.

RB_ID=440309
Birdcage: Upgrade to scala_2.10

RB_ID=443649
TBR=true
NO-QUEUE=true
TwitterServer: JvmStats needs to call Allocations.start()

Problem

Allocation stats were not being included in the metrics output.
This was due to an oversight in the initial commit that omitted
the call to `Allocations.start()`.

Solution

Call `Allocations.start()` in `JvmStats`.

Result

jvm/mem/allocations/eden/bytes now appears in the metrics output.

RB_ID=439823
Reduce allocations in finagle-zipkin when tracing

Problem

RawZipkinTracer updated immutable structures by copying them. Also, when
spans were logged a new TMemoryBuffer and TBinaryProtocol were
instantiated for every span.

Solution

Create a mutable Span that's updated. Update operations were already
synchronized thus it's safe to mutate. Create a pool of TProtocols
using a reusable TTransport and efficient TBinaryProtocol.

Result

~31% reduction in object allocations
~62% reduction in memory allocations
~17% reduction in runtime

Benchmark                K Instances   MiB       us runtime
===========================================================
Before ZipkinTracerOn    6840          346.447   249294
After ZipkinTracerOn     4660          128.551   205357

RB_ID=436035
Use Sphinx substitutions to keep versions up to date in documentation

Problem

Version numbers in documentation quickly get out of date without careful
maintenance.

Solution

We can use Sphinx's substitution mechanism to update versions automatically.
We get the correct version for free when building the Sphinx site through the
sbt-site plugin, but we need to read the version out of the SBT build file by
hand for DocBird (this is somewhat fragile, since it relies on conventions in
our build files).

Result

Version numbers in documentation are updated automatically.

RB_ID=442183
bump util to 6.21.2-SNAPSHOT - and bump a bunch of other poms too

Pushing CSL libs back to SNAPSHOT so our release scripts work.  Then we will release :-)

RB_ID=448209
TBR=true
twitter-server: add support for c.t.l.Levels in LogFormatter

Problem

`com.twitter.server.LogFormatter` did not have mappings for
the `com.twitter.logging.Level`s CRITICAL or ERROR
leading to undefined U's in the log lines.

Solution

Add mappings for all of the `c.t.l.Level`s.

Result

The log lines will not have undefined U's anymore.

RB_ID=449331