Migrate to new client_golang.

This change will only be submitted when the new client_golang has been
moved to the new version.

Change-Id: Ifceb59333072a08286a8ac910709a8ba2e3a1581
Only evict memory series after they are on disk.

This fixes the problem where samples become temporarily unavailable for
queries while they are being flushed to disk. Although the entire
flushing code could use some major refactoring, I'm explicitly trying to
do the minimal change to fix the problem since there's a whole new
storage implementation in the pipeline.

Change-Id: I0f5393a30b88654c73567456aeaea62f8b3756d9
Speed up disk flushes by removing unnecessary sort.

The first sort in groupByFingerprint already ensures that all resulting sample
lists contain only one fingerprint. We also already assume that all
samples passed into AppendSamples (and thus groupByFingerprint) are
chronologically sorted within each fingerprint.

The extra chronological sort is thus superfluous. Furthermore, this
second sort didn't only sort chronologically, but also compared all
metric fingerprints again (although we already know that we're only
sorting within samples for the same fingerprint). This caused a huge
memory and runtime overhead.

In a heavily loaded real Prometheus, this brought down disk flush times
from ~9 minutes to ~1 minute.

OLD:
BenchmarkLevelDBAppendRepeatingValues   5  331391808 ns/op  44542953 B/op   597788 allocs/op
BenchmarkLevelDBAppendsRepeatingValues  5  329893512 ns/op  46968288 B/op  3104373 allocs/op

NEW:
BenchmarkLevelDBAppendRepeatingValues   5  299298635 ns/op  43329497 B/op   567616 allocs/op
BenchmarkLevelDBAppendsRepeatingValues 20   92204601 ns/op   1779454 B/op    70975 allocs/op

Change-Id: Ie2d8db3569b0102a18010f9e106e391fda7f7883
Prometheus version 0.6.0.

Change-Id: I50f6b69cca952eedf9a62b9a8f58e0fb633a83ed
NG Storage experiments.

Change-Id: Ifb8709960dbedd1d9f5efd88cdd359ee9fa9d26d
Checkpoint.

Change-Id: I9ec579b05199fa7a49d344e05c123d92abb745ed
Channel-based value copying.

Change-Id: I3cfafbfe0584ffa66a7592934fea0aa10b1e70e6
Split up ng storage into multiple files.

Change-Id: I125ebad4fd1a0106b609c0b42627a77c4037dc49
Checkpoint

Change-Id: Iee0d2a314591aebd45e0b36f8dcb8b17abe21d4a
Working GetValueAtTime().

Change-Id: I0f37ede1aa305a21eaf2d19b36a6d13c18b90804
Implement more getter methods.

Change-Id: I240a1004ceb711bd96340154a172e98c907a4387
First query layer integration for ng-storage.

Change-Id: I32a78888bbf840c8b2140dcdc9c286111600c8eb
Instrumentation and memory flushing.

Change-Id: I9aa1a6242228a624bf002ce55948d13ce176b669
Beginning of disk storage.

Change-Id: Ic2f353b48a7bc58700ba62bb6115bd1726060142
chunks.go -> chunk.go

Change-Id: I01786dc6e2cf9b10fc5ffae82f48dfda5caca7c5
Cleanups.

Change-Id: Id0406ddbd21aaf935ddb510c92dc752e9ee1905b
Fix persistence.

Change-Id: I7777467b3c24f7897c2b19a60a1c8b0a5e2f8fbc
Persistence improvements.

Change-Id: I7156ae27b7407c67a5d37cf94a0f2d91cb4c50a7
More work on disk storage.

Change-Id: If0da95abdf7de476ebbc8496bc5ba06314a095fe
Queue-based persistence.

Change-Id: I0ec65868e20749f5bf33848f3b6ba48f67f5ed3d