prometheus/storage/local
Maxim Ivanov bdc53098fc Avoid having contended mutexes on same cacheline
CPUs have to serialise write access to a single cache line
effectively reducing level of possible parallelism. Placing
mutexes on different cache lines avoids this problem.

Most gains will be seen on NUMA servers where CPU interconnect
traffic is especially expensive

Before:
go test . -run none -bench BenchmarkFingerprintLocker
BenchmarkFingerprintLockerParallel-4   	 2000000	       932 ns/op
BenchmarkFingerprintLockerSerial-4     	30000000	        49.6 ns/op

After:
go test . -run none -bench BenchmarkFingerprintLocker
BenchmarkFingerprintLockerParallel-4   	 3000000	       569 ns/op
BenchmarkFingerprintLockerSerial-4     	30000000	        51.0 ns/op
2016-09-18 23:32:55 +01:00
..
codable Replace metric.LabelPair with model.LabelPair 2015-08-22 13:32:13 +02:00
fixtures/b0 Add benchmark for loading chunks and chunk descs. 2015-03-19 19:28:21 +01:00
index Handle errors caused by data corruption more gracefully 2016-03-02 23:02:34 +01:00
storagetool Make version informations consistent between prometheus components 2016-05-05 22:33:18 +02:00
chunk.go storage: Make MemorySeriesStorage a public type 2016-06-29 08:14:23 +02:00
crashrecovery.go Crash recovery: Fix an edge case. 2016-07-07 16:17:38 +02:00
delta.go Catch errors when unmarshalling delta/doubleDelta encoded chunks 2016-08-30 07:57:39 -04:00
delta_helpers.go Switch from client_golang/model to common/model 2015-08-21 13:33:38 +02:00
delta_test.go Add field names to table-driven test fixtures 2016-08-30 07:57:39 -04:00
doubledelta.go Fix double-delta unmarshaling to respect actual min header size 2016-08-30 07:57:39 -04:00
heads.go Merge branch 'master' into beorn7/storage4 2016-03-08 00:14:00 +01:00
instrumentation.go storage: Make MemorySeriesStorage a public type 2016-06-29 08:14:23 +02:00
interface.go storage: clarify sample/matcher relation in docs 2016-09-12 11:19:36 +02:00
locker.go Avoid having contended mutexes on same cacheline 2016-09-18 23:32:55 +01:00
locker_test.go Add missing license headers 2016-04-13 16:08:22 +02:00
mapper.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
mapper_test.go Checkpoint fingerprint mappings only upon shutdown 2016-04-15 01:03:28 +02:00
noop_storage.go Add noop local storage engine. 2016-09-14 13:18:05 +02:00
persistence.go Storage: Add crash recovery metric 'started_dirty' 2016-08-27 21:41:06 +02:00
persistence_test.go Add missing error check in persistence test 2016-09-14 23:16:47 -04:00
series.go Make the storage interface higher-level. 2016-07-25 13:59:22 +02:00
series_test.go Never drop a still open head chunk. 2016-04-15 19:18:40 +02:00
storage.go Make the storage interface higher-level. 2016-07-25 13:59:22 +02:00
storage_test.go Fix common english misspellings 2016-09-14 23:23:28 -04:00
test_helpers.go storage: Make MemorySeriesStorage a public type 2016-06-29 08:14:23 +02:00
varbit.go fix typo 2016-09-08 19:01:32 +09:00
varbit_helpers.go Rename Gorilla into varbit 2016-03-23 16:30:41 +01:00
varbit_test.go Rename Gorilla into varbit 2016-03-23 16:30:41 +01:00