mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 08:22:27 -05:00 
			
		
		
		
	feat: initial tracing support (#1623)
This commit is contained in:
		
					parent
					
						
							
								878ed48de3
							
						
					
				
			
			
				commit
				
					
						6392e00653
					
				
			
		
					 472 changed files with 102600 additions and 12 deletions
				
			
		
							
								
								
									
										71
									
								
								vendor/google.golang.org/grpc/balancer/base/base.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								vendor/google.golang.org/grpc/balancer/base/base.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| /* | ||||
|  * | ||||
|  * Copyright 2017 gRPC authors. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| // Package base defines a balancer base that can be used to build balancers with | ||||
| // different picking algorithms. | ||||
| // | ||||
| // The base balancer creates a new SubConn for each resolved address. The | ||||
| // provided picker will only be notified about READY SubConns. | ||||
| // | ||||
| // This package is the base of round_robin balancer, its purpose is to be used | ||||
| // to build round_robin like balancers with complex picking algorithms. | ||||
| // Balancers with more complicated logic should try to implement a balancer | ||||
| // builder from scratch. | ||||
| // | ||||
| // All APIs in this package are experimental. | ||||
| package base | ||||
| 
 | ||||
| import ( | ||||
| 	"google.golang.org/grpc/balancer" | ||||
| 	"google.golang.org/grpc/resolver" | ||||
| ) | ||||
| 
 | ||||
| // PickerBuilder creates balancer.Picker. | ||||
| type PickerBuilder interface { | ||||
| 	// Build returns a picker that will be used by gRPC to pick a SubConn. | ||||
| 	Build(info PickerBuildInfo) balancer.Picker | ||||
| } | ||||
| 
 | ||||
| // PickerBuildInfo contains information needed by the picker builder to | ||||
| // construct a picker. | ||||
| type PickerBuildInfo struct { | ||||
| 	// ReadySCs is a map from all ready SubConns to the Addresses used to | ||||
| 	// create them. | ||||
| 	ReadySCs map[balancer.SubConn]SubConnInfo | ||||
| } | ||||
| 
 | ||||
| // SubConnInfo contains information about a SubConn created by the base | ||||
| // balancer. | ||||
| type SubConnInfo struct { | ||||
| 	Address resolver.Address // the address used to create this SubConn | ||||
| } | ||||
| 
 | ||||
| // Config contains the config info about the base balancer builder. | ||||
| type Config struct { | ||||
| 	// HealthCheck indicates whether health checking should be enabled for this specific balancer. | ||||
| 	HealthCheck bool | ||||
| } | ||||
| 
 | ||||
| // NewBalancerBuilder returns a base balancer builder configured by the provided config. | ||||
| func NewBalancerBuilder(name string, pb PickerBuilder, config Config) balancer.Builder { | ||||
| 	return &baseBuilder{ | ||||
| 		name:          name, | ||||
| 		pickerBuilder: pb, | ||||
| 		config:        config, | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue