mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 05:32:25 -05:00 
			
		
		
		
	[feature] Support OTLP HTTP, drop Jaeger (#2184)
* [feature] Add http trace exporter, drop Jaeger Jaeger supports ingesting traces using the OpenTelemetry gRPC or HTTP methods. The Jaeger project has deprecated the old jaeger transport. * Add support for submitting traces over HTTP * Drop support for the old Jaeger protocol * Upgrade the trace libraries to v1.17 Fixes: #2176 Fixes: #2179
This commit is contained in:
		
					parent
					
						
							
								916c6d07ba
							
						
					
				
			
			
				commit
				
					
						14ef098099
					
				
			
		
					 199 changed files with 12972 additions and 18581 deletions
				
			
		
							
								
								
									
										26
									
								
								vendor/google.golang.org/grpc/internal/buffer/unbounded.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/google.golang.org/grpc/internal/buffer/unbounded.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -35,6 +35,7 @@ import "sync" | |||
| // internal/transport/transport.go for an example of this. | ||||
| type Unbounded struct { | ||||
| 	c       chan interface{} | ||||
| 	closed  bool | ||||
| 	mu      sync.Mutex | ||||
| 	backlog []interface{} | ||||
| } | ||||
|  | @ -47,16 +48,18 @@ func NewUnbounded() *Unbounded { | |||
| // Put adds t to the unbounded buffer. | ||||
| func (b *Unbounded) Put(t interface{}) { | ||||
| 	b.mu.Lock() | ||||
| 	defer b.mu.Unlock() | ||||
| 	if b.closed { | ||||
| 		return | ||||
| 	} | ||||
| 	if len(b.backlog) == 0 { | ||||
| 		select { | ||||
| 		case b.c <- t: | ||||
| 			b.mu.Unlock() | ||||
| 			return | ||||
| 		default: | ||||
| 		} | ||||
| 	} | ||||
| 	b.backlog = append(b.backlog, t) | ||||
| 	b.mu.Unlock() | ||||
| } | ||||
| 
 | ||||
| // Load sends the earliest buffered data, if any, onto the read channel | ||||
|  | @ -64,6 +67,10 @@ func (b *Unbounded) Put(t interface{}) { | |||
| // value from the read channel. | ||||
| func (b *Unbounded) Load() { | ||||
| 	b.mu.Lock() | ||||
| 	defer b.mu.Unlock() | ||||
| 	if b.closed { | ||||
| 		return | ||||
| 	} | ||||
| 	if len(b.backlog) > 0 { | ||||
| 		select { | ||||
| 		case b.c <- b.backlog[0]: | ||||
|  | @ -72,7 +79,6 @@ func (b *Unbounded) Load() { | |||
| 		default: | ||||
| 		} | ||||
| 	} | ||||
| 	b.mu.Unlock() | ||||
| } | ||||
| 
 | ||||
| // Get returns a read channel on which values added to the buffer, via Put(), | ||||
|  | @ -80,6 +86,20 @@ func (b *Unbounded) Load() { | |||
| // | ||||
| // Upon reading a value from this channel, users are expected to call Load() to | ||||
| // send the next buffered value onto the channel if there is any. | ||||
| // | ||||
| // If the unbounded buffer is closed, the read channel returned by this method | ||||
| // is closed. | ||||
| func (b *Unbounded) Get() <-chan interface{} { | ||||
| 	return b.c | ||||
| } | ||||
| 
 | ||||
| // Close closes the unbounded buffer. | ||||
| func (b *Unbounded) Close() { | ||||
| 	b.mu.Lock() | ||||
| 	defer b.mu.Unlock() | ||||
| 	if b.closed { | ||||
| 		return | ||||
| 	} | ||||
| 	b.closed = true | ||||
| 	close(b.c) | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue