mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 04:42:31 -05:00 
			
		
		
		
	[chore]: Bump github.com/prometheus/client_golang from 1.20.2 to 1.20.3 (#3282)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.2 to 1.20.3. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.3/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.2...v1.20.3) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								b17010cf17
							
						
					
				
			
			
				commit
				
					
						1649bfbee2
					
				
			
		
					 4 changed files with 68 additions and 28 deletions
				
			
		
							
								
								
									
										2
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
										
									
									
									
								
							|  | @ -46,7 +46,7 @@ require ( | ||||||
| 	github.com/mitchellh/mapstructure v1.5.0 | 	github.com/mitchellh/mapstructure v1.5.0 | ||||||
| 	github.com/ncruces/go-sqlite3 v0.18.1 | 	github.com/ncruces/go-sqlite3 v0.18.1 | ||||||
| 	github.com/oklog/ulid v1.3.1 | 	github.com/oklog/ulid v1.3.1 | ||||||
| 	github.com/prometheus/client_golang v1.20.2 | 	github.com/prometheus/client_golang v1.20.3 | ||||||
| 	github.com/spf13/cobra v1.8.1 | 	github.com/spf13/cobra v1.8.1 | ||||||
| 	github.com/spf13/viper v1.19.0 | 	github.com/spf13/viper v1.19.0 | ||||||
| 	github.com/stretchr/testify v1.9.0 | 	github.com/stretchr/testify v1.9.0 | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
										
									
									
									
								
							|  | @ -468,8 +468,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI | ||||||
| github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
| github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= | github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= | ||||||
| github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= | github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= | ||||||
| github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= | github.com/prometheus/client_golang v1.20.3 h1:oPksm4K8B+Vt35tUhw6GbSNSgVlVSBH0qELP/7u83l4= | ||||||
| github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= | github.com/prometheus/client_golang v1.20.3/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= | ||||||
| github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= | ||||||
| github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= | github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= | ||||||
| github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= | github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= | ||||||
|  |  | ||||||
							
								
								
									
										88
									
								
								vendor/github.com/prometheus/client_golang/prometheus/histogram.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										88
									
								
								vendor/github.com/prometheus/client_golang/prometheus/histogram.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1658,7 +1658,10 @@ func addAndResetCounts(hot, cold *histogramCounts) { | ||||||
| type nativeExemplars struct { | type nativeExemplars struct { | ||||||
| 	sync.Mutex | 	sync.Mutex | ||||||
| 
 | 
 | ||||||
| 	ttl       time.Duration | 	// Time-to-live for exemplars, it is set to -1 if exemplars are disabled, that is NativeHistogramMaxExemplars is below 0. | ||||||
|  | 	// The ttl is used on insertion to remove an exemplar that is older than ttl, if present. | ||||||
|  | 	ttl time.Duration | ||||||
|  | 
 | ||||||
| 	exemplars []*dto.Exemplar | 	exemplars []*dto.Exemplar | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1673,6 +1676,7 @@ func makeNativeExemplars(ttl time.Duration, maxCount int) nativeExemplars { | ||||||
| 
 | 
 | ||||||
| 	if maxCount < 0 { | 	if maxCount < 0 { | ||||||
| 		maxCount = 0 | 		maxCount = 0 | ||||||
|  | 		ttl = -1 | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return nativeExemplars{ | 	return nativeExemplars{ | ||||||
|  | @ -1682,20 +1686,18 @@ func makeNativeExemplars(ttl time.Duration, maxCount int) nativeExemplars { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 	if cap(n.exemplars) == 0 { | 	if n.ttl == -1 { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	n.Lock() | 	n.Lock() | ||||||
| 	defer n.Unlock() | 	defer n.Unlock() | ||||||
| 
 | 
 | ||||||
| 	// The index where to insert the new exemplar. |  | ||||||
| 	var nIdx int = -1 |  | ||||||
| 
 |  | ||||||
| 	// When the number of exemplars has not yet exceeded or | 	// When the number of exemplars has not yet exceeded or | ||||||
| 	// is equal to cap(n.exemplars), then | 	// is equal to cap(n.exemplars), then | ||||||
| 	// insert the new exemplar directly. | 	// insert the new exemplar directly. | ||||||
| 	if len(n.exemplars) < cap(n.exemplars) { | 	if len(n.exemplars) < cap(n.exemplars) { | ||||||
|  | 		var nIdx int | ||||||
| 		for nIdx = 0; nIdx < len(n.exemplars); nIdx++ { | 		for nIdx = 0; nIdx < len(n.exemplars); nIdx++ { | ||||||
| 			if *e.Value < *n.exemplars[nIdx].Value { | 			if *e.Value < *n.exemplars[nIdx].Value { | ||||||
| 				break | 				break | ||||||
|  | @ -1705,17 +1707,46 @@ func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if len(n.exemplars) == 1 { | ||||||
|  | 		// When the number of exemplars is 1, then | ||||||
|  | 		// replace the existing exemplar with the new exemplar. | ||||||
|  | 		n.exemplars[0] = e | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	// From this point on, the number of exemplars is greater than 1. | ||||||
|  | 
 | ||||||
| 	// When the number of exemplars exceeds the limit, remove one exemplar. | 	// When the number of exemplars exceeds the limit, remove one exemplar. | ||||||
| 	var ( | 	var ( | ||||||
| 		rIdx int // The index where to remove the old exemplar. | 		ot    = time.Time{} // Oldest timestamp seen. Initial value doesn't matter as we replace it due to otIdx == -1 in the loop. | ||||||
|  | 		otIdx = -1          // Index of the exemplar with the oldest timestamp. | ||||||
| 
 | 
 | ||||||
| 		ot    = time.Now() // Oldest timestamp seen. | 		md = -1.0 // Logarithm of the delta of the closest pair of exemplars. | ||||||
| 		otIdx = -1         // Index of the exemplar with the oldest timestamp. |  | ||||||
| 
 | 
 | ||||||
| 		md    = -1.0  // Logarithm of the delta of the closest pair of exemplars. | 		// The insertion point of the new exemplar in the exemplars slice after insertion. | ||||||
| 		mdIdx = -1    // Index of the older exemplar within the closest pair. | 		// This is calculated purely based on the order of the exemplars by value. | ||||||
| 		cLog  float64 // Logarithm of the current exemplar. | 		// nIdx == len(n.exemplars) means the new exemplar is to be inserted after the end. | ||||||
| 		pLog  float64 // Logarithm of the previous exemplar. | 		nIdx = -1 | ||||||
|  | 
 | ||||||
|  | 		// rIdx is ultimately the index for the exemplar that we are replacing with the new exemplar. | ||||||
|  | 		// The aim is to keep a good spread of exemplars by value and not let them bunch up too much. | ||||||
|  | 		// It is calculated in 3 steps: | ||||||
|  | 		//   1. First we set rIdx to the index of the older exemplar within the closest pair by value. | ||||||
|  | 		//      That is the following will be true (on log scale): | ||||||
|  | 		//      either the exemplar pair on index (rIdx-1, rIdx) or (rIdx, rIdx+1) will have | ||||||
|  | 		//      the closest values to each other from all pairs. | ||||||
|  | 		//      For example, suppose the values are distributed like this: | ||||||
|  | 		//        |-----------x-------------x----------------x----x-----| | ||||||
|  | 		//                                                   ^--rIdx as this is older. | ||||||
|  | 		//      Or like this: | ||||||
|  | 		//        |-----------x-------------x----------------x----x-----| | ||||||
|  | 		//                                                        ^--rIdx as this is older. | ||||||
|  | 		//   2. If there is an exemplar that expired, then we simple reset rIdx to that index. | ||||||
|  | 		//   3. We check if by inserting the new exemplar we would create a closer pair at | ||||||
|  | 		//      (nIdx-1, nIdx) or (nIdx, nIdx+1) and set rIdx to nIdx-1 or nIdx accordingly to | ||||||
|  | 		//      keep the spread of exemplars by value; otherwise we keep rIdx as it is. | ||||||
|  | 		rIdx = -1 | ||||||
|  | 		cLog float64 // Logarithm of the current exemplar. | ||||||
|  | 		pLog float64 // Logarithm of the previous exemplar. | ||||||
| 	) | 	) | ||||||
| 
 | 
 | ||||||
| 	for i, exemplar := range n.exemplars { | 	for i, exemplar := range n.exemplars { | ||||||
|  | @ -1726,7 +1757,7 @@ func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// Find the index at which to insert new the exemplar. | 		// Find the index at which to insert new the exemplar. | ||||||
| 		if *e.Value <= *exemplar.Value && nIdx == -1 { | 		if nIdx == -1 && *e.Value <= *exemplar.Value { | ||||||
| 			nIdx = i | 			nIdx = i | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -1738,11 +1769,13 @@ func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 		} | 		} | ||||||
| 		diff := math.Abs(cLog - pLog) | 		diff := math.Abs(cLog - pLog) | ||||||
| 		if md == -1 || diff < md { | 		if md == -1 || diff < md { | ||||||
|  | 			// The closest exemplar pair is at index: i-1, i. | ||||||
|  | 			// Choose the exemplar with the older timestamp for replacement. | ||||||
| 			md = diff | 			md = diff | ||||||
| 			if n.exemplars[i].Timestamp.AsTime().Before(n.exemplars[i-1].Timestamp.AsTime()) { | 			if n.exemplars[i].Timestamp.AsTime().Before(n.exemplars[i-1].Timestamp.AsTime()) { | ||||||
| 				mdIdx = i | 				rIdx = i | ||||||
| 			} else { | 			} else { | ||||||
| 				mdIdx = i - 1 | 				rIdx = i - 1 | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -1753,8 +1786,12 @@ func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 	if nIdx == -1 { | 	if nIdx == -1 { | ||||||
| 		nIdx = len(n.exemplars) | 		nIdx = len(n.exemplars) | ||||||
| 	} | 	} | ||||||
|  | 	// Here, we have the following relationships: | ||||||
|  | 	// n.exemplars[nIdx-1].Value < e.Value (if nIdx > 0) | ||||||
|  | 	// e.Value <= n.exemplars[nIdx].Value (if nIdx < len(n.exemplars)) | ||||||
| 
 | 
 | ||||||
| 	if otIdx != -1 && e.Timestamp.AsTime().Sub(ot) > n.ttl { | 	if otIdx != -1 && e.Timestamp.AsTime().Sub(ot) > n.ttl { | ||||||
|  | 		// If the oldest exemplar has expired, then replace it with the new exemplar. | ||||||
| 		rIdx = otIdx | 		rIdx = otIdx | ||||||
| 	} else { | 	} else { | ||||||
| 		// In the previous for loop, when calculating the closest pair of exemplars, | 		// In the previous for loop, when calculating the closest pair of exemplars, | ||||||
|  | @ -1764,23 +1801,26 @@ func (n *nativeExemplars) addExemplar(e *dto.Exemplar) { | ||||||
| 		if nIdx > 0 { | 		if nIdx > 0 { | ||||||
| 			diff := math.Abs(elog - math.Log(n.exemplars[nIdx-1].GetValue())) | 			diff := math.Abs(elog - math.Log(n.exemplars[nIdx-1].GetValue())) | ||||||
| 			if diff < md { | 			if diff < md { | ||||||
|  | 				// The value we are about to insert is closer to the previous exemplar at the insertion point than what we calculated before in rIdx. | ||||||
|  | 				//                                            v--rIdx | ||||||
|  | 				// |-----------x-n-----------x----------------x----x-----| | ||||||
|  | 				//     nIdx-1--^ ^--new exemplar value | ||||||
|  | 				// Do not make the spread worse, replace nIdx-1 and not rIdx. | ||||||
| 				md = diff | 				md = diff | ||||||
| 				mdIdx = nIdx | 				rIdx = nIdx - 1 | ||||||
| 				if n.exemplars[nIdx-1].Timestamp.AsTime().Before(e.Timestamp.AsTime()) { |  | ||||||
| 					mdIdx = nIdx - 1 |  | ||||||
| 				} |  | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		if nIdx < len(n.exemplars) { | 		if nIdx < len(n.exemplars) { | ||||||
| 			diff := math.Abs(math.Log(n.exemplars[nIdx].GetValue()) - elog) | 			diff := math.Abs(math.Log(n.exemplars[nIdx].GetValue()) - elog) | ||||||
| 			if diff < md { | 			if diff < md { | ||||||
| 				mdIdx = nIdx | 				// The value we are about to insert is closer to the next exemplar at the insertion point than what we calculated before in rIdx. | ||||||
| 				if n.exemplars[nIdx].Timestamp.AsTime().Before(e.Timestamp.AsTime()) { | 				//                                            v--rIdx | ||||||
| 					mdIdx = nIdx | 				// |-----------x-----------n-x----------------x----x-----| | ||||||
| 				} | 				//     new exemplar value--^ ^--nIdx | ||||||
|  | 				// Do not make the spread worse, replace nIdx-1 and not rIdx. | ||||||
|  | 				rIdx = nIdx | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		rIdx = mdIdx |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Adjust the slice according to rIdx and nIdx. | 	// Adjust the slice according to rIdx and nIdx. | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							|  | @ -561,7 +561,7 @@ github.com/pkg/errors | ||||||
| # github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 | # github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 | ||||||
| ## explicit | ## explicit | ||||||
| github.com/pmezard/go-difflib/difflib | github.com/pmezard/go-difflib/difflib | ||||||
| # github.com/prometheus/client_golang v1.20.2 | # github.com/prometheus/client_golang v1.20.3 | ||||||
| ## explicit; go 1.20 | ## explicit; go 1.20 | ||||||
| github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil | github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil | ||||||
| github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header | github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue