mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 09:42:26 -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
|
|
@ -131,9 +131,9 @@ type Configuration struct {
|
|||
OIDCAdminGroups []string `name:"oidc-admin-groups" usage:"Membership of one of the listed groups makes someone a GtS admin"`
|
||||
|
||||
TracingEnabled bool `name:"tracing-enabled" usage:"Enable OTLP Tracing"`
|
||||
TracingTransport string `name:"tracing-transport" usage:"grpc or jaeger"`
|
||||
TracingEndpoint string `name:"tracing-endpoint" usage:"Endpoint of your trace collector. Eg., 'localhost:4317' for gRPC, 'http://localhost:14268/api/traces' for jaeger"`
|
||||
TracingInsecureTransport bool `name:"tracing-insecure" usage:"Disable HTTPS for the gRPC transport protocol"`
|
||||
TracingTransport string `name:"tracing-transport" usage:"grpc or http"`
|
||||
TracingEndpoint string `name:"tracing-endpoint" usage:"Endpoint of your trace collector. Eg., 'localhost:4317' for gRPC, 'localhost:4318' for http"`
|
||||
TracingInsecureTransport bool `name:"tracing-insecure-transport" usage:"Disable TLS for the gRPC or HTTP transport protocol"`
|
||||
|
||||
SMTPHost string `name:"smtp-host" usage:"Host of the smtp server. Eg., 'smtp.eu.mailgun.org'"`
|
||||
SMTPPort int `name:"smtp-port" usage:"Port of the smtp server. Eg., 587"`
|
||||
|
|
|
|||
|
|
@ -1991,7 +1991,7 @@ func (st *ConfigState) SetTracingInsecureTransport(v bool) {
|
|||
}
|
||||
|
||||
// TracingInsecureTransportFlag returns the flag name for the 'TracingInsecureTransport' field
|
||||
func TracingInsecureTransportFlag() string { return "tracing-insecure" }
|
||||
func TracingInsecureTransportFlag() string { return "tracing-insecure-transport" }
|
||||
|
||||
// GetTracingInsecureTransport safely fetches the value for global configuration 'TracingInsecureTransport' field
|
||||
func GetTracingInsecureTransport() bool { return global.GetTracingInsecureTransport() }
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ import (
|
|||
"github.com/uptrace/bun/extra/bunotel"
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/exporters/jaeger"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
|
||||
"go.opentelemetry.io/otel/propagation"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
"go.opentelemetry.io/otel/sdk/trace"
|
||||
|
|
@ -69,8 +69,14 @@ func Initialize() error {
|
|||
return fmt.Errorf("building tracing exporter: %w", err)
|
||||
}
|
||||
tpo = trace.WithBatcher(exp)
|
||||
case "jaeger":
|
||||
exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(config.GetTracingEndpoint())))
|
||||
case "http":
|
||||
opts := []otlptracehttp.Option{
|
||||
otlptracehttp.WithEndpoint(config.GetTracingEndpoint()),
|
||||
}
|
||||
if insecure {
|
||||
opts = append(opts, otlptracehttp.WithInsecure())
|
||||
}
|
||||
exp, err := otlptracehttp.New(context.Background(), opts...)
|
||||
if err != nil {
|
||||
return fmt.Errorf("building tracing exporter: %w", err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue