prometheus/storage/metric
Matt T. Proud 81367893fd Use idiomatic one-to-many one-time signal pattern.
The idiomatic pattern for signalling a one-time message to multiple
consumers from a single producer is as follows:

```
  c := make(chan struct{})
  w := new(sync.WaitGroup)  // Boilerplate to ensure synchronization.

  for i := 0; i < 1000; i++ {
    w.Add(1)
    go func() {
      defer w.Done()

      for {
        select {
        case _, ok := <- c:
          if !ok {
            return
          }
        default:
          // Do something here.
        }
      }
    }()
  }

  close(c)  // Signal the one-to-many single-use message.
  w.Wait()

```

Change-Id: I755f73ba4c70a923afd342a4dea63365bdf2144b
2014-04-15 10:15:25 +02:00
..
.gitignore Spin up curator run in the tests. 2013-04-05 13:55:11 +02:00
compaction_regression_test.go Use idiomatic one-to-many one-time signal pattern. 2014-04-15 10:15:25 +02:00
curator.go Use idiomatic one-to-many one-time signal pattern. 2014-04-15 10:15:25 +02:00
dto.go WIP - Snapshot of Moving to Client Model. 2013-06-25 15:52:42 +02:00
end_to_end_test.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
freelist.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
freelist_test.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
helpers_test.go Use custom timestamp type for sample timestamps and related code. 2013-12-03 09:11:28 +01:00
index.go Add label names -> label values index. 2014-03-28 15:16:37 +01:00
instrumentation.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
interface.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
interface_test.go Use LRU cache to avoid querying stale series. 2013-06-06 23:56:19 +02:00
labelpair.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
labelpair_test.go WIP - Snapshot of Moving to Client Model. 2013-06-25 15:52:42 +02:00
leveldb.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
matcher.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
memory.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
memory_test.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
objective.go Update low-level i'faces to reflect wireformats. 2013-09-04 17:13:58 +02:00
operation.go Fix interval op special case. 2014-03-26 13:29:03 +01:00
operation_test.go Add regression tests for 'loop until op is consumed' bug. 2014-03-12 18:40:24 +01:00
processor.go Store samples in custom binary encoding. 2014-03-09 22:31:38 +01:00
processor_test.go Use idiomatic one-to-many one-time signal pattern. 2014-04-15 10:15:25 +02:00
regressions_test.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
rule_integration_test.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
sample.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
sample_test.go Convert metric.Values to slice of values. 2014-03-11 18:23:37 +01:00
samplekey.go Major code cleanup in storage. 2014-02-27 15:22:37 +01:00
stochastic_test.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
tiered.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
tiered_test.go Add regex-matching support for labels. 2014-04-01 14:24:53 +02:00
view.go Remove the multi-op-per-fingerprint capability. 2014-03-04 16:29:56 +01:00
view_test.go Remove the multi-op-per-fingerprint capability. 2014-03-04 16:29:56 +01:00
watermark.go Unify LevelDB.*Options. 2014-02-27 16:03:58 +01:00