diff options
| author | 2023-09-07 13:20:37 +0200 | |
|---|---|---|
| committer | 2023-09-07 13:20:37 +0200 | |
| commit | 14ef09809942800db57de87fe3963770a56b585b (patch) | |
| tree | 89e95f21145bc7ad5745f77be1d998faa9c09695 /vendor/google.golang.org/grpc/attributes | |
| parent | [bugfix] fix checks for deref the same status descendants / ascendants (#2181) (diff) | |
| download | gotosocial-14ef09809942800db57de87fe3963770a56b585b.tar.xz | |
[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
Diffstat (limited to 'vendor/google.golang.org/grpc/attributes')
| -rw-r--r-- | vendor/google.golang.org/grpc/attributes/attributes.go | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/vendor/google.golang.org/grpc/attributes/attributes.go b/vendor/google.golang.org/grpc/attributes/attributes.go index 02f5dc531..49712aca3 100644 --- a/vendor/google.golang.org/grpc/attributes/attributes.go +++ b/vendor/google.golang.org/grpc/attributes/attributes.go @@ -25,6 +25,11 @@  // later release.  package attributes +import ( +	"fmt" +	"strings" +) +  // Attributes is an immutable struct for storing and retrieving generic  // key/value pairs.  Keys must be hashable, and users should define their own  // types for keys.  Values should not be modified after they are added to an @@ -99,3 +104,39 @@ func (a *Attributes) Equal(o *Attributes) bool {  	}  	return true  } + +// String prints the attribute map. If any key or values throughout the map +// implement fmt.Stringer, it calls that method and appends. +func (a *Attributes) String() string { +	var sb strings.Builder +	sb.WriteString("{") +	first := true +	for k, v := range a.m { +		if !first { +			sb.WriteString(", ") +		} +		sb.WriteString(fmt.Sprintf("%q: %q ", str(k), str(v))) +		first = false +	} +	sb.WriteString("}") +	return sb.String() +} + +func str(x interface{}) string { +	if v, ok := x.(fmt.Stringer); ok { +		return v.String() +	} else if v, ok := x.(string); ok { +		return v +	} +	return fmt.Sprintf("<%p>", x) +} + +// MarshalJSON helps implement the json.Marshaler interface, thereby rendering +// the Attributes correctly when printing (via pretty.JSON) structs containing +// Attributes as fields. +// +// Is it impossible to unmarshal attributes from a JSON representation and this +// method is meant only for debugging purposes. +func (a *Attributes) MarshalJSON() ([]byte, error) { +	return []byte(a.String()), nil +} | 
