Krasimir Georgiev 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							09df8d94e0 
							
						 
					 
					
						
						
							
							More explicit chunks and  head error handling. ( #7277 )  
						
						
						
						
					 
					
						2020-05-22 12:03:23 +03:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1c99adb9fd 
							
						 
					 
					
						
						
							
							Callbacks for lifecycle of series in TSDB ( #7159 )  
						
						... 
						
						
						
						* Callbacks for lifecycle of series in TSDB
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
* Add more comments
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2020-05-20 18:52:08 +05:30 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d4b9fe801f 
							
						 
					 
					
						
						
							
							M-map full chunks of Head from disk ( #6679 )  
						
						... 
						
						
						
						When appending to the head and a chunk is full it is flushed to the disk and m-mapped (memory mapped) to free up memory
Prom startup now happens in these stages
 - Iterate the m-maped chunks from disk and keep a map of series reference to its slice of mmapped chunks.
- Iterate the WAL as usual. Whenever we create a new series, look for it's mmapped chunks in the map created before and add it to that series.
If a head chunk is corrupted the currpted one and all chunks after that are deleted and the data after the corruption is recovered from the existing WAL which means that a corruption in m-mapped files results in NO data loss.
[Mmaped chunks format](https://github.com/prometheus/prometheus/blob/master/tsdb/docs/format/head_chunks.md )  - main difference is that the chunk for mmaping now also includes series reference because there is no index for mapping series to chunks.
[The block chunks](https://github.com/prometheus/prometheus/blob/master/tsdb/docs/format/chunks.md ) are accessed from the index which includes the offsets for the chunks in the chunks file - example - chunks of series ID have offsets 200, 500 etc in the chunk files.
In case of mmaped chunks, the offsets are stored in memory and accessed from that. During WAL replay, these offsets are restored by iterating all m-mapped chunks as stated above by matching the series id present in the chunk header and offset of that chunk in that file.
**Prombench results**
_WAL Replay_
1h Wal reply time
30% less wal reply time - 4m31 vs 3m36
2h Wal reply time
20% less wal reply time - 8m16 vs 7m
_Memory During WAL Replay_
High Churn:
10-15% less RAM -  32gb vs 28gb
20% less RAM after compaction 34gb vs 27gb
No Churn:
20-30% less RAM -  23gb vs 18gb
40% less RAM after compaction 32.5gb vs 20gb
Screenshots are in [this comment](https://github.com/prometheus/prometheus/pull/6679#issuecomment-621678932 )
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2020-05-06 21:00:00 +05:30 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fc3fb3265a 
							
						 
					 
					
						
						
							
							Merge pull request  #7145  from prometheus/release-2.17  
						
						... 
						
						
						
						Backport release 2.17 into master 
						
						
					 
					
						2020-04-20 14:08:12 +02:00 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ed1852ab95 
							
						 
					 
					
						
						
							
							TSDB: Isolation: avoid creating appenderId's without appender ( #7135 )  
						
						... 
						
						
						
						Prior to this commit we could have situations where we are creating an
appenderId but never creating an appender to go with it, therefore
blocking the low watermak.
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-04-17 20:51:03 +02:00 
						 
				 
			
				
					
						
							
							
								MengZeLee 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a7982ffc0f 
							
						 
					 
					
						
						
							
							Fix typo ( #7068 )  
						
						... 
						
						
						
						Fix typo.
Signed-off-by: MengZn <adnt587@gmail.com> 
						
						
					 
					
						2020-03-30 13:18:34 +05:30 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9057decce2 
							
						 
					 
					
						
						
							
							Merge pull request  #7060  from prometheus/release-2.17  
						
						... 
						
						
						
						Release 2.17 
						
						
					 
					
						2020-03-27 15:57:07 +01:00 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
						
						
							
						
						
							653f343547 
							
						 
					 
					
						
						
							
							Revert head posting optimization  
						
						... 
						
						
						
						This reverts commit 52630ad0c735f2dce4ce5bb851acb6c5d7df5eb1.
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-03-25 20:19:33 +01:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6fdc852813 
							
						 
					 
					
						
						
							
							Fix TestHeadDeleteSimple to test reloaded Head too ( #7021 )  
						
						... 
						
						
						
						Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2020-03-23 16:55:25 +02:00 
						 
				 
			
				
					
						
							
							
								beorn7 
							
						 
					 
					
						
						
						
						
							
						
						
							526cff39b9 
							
						 
					 
					
						
						
							
							Fix tests that were broken by  #7009  
						
						... 
						
						
						
						Signed-off-by: beorn7 <beorn@grafana.com> 
						
						
					 
					
						2020-03-20 21:22:58 +01:00 
						 
				 
			
				
					
						
							
							
								Bartlomiej Plotka 
							
						 
					 
					
						
						
						
						
							
						
						
							c4eefd1b3a 
							
						 
					 
					
						
						
							
							storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response.  
						
						... 
						
						
						
						This is technically BREAKING CHANGE, but it was like this from the beginning: I just notice that we rely in
Prometheus on remote read being sorted. This is because we use selected data from remote reads in MergeSeriesSet
which rely on sorting.
I found during work on https://github.com/prometheus/prometheus/pull/5882  that
we do so many repetitions because of this, for not good reason. I think
I found a good balance between convenience and readability with just one method.
Smaller the interface = better.
Also I don't know what TestSelectSorted was testing, but now it's testing sorting.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> 
						
						
					 
					
						2020-03-20 21:14:43 +01:00 
						 
				 
			
				
					
						
							
							
								beorn7 
							
						 
					 
					
						
						
						
						
							
						
						
							c0ecbb38af 
							
						 
					 
					
						
						
							
							Fix tests that were broken by  #7009  
						
						... 
						
						
						
						Signed-off-by: beorn7 <beorn@grafana.com> 
						
						
					 
					
						2020-03-19 16:28:23 +01:00 
						 
				 
			
				
					
						
							
							
								Björn Rabenstein 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1da83305be 
							
						 
					 
					
						
						
							
							Merge pull request  #7009  from prometheus/release-2.17  
						
						... 
						
						
						
						Merge release-2.17 into master 
						
						
					 
					
						2020-03-19 13:46:28 +01:00 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
						
						
							
						
						
							8907ba6235 
							
						 
					 
					
						
						
							
							Make TSDB use storage errors  
						
						... 
						
						
						
						This fixes  #6992 , which was introduced by #6777 . There was an
intermediate component which translated TSDB errors into storage errors,
but that component was deleted and this bug went unnoticed, until we
were watching at the Prombench results. Without this, scrape will fail
instead of dropping samples or using "Add" when the series have been
garbage collected.
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-03-17 22:24:25 +01:00 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0f9e78bd88 
							
						 
					 
					
						
						
							
							tsdb: fix races around head chunks ( #6985 )  
						
						... 
						
						
						
						* tsdb: fix races around head chunks
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-03-16 13:59:22 +01:00 
						 
				 
			
				
					
						
							
							
								Bartlomiej Plotka 
							
						 
					 
					
						
						
						
						
							
						
						
							fe802f29c9 
							
						 
					 
					
						
						
							
							storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response.  
						
						... 
						
						
						
						This is technically BREAKING CHANGE, but it was like this from the beginning: I just notice that we rely in
Prometheus on remote read being sorted. This is because we use selected data from remote reads in MergeSeriesSet
which rely on sorting.
I found during work on https://github.com/prometheus/prometheus/pull/5882  that
we do so many repetitions because of this, for not good reason. I think
I found a good balance between convenience and readability with just one method.
Smaller the interface = better.
Also I don't know what TestSelectSorted was testing, but now it's testing sorting.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> 
						
						
					 
					
						2020-03-13 13:06:25 +00:00 
						 
				 
			
				
					
						
							
							
								beorn7 
							
						 
					 
					
						
						
						
						
							
						
						
							d9af11e636 
							
						 
					 
					
						
						
							
							Do not attempt isolation for appendID == 0  
						
						... 
						
						
						
						Signed-off-by: beorn7 <beorn@grafana.com> 
						
						
					 
					
						2020-03-01 02:48:35 +01:00 
						 
				 
			
				
					
						
							
							
								beorn7 
							
						 
					 
					
						
						
						
						
							
						
						
							7f30b0984d 
							
						 
					 
					
						
						
							
							Implement isolation  
						
						... 
						
						
						
						This has been ported from https://github.com/prometheus/tsdb/pull/306 .
Original implementation by @brian-brazil, explained in detail in the
2nd half of this talk:
https://promcon.io/2017-munich/talks/staleness-in-prometheus-2-0/ 
The implementation was then processed by @gouthamve into the PR linked
above. Relevant slide deck:
https://docs.google.com/presentation/d/1-ICg7PEmDHYcITykD2SR2xwg56Tzf4gr8zfz1OerY5Y/edit?usp=drivesdk 
Signed-off-by: beorn7 <beorn@grafana.com>
Co-authored-by: Brian Brazil <brian.brazil@robustperception.io>
Co-authored-by: Goutham Veeramachaneni <gouthamve@gmail.com> 
						
						
					 
					
						2020-02-28 14:18:39 +01:00 
						 
				 
			
				
					
						
							
							
								beorn7 
							
						 
					 
					
						
						
						
						
							
						
						
							6b8181370f 
							
						 
					 
					
						
						
							
							Fix punctuation nits  
						
						... 
						
						
						
						Signed-off-by: beorn7 <beorn@grafana.com> 
						
						
					 
					
						2020-02-28 14:17:33 +01:00 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
						
						
							
						
						
							52630ad0c7 
							
						 
					 
					
						
						
							
							Make head Postings only return series in time range  
						
						... 
						
						
						
						benchmark                                                old ns/op      new ns/op      delta
BenchmarkQuerierSelect/Head/1of1000000-8                 405805161      120436132      -70.32%
BenchmarkQuerierSelect/Head/10of1000000-8                403079620      120624292      -70.07%
BenchmarkQuerierSelect/Head/100of1000000-8               404678647      120923522      -70.12%
BenchmarkQuerierSelect/Head/1000of1000000-8              403145813      118636563      -70.57%
BenchmarkQuerierSelect/Head/10000of1000000-8             405020046      125716206      -68.96%
BenchmarkQuerierSelect/Head/100000of1000000-8            426305002      175808499      -58.76%
BenchmarkQuerierSelect/Head/1000000of1000000-8           619002108      567013003      -8.40%
BenchmarkQuerierSelect/SortedHead/1of1000000-8           1276316086     120281094      -90.58%
BenchmarkQuerierSelect/SortedHead/10of1000000-8          1282631170     121836526      -90.50%
BenchmarkQuerierSelect/SortedHead/100of1000000-8         1325824787     121174967      -90.86%
BenchmarkQuerierSelect/SortedHead/1000of1000000-8        1271386268     121025117      -90.48%
BenchmarkQuerierSelect/SortedHead/10000of1000000-8       1280223345     130838948      -89.78%
BenchmarkQuerierSelect/SortedHead/100000of1000000-8      1271401620     243635515      -80.84%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-8     1360256090     1307744674     -3.86%
BenchmarkQuerierSelect/Block/1of1000000-8                748183120      707888498      -5.39%
BenchmarkQuerierSelect/Block/10of1000000-8               741084129      716317249      -3.34%
BenchmarkQuerierSelect/Block/100of1000000-8              722157273      735624256      +1.86%
BenchmarkQuerierSelect/Block/1000of1000000-8             727587744      731981838      +0.60%
BenchmarkQuerierSelect/Block/10000of1000000-8            727518578      726860308      -0.09%
BenchmarkQuerierSelect/Block/100000of1000000-8           765577046      757382386      -1.07%
BenchmarkQuerierSelect/Block/1000000of1000000-8          1126722881     1084779083     -3.72%
benchmark                                                old allocs     new allocs     delta
BenchmarkQuerierSelect/Head/1of1000000-8                 4000018        24             -100.00%
BenchmarkQuerierSelect/Head/10of1000000-8                4000036        82             -100.00%
BenchmarkQuerierSelect/Head/100of1000000-8               4000216        625            -99.98%
BenchmarkQuerierSelect/Head/1000of1000000-8              4002016        6028           -99.85%
BenchmarkQuerierSelect/Head/10000of1000000-8             4020016        60037          -98.51%
BenchmarkQuerierSelect/Head/100000of1000000-8            4200016        600047         -85.71%
BenchmarkQuerierSelect/Head/1000000of1000000-8           6000016        6000016        +0.00%
BenchmarkQuerierSelect/SortedHead/1of1000000-8           4000055        28             -100.00%
BenchmarkQuerierSelect/SortedHead/10of1000000-8          4000073        87             -100.00%
BenchmarkQuerierSelect/SortedHead/100of1000000-8         4000253        630            -99.98%
BenchmarkQuerierSelect/SortedHead/1000of1000000-8        4002053        6036           -99.85%
BenchmarkQuerierSelect/SortedHead/10000of1000000-8       4020053        60054          -98.51%
BenchmarkQuerierSelect/SortedHead/100000of1000000-8      4200053        600074         -85.71%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-8     6000053        6000053        +0.00%
BenchmarkQuerierSelect/Block/1of1000000-8                6000021        6000021        +0.00%
BenchmarkQuerierSelect/Block/10of1000000-8               6000057        6000057        +0.00%
BenchmarkQuerierSelect/Block/100of1000000-8              6000417        6000417        +0.00%
BenchmarkQuerierSelect/Block/1000of1000000-8             6004017        6004017        +0.00%
BenchmarkQuerierSelect/Block/10000of1000000-8            6040017        6040017        +0.00%
BenchmarkQuerierSelect/Block/100000of1000000-8           6400017        6400017        +0.00%
BenchmarkQuerierSelect/Block/1000000of1000000-8          10000018       10000018       +0.00%
benchmark                                                old bytes     new bytes     delta
BenchmarkQuerierSelect/Head/1of1000000-8                 176001177     1392          -100.00%
BenchmarkQuerierSelect/Head/10of1000000-8                176002329     4368          -100.00%
BenchmarkQuerierSelect/Head/100of1000000-8               176013849     33520         -99.98%
BenchmarkQuerierSelect/Head/1000of1000000-8              176129056     321456        -99.82%
BenchmarkQuerierSelect/Head/10000of1000000-8             177281049     3427376       -98.07%
BenchmarkQuerierSelect/Head/100000of1000000-8            188801049     35055408      -81.43%
BenchmarkQuerierSelect/Head/1000000of1000000-8           304001059     304001049     -0.00%
BenchmarkQuerierSelect/SortedHead/1of1000000-8           229192188     2488          -100.00%
BenchmarkQuerierSelect/SortedHead/10of1000000-8          229193340     5568          -100.00%
BenchmarkQuerierSelect/SortedHead/100of1000000-8         229204860     35536         -99.98%
BenchmarkQuerierSelect/SortedHead/1000of1000000-8        229320060     345104        -99.85%
BenchmarkQuerierSelect/SortedHead/10000of1000000-8       230472060     3894672       -98.31%
BenchmarkQuerierSelect/SortedHead/100000of1000000-8      241992060     40511632      -83.26%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-8     357192060     357192060     +0.00%
BenchmarkQuerierSelect/Block/1of1000000-8                227201516     227201506     -0.00%
BenchmarkQuerierSelect/Block/10of1000000-8               227203057     227203041     -0.00%
BenchmarkQuerierSelect/Block/100of1000000-8              227217161     227217165     +0.00%
BenchmarkQuerierSelect/Block/1000of1000000-8             227358279     227358289     +0.00%
BenchmarkQuerierSelect/Block/10000of1000000-8            228769485     228769475     -0.00%
BenchmarkQuerierSelect/Block/100000of1000000-8           242881487     242881477     -0.00%
BenchmarkQuerierSelect/Block/1000000of1000000-8          384001705     384001705     +0.00%
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-02-20 22:41:46 +01:00 
						 
				 
			
				
					
						
							
							
								Bartlomiej Plotka 
							
						 
					 
					
						
						
						
						
							
						
						
							34426766d8 
							
						 
					 
					
						
						
							
							Unify Iterator interfaces. All point to storage now.  
						
						... 
						
						
						
						This is part of https://github.com/prometheus/prometheus/pull/5882  that can be done to simplify things.
All todos I added will be fixed in follow up PRs.
* querier.Querier, querier.Appender, querier.SeriesSet, and querier.Series interfaces merged
with storage interface.go. All imports that.
* querier.SeriesIterator replaced by chunkenc.Iterator
* Added chunkenc.Iterator.Seek method and tests for xor implementation (?)
* Since we properly handle SelectParams for Select methods I adjusted min max
based on that. This should help in terms of performance for queries with functions like offset.
* added Seek to deletedIterator and test.
* storage/tsdb was removed as it was only a unnecessary glue with incompatible structs.
No logic was changed, only different source of abstractions, so no need for benchmarks.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> 
						
						
					 
					
						2020-02-17 18:03:54 +00:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bc6fd96979 
							
						 
					 
					
						
						
							
							Refactor TestGCChunkAccess and TestGCSeriesAccess to create chunks by appending samples  
						
						... 
						
						
						
						Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2020-02-06 18:26:18 +05:30 
						 
				 
			
				
					
						
							
							
								Callum Styan 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							83601202d9 
							
						 
					 
					
						
						
							
							Add missing param to NewHead call in test. ( #6725 )  
						
						... 
						
						
						
						Signed-off-by: Callum Styan <callumstyan@gmail.com> 
						
						
					 
					
						2020-01-30 11:45:14 -08:00 
						 
				 
			
				
					
						
							
							
								Thor 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							17d8c49919 
							
						 
					 
					
						
						
							
							made stripe size configurable ( #6644 )  
						
						... 
						
						
						
						Signed-off-by: Thor <thansen@digitalocean.com> 
						
						
					 
					
						2020-01-30 12:42:43 +05:30 
						 
				 
			
				
					
						
							
							
								Brian Brazil 
							
						 
					 
					
						
						
						
						
							
						
						
							38d32e0686 
							
						 
					 
					
						
						
							
							Don't sort postings if we only have one block.  
						
						... 
						
						
						
						Sorting the heads postings can be quite slow.
We only need sorted series when merging with another
querier, so only sort then.
This will make big queries that only touch the head faster,
though queries that touch both the head and a block will still
be the same speed. This probably won't help much with graphing
unless the range is under an hour, however it should make most
recording rules faster.
Add gaurantee that remote read streaming produces sorted series.
PromQL benchmarks for histograms show only 2-3% improvement, but
they're only over 1k series.
benchmark                                                old ns/op      new ns/op      delta
BenchmarkQuerierSelect/Head/1of1000000-4                 1375486282     507657736      -63.09%
BenchmarkQuerierSelect/Head/10of1000000-4                1387859004     507769850      -63.41%
BenchmarkQuerierSelect/Head/100of1000000-4               1387087935     506029110      -63.52%
BenchmarkQuerierSelect/Head/1000of1000000-4              1386869064     504521986      -63.62%
BenchmarkQuerierSelect/Head/10000of1000000-4             1386213685     505210422      -63.55%
BenchmarkQuerierSelect/Head/100000of1000000-4            1392754988     529842406      -61.96%
BenchmarkQuerierSelect/Head/1000000of1000000-4           1569414722     725059506      -53.80%
BenchmarkQuerierSelect/SortedHead/1of1000000-4           1381019902     1370495863     -0.76%
BenchmarkQuerierSelect/SortedHead/10of1000000-4          1375696209     1366789468     -0.65%
BenchmarkQuerierSelect/SortedHead/100of1000000-4         1386009422     1364519297     -1.55%
BenchmarkQuerierSelect/SortedHead/1000of1000000-4        1377700532     1364486191     -0.96%
BenchmarkQuerierSelect/SortedHead/10000of1000000-4       1383539536     1369545314     -1.01%
BenchmarkQuerierSelect/SortedHead/100000of1000000-4      1410089163     1394731339     -1.09%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-4     1634744148     1581554956     -3.25%
BenchmarkQuerierSelect/Block/1of1000000-4                881741242      879839470      -0.22%
BenchmarkQuerierSelect/Block/10of1000000-4               880381562      882846038      +0.28%
BenchmarkQuerierSelect/Block/100of1000000-4              887519357      881016916      -0.73%
BenchmarkQuerierSelect/Block/1000of1000000-4             902194205      883433524      -2.08%
BenchmarkQuerierSelect/Block/10000of1000000-4            892321964      885130170      -0.81%
BenchmarkQuerierSelect/Block/100000of1000000-4           938604466      933527150      -0.54%
BenchmarkQuerierSelect/Block/1000000of1000000-4          1313510845     1295881124     -1.34%
benchmark                                                old allocs     new allocs     delta
BenchmarkQuerierSelect/Head/1of1000000-4                 4000056        4000018        -0.00%
BenchmarkQuerierSelect/Head/10of1000000-4                4000074        4000036        -0.00%
BenchmarkQuerierSelect/Head/100of1000000-4               4000254        4000216        -0.00%
BenchmarkQuerierSelect/Head/1000of1000000-4              4002054        4002016        -0.00%
BenchmarkQuerierSelect/Head/10000of1000000-4             4020054        4020016        -0.00%
BenchmarkQuerierSelect/Head/100000of1000000-4            4200054        4200016        -0.00%
BenchmarkQuerierSelect/Head/1000000of1000000-4           6000054        6000016        -0.00%
BenchmarkQuerierSelect/SortedHead/1of1000000-4           4000071        4000071        +0.00%
BenchmarkQuerierSelect/SortedHead/10of1000000-4          4000089        4000089        +0.00%
BenchmarkQuerierSelect/SortedHead/100of1000000-4         4000269        4000269        +0.00%
BenchmarkQuerierSelect/SortedHead/1000of1000000-4        4002069        4002069        +0.00%
BenchmarkQuerierSelect/SortedHead/10000of1000000-4       4020069        4020069        +0.00%
BenchmarkQuerierSelect/SortedHead/100000of1000000-4      4200069        4200069        +0.00%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-4     6000069        6000069        +0.00%
BenchmarkQuerierSelect/Block/1of1000000-4                6000023        6000022        -0.00%
BenchmarkQuerierSelect/Block/10of1000000-4               6000059        6000058        -0.00%
BenchmarkQuerierSelect/Block/100of1000000-4              6000419        6000418        -0.00%
BenchmarkQuerierSelect/Block/1000of1000000-4             6004019        6004018        -0.00%
BenchmarkQuerierSelect/Block/10000of1000000-4            6040019        6040018        -0.00%
BenchmarkQuerierSelect/Block/100000of1000000-4           6400019        6400018        -0.00%
BenchmarkQuerierSelect/Block/1000000of1000000-4          10000020       10000019       -0.00%
benchmark                                                old bytes     new bytes     delta
BenchmarkQuerierSelect/Head/1of1000000-4                 229192200     176001176     -23.21%
BenchmarkQuerierSelect/Head/10of1000000-4                229193352     176002328     -23.21%
BenchmarkQuerierSelect/Head/100of1000000-4               229204872     176013848     -23.21%
BenchmarkQuerierSelect/Head/1000of1000000-4              229320072     176129048     -23.20%
BenchmarkQuerierSelect/Head/10000of1000000-4             230472072     177281048     -23.08%
BenchmarkQuerierSelect/Head/100000of1000000-4            241992072     188801048     -21.98%
BenchmarkQuerierSelect/Head/1000000of1000000-4           357192072     304001048     -14.89%
BenchmarkQuerierSelect/SortedHead/1of1000000-4           229193928     229193928     +0.00%
BenchmarkQuerierSelect/SortedHead/10of1000000-4          229195080     229195080     +0.00%
BenchmarkQuerierSelect/SortedHead/100of1000000-4         229206600     229206600     +0.00%
BenchmarkQuerierSelect/SortedHead/1000of1000000-4        229321800     229321800     +0.00%
BenchmarkQuerierSelect/SortedHead/10000of1000000-4       230473800     230473800     +0.00%
BenchmarkQuerierSelect/SortedHead/100000of1000000-4      241993800     241993800     +0.00%
BenchmarkQuerierSelect/SortedHead/1000000of1000000-4     357193800     357193800     +0.00%
BenchmarkQuerierSelect/Block/1of1000000-4                227201516     227201500     -0.00%
BenchmarkQuerierSelect/Block/10of1000000-4               227202924     227202908     -0.00%
BenchmarkQuerierSelect/Block/100of1000000-4              227217036     227217020     -0.00%
BenchmarkQuerierSelect/Block/1000of1000000-4             227358156     227358140     -0.00%
BenchmarkQuerierSelect/Block/10000of1000000-4            228769356     228769340     -0.00%
BenchmarkQuerierSelect/Block/100000of1000000-4           242881356     242881340     -0.00%
BenchmarkQuerierSelect/Block/1000000of1000000-4          384001616     384001600     -0.00%
Signed-off-by: Brian Brazil <brian.brazil@robustperception.io> 
						
						
					 
					
						2020-01-28 09:14:56 +00:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							21a5cf5d1d 
							
						 
					 
					
						
						
							
							Bring back tombstones to Head block ( #6542 )  
						
						... 
						
						
						
						* Bring back tombstones to Head block
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
* Add test cases
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
* Cleanup
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2020-01-20 21:08:00 +05:30 
						 
				 
			
				
					
						
							
							
								Julien Pivotto 
							
						 
					 
					
						
						
						
						
							
						
						
							46d18112a3 
							
						 
					 
					
						
						
							
							tsdb: error on series with duplicate labels ( #6664 )  
						
						... 
						
						
						
						Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu> 
						
						
					 
					
						2020-01-20 11:05:27 +00:00 
						 
				 
			
				
					
						
							
							
								Josh Soref 
							
						 
					 
					
						
						
						
						
							
						
						
							91d76c8023 
							
						 
					 
					
						
						
							
							Spelling ( #6517 )  
						
						... 
						
						
						
						* spelling: alertmanager
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: attributes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: autocomplete
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: bootstrap
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: caught
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: chunkenc
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: compaction
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: corrupted
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: deletable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: expected
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: fine-grained
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: initialized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: iteration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: javascript
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multiple
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: number
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: overlapping
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: possible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: postings
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: procedure
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: programmatic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: queuing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: querier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: repairing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: received
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: reproducible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: retention
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: sample
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: segements
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: semantic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: software [LICENSE]
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: staging
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: timestamp
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unfortunately
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: uvarint
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: subsequently
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: ressamples
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> 
						
						
					 
					
						2020-01-02 15:54:09 +01:00 
						 
				 
			
				
					
						
							
							
								Tom Wilkie 
							
						 
					 
					
						
						
						
						
							
						
						
							de0a772b8e 
							
						 
					 
					
						
						
							
							Port tsdb to use pkg/labels. ( #6326 )  
						
						... 
						
						
						
						* Port tsdb to use pkg/labels.
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
* Get tests passing.
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
* Remove useless cast.
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
* Appease linters.
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
* Fix review comments
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2019-11-18 11:53:33 -08:00 
						 
				 
			
				
					
						
							
							
								Chris Marchbanks 
							
						 
					 
					
						
						
						
						
							
						
						
							c5b3f0221f 
							
						 
					 
					
						
						
							
							Decode WAL in Separate Goroutine ( #6230 )  
						
						... 
						
						
						
						* Make WAL replay benchmark more representative
Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com>
* Move decoding records from the WAL into goroutine
Decoding the WAL records accounts for a significant amount of time on
startup, and can be done in parallel with creating series/samples to
speed up startup. However, records still must be handled in order, so
only a single goroutine can do the decoding.
benchmark
old ns/op     new ns/op     delta
BenchmarkLoadWAL/batches=10,seriesPerBatch=100,samplesPerSeries=7200-8
481607033     391971490     -18.61%
BenchmarkLoadWAL/batches=10,seriesPerBatch=10000,samplesPerSeries=50-8
836394378     629067006     -24.79%
BenchmarkLoadWAL/batches=10,seriesPerBatch=1000,samplesPerSeries=480-8
348238658     234218667     -32.74%
Signed-off-by: Chris Marchbanks <csmarchbanks@gmail.com> 
						
						
					 
					
						2019-11-07 17:26:45 +01:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							493ef2f771 
							
						 
					 
					
						
						
							
							Benchmark for loading WAL ( #6081 )  
						
						... 
						
						
						
						* Benchmark for loading WAL
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
* Add more cases
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2019-10-03 11:49:55 +05:30 
						 
				 
			
				
					
						
							
							
								陈谭军 
							
						 
					 
					
						
						
						
						
							
						
						
							103f26d188 
							
						 
					 
					
						
						
							
							fix the  wrong word ( #6069 )  
						
						... 
						
						
						
						Signed-off-by: chentanjun <2799194073@qq.com> 
						
						
					 
					
						2019-09-30 09:54:55 -06:00 
						 
				 
			
				
					
						
							
							
								Callum Styan 
							
						 
					 
					
						
						
						
						
							
						
						
							3344bb5c33 
							
						 
					 
					
						
						
							
							Move WAL watcher code to tsdb/wal package. ( #5999 )  
						
						... 
						
						
						
						* Move WAL watcher code to tsdb/wal package.
Signed-off-by: Callum Styan <callumstyan@gmail.com>
* Fix tests after moving WAL watcher code.
Signed-off-by: Callum Styan <callumstyan@gmail.com>
* Lint fixes.
Signed-off-by: Callum Styan <callumstyan@gmail.com> 
						
						
					 
					
						2019-09-19 14:45:41 +05:30 
						 
				 
			
				
					
						
							
							
								Bartek Plotka 
							
						 
					 
					
						
						
						
						
							
						
						
							f0863a604e 
							
						 
					 
					
						
						
							
							Removed extra tsdb/testutil after merge.  
						
						... 
						
						
						
						Signed-off-by: Bartek Plotka <bwplotka@gmail.com> 
						
						
					 
					
						2019-08-14 10:12:32 +01:00 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5ecef3542d 
							
						 
					 
					
						
						
							
							Cleanup after merging tsdb into prometheus  
						
						... 
						
						
						
						Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2019-08-13 14:04:14 +05:30 
						 
				 
			
				
					
						
							
							
								Ganesh Vernekar 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7cf09b0395 
							
						 
					 
					
						
						
							
							Moving tsdb into its own subdirectory  
						
						... 
						
						
						
						Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in> 
						
						
					 
					
						2019-08-13 13:58:49 +05:30