35 lines
		
	
	
		
			499 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			499 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package trace
 | |
| 
 | |
| type Options struct {
 | |
| 	// Size is the size of ring buffer
 | |
| 	Size int
 | |
| }
 | |
| 
 | |
| type Option func(o *Options)
 | |
| 
 | |
| type ReadOptions struct {
 | |
| 	// Trace id
 | |
| 	Trace string
 | |
| }
 | |
| 
 | |
| type ReadOption func(o *ReadOptions)
 | |
| 
 | |
| // Read the given trace
 | |
| func ReadTrace(t string) ReadOption {
 | |
| 	return func(o *ReadOptions) {
 | |
| 		o.Trace = t
 | |
| 	}
 | |
| }
 | |
| 
 | |
| const (
 | |
| 	// DefaultSize of the buffer
 | |
| 	DefaultSize = 64
 | |
| )
 | |
| 
 | |
| // DefaultOptions returns default options
 | |
| func DefaultOptions() Options {
 | |
| 	return Options{
 | |
| 		Size: DefaultSize,
 | |
| 	}
 | |
| }
 |