| 
									
										
										
										
											2016-12-11 01:08:50 +08:00
										 |  |  | package tsdb | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Matcher matches a string.
 | 
					
						
							|  |  |  | type Matcher interface { | 
					
						
							|  |  |  | 	// Match returns true if the matcher applies to the string value.
 | 
					
						
							|  |  |  | 	Match(v string) bool | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Querier provides querying access over time series data of a fixed
 | 
					
						
							|  |  |  | // time range.
 | 
					
						
							|  |  |  | type Querier interface { | 
					
						
							|  |  |  | 	// Range returns the timestamp range of the Querier.
 | 
					
						
							|  |  |  | 	Range() (start, end int64) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Iterator returns an interator over the inverted index that
 | 
					
						
							|  |  |  | 	// matches the key label by the constraints of Matcher.
 | 
					
						
							|  |  |  | 	Iterator(key string, m Matcher) Iterator | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Labels resolves a label reference into a set of labels.
 | 
					
						
							|  |  |  | 	Labels(ref LabelRefs) (Labels, error) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Series returns series provided in the index iterator.
 | 
					
						
							|  |  |  | 	Series(Iterator) []Series | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// LabelValues returns all potential values for a label name.
 | 
					
						
							|  |  |  | 	LabelValues(string) []string | 
					
						
							|  |  |  | 	// LabelValuesFor returns all potential values for a label name.
 | 
					
						
							|  |  |  | 	// under the constraint of another label.
 | 
					
						
							|  |  |  | 	LabelValuesFor(string, Label) []string | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Close releases the resources of the Querier.
 | 
					
						
							|  |  |  | 	Close() error | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Series represents a single time series.
 | 
					
						
							|  |  |  | type Series interface { | 
					
						
							| 
									
										
										
										
											2016-12-12 22:39:55 +08:00
										 |  |  | 	Labels() (Labels, error) | 
					
						
							| 
									
										
										
										
											2016-12-11 01:08:50 +08:00
										 |  |  | 	// Iterator returns a new iterator of the data of the series.
 | 
					
						
							| 
									
										
										
										
											2016-12-12 22:39:55 +08:00
										 |  |  | 	Iterator() (SeriesIterator, error) | 
					
						
							| 
									
										
										
										
											2016-12-11 01:08:50 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // SeriesIterator iterates over the data of a time series.
 | 
					
						
							|  |  |  | type SeriesIterator interface { | 
					
						
							|  |  |  | 	// Seek advances the iterator forward to the given timestamp.
 | 
					
						
							|  |  |  | 	// If there's no value exactly at ts, it advances to the last value
 | 
					
						
							|  |  |  | 	// before tt.
 | 
					
						
							|  |  |  | 	Seek(t int64) bool | 
					
						
							|  |  |  | 	// Values returns the current timestamp/value pair.
 | 
					
						
							|  |  |  | 	Values() (t int64, v float64) | 
					
						
							|  |  |  | 	// Next advances the iterator by one.
 | 
					
						
							|  |  |  | 	Next() bool | 
					
						
							|  |  |  | 	// Err returns the current error.
 | 
					
						
							|  |  |  | 	Err() error | 
					
						
							|  |  |  | } |