diff --git a/charts/fission-all/templates/_helpers.tpl b/charts/fission-all/templates/_helpers.tpl index 2dcadcd1..f7167e3f 100644 --- a/charts/fission-all/templates/_helpers.tpl +++ b/charts/fission-all/templates/_helpers.tpl @@ -71,12 +71,3 @@ This template generates the image name for the deployment depending on the value - name: OTEL_PROPAGATORS value: "{{ .Values.openTelemetry.propagators }}" {{- end }} - -{{- define "opentracing.envs" }} -- name: OPENTRACING_ENABLED - value: {{ .Values.openTracing.enabled | default false | quote }} -- name: TRACE_JAEGER_COLLECTOR_ENDPOINT - value: "{{ .Values.openTracing.collectorEndpoint }}" -- name: TRACING_SAMPLING_RATE - value: {{ .Values.openTracing.samplingRate | default "0.5" | quote }} -{{- end }} \ No newline at end of file diff --git a/charts/fission-all/templates/buildermgr/deployment.yaml b/charts/fission-all/templates/buildermgr/deployment.yaml index 79b12a23..9b81fc05 100644 --- a/charts/fission-all/templates/buildermgr/deployment.yaml +++ b/charts/fission-all/templates/buildermgr/deployment.yaml @@ -55,7 +55,6 @@ spec: value: {{ .Values.pprof.enabled | quote }} - name: HELM_RELEASE_NAME value: {{ .Release.Name | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} ports: - containerPort: 8080 diff --git a/charts/fission-all/templates/controller/deployment.yaml b/charts/fission-all/templates/controller/deployment.yaml index 0ea273d7..3fdcdfe1 100644 --- a/charts/fission-all/templates/controller/deployment.yaml +++ b/charts/fission-all/templates/controller/deployment.yaml @@ -42,7 +42,6 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.controller.resources | nindent 10 }} diff --git a/charts/fission-all/templates/executor/deployment.yaml b/charts/fission-all/templates/executor/deployment.yaml index 7a1d67ee..f5152cb3 100644 --- a/charts/fission-all/templates/executor/deployment.yaml +++ b/charts/fission-all/templates/executor/deployment.yaml @@ -59,7 +59,6 @@ spec: value: {{ .Values.pprof.enabled | quote }} - name: HELM_RELEASE_NAME value: {{ .Release.Name | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.executor.resources | nindent 10 }} diff --git a/charts/fission-all/templates/fluentbit/fluentbit.yaml b/charts/fission-all/templates/fluentbit/fluentbit.yaml index 2e7a5b5a..6b361bb6 100644 --- a/charts/fission-all/templates/fluentbit/fluentbit.yaml +++ b/charts/fission-all/templates/fluentbit/fluentbit.yaml @@ -118,8 +118,6 @@ spec: fieldRef: apiVersion: v1 fieldPath: spec.nodeName - - name: OPENTRACING_ENABLED - value: {{ .Values.openTracing.enabled | default false | quote }} command: ["/fission-bundle"] args: ["--logger"] volumeMounts: @@ -161,8 +159,6 @@ spec: key: password - name: LOG_PATH value: /var/log/fission/*.log - - name: OPENTRACING_ENABLED - value: {{ .Values.openTracing.enabled | default false | quote }} {{- if .Values.logger.enableSecurityContext }} securityContext: privileged: true diff --git a/charts/fission-all/templates/kubewatcher/deployment.yaml b/charts/fission-all/templates/kubewatcher/deployment.yaml index 9018ad04..b50aefbf 100644 --- a/charts/fission-all/templates/kubewatcher/deployment.yaml +++ b/charts/fission-all/templates/kubewatcher/deployment.yaml @@ -29,7 +29,6 @@ spec: value: {{ .Values.debugEnv | quote }} - name: PPROF_ENABLED value: {{ .Values.pprof.enabled | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.kubewatcher.resources | nindent 10 }} diff --git a/charts/fission-all/templates/mqt-fission-kafka/deployment.yaml b/charts/fission-all/templates/mqt-fission-kafka/deployment.yaml index 47f959d6..7ea1dbed 100644 --- a/charts/fission-all/templates/mqt-fission-kafka/deployment.yaml +++ b/charts/fission-all/templates/mqt-fission-kafka/deployment.yaml @@ -44,7 +44,6 @@ spec: value: {{ .Values.debugEnv | quote }} - name: PPROF_ENABLED value: {{ .Values.pprof.enabled | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} # TLS authentication is TLS with authentication (2 way) # More info: https://docs.confluent.io/current/kafka/authentication_ssl.html#ssl-overview diff --git a/charts/fission-all/templates/mqt-keda/deployment.yaml b/charts/fission-all/templates/mqt-keda/deployment.yaml index deeb5d21..69583d0d 100644 --- a/charts/fission-all/templates/mqt-keda/deployment.yaml +++ b/charts/fission-all/templates/mqt-keda/deployment.yaml @@ -44,7 +44,6 @@ spec: value: "{{ .Values.mqt_keda.connector_images.gcp_pubsub.image }}:{{ .Values.mqt_keda.connector_images.gcp_pubsub.tag }}" - name: REDIS_IMAGE value: "{{ .Values.mqt_keda.connector_images.redis.image }}:{{ .Values.mqt_keda.connector_images.redis.tag }}" - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.mqt_keda.resources | nindent 10 }} diff --git a/charts/fission-all/templates/router/deployment.yaml b/charts/fission-all/templates/router/deployment.yaml index ab5dff60..15d38dd5 100644 --- a/charts/fission-all/templates/router/deployment.yaml +++ b/charts/fission-all/templates/router/deployment.yaml @@ -83,7 +83,6 @@ spec: value: {{ .Values.pprof.enabled | quote }} - name: DISPLAY_ACCESS_LOG value: {{ .Values.router.displayAccessLog | default false | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.router.resources | nindent 10 }} diff --git a/charts/fission-all/templates/storagesvc/deployment.yaml b/charts/fission-all/templates/storagesvc/deployment.yaml index be9dcfee..534478f7 100644 --- a/charts/fission-all/templates/storagesvc/deployment.yaml +++ b/charts/fission-all/templates/storagesvc/deployment.yaml @@ -60,7 +60,6 @@ spec: - name: STORAGE_S3_REGION value: {{ .Values.persistence.s3.region }} {{- end }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.storagesvc.resources | nindent 10 }} diff --git a/charts/fission-all/templates/timer/deployment.yaml b/charts/fission-all/templates/timer/deployment.yaml index ee016ead..62357a79 100644 --- a/charts/fission-all/templates/timer/deployment.yaml +++ b/charts/fission-all/templates/timer/deployment.yaml @@ -29,7 +29,6 @@ spec: value: {{ .Values.debugEnv | quote }} - name: PPROF_ENABLED value: {{ .Values.pprof.enabled | quote }} - {{- include "opentracing.envs" . | indent 8 }} {{- include "opentelemtry.envs" . | indent 8 }} resources: {{- toYaml .Values.timer.resources | nindent 10 }} diff --git a/charts/fission-all/values.yaml b/charts/fission-all/values.yaml index 574260f0..a07a0fa6 100644 --- a/charts/fission-all/values.yaml +++ b/charts/fission-all/values.yaml @@ -639,23 +639,6 @@ authentication: ## jwtIssuer: fission -## Use the following flags to enable OpenTracing. -## Note: OpenTracing support will be removed in an upcoming release. -## Please prefer using OpenTelemetry instead. -## -openTracing: - ## set this flag to true if you wish to enable OpenTracing - ## - enabled: false - - ## if enabled is true, the variable is endpoint of Jaeger collector in the format shown below - ## - #collectorEndpoint: "http://jaeger-collector.jaeger.svc:14268/api/traces?format=jaeger.thrift" - - ## uniformly sample traces with the given probabilistic sampling rate - ## - #samplingRate: 0.75 - ## OpenTelemetry is a set of tools for collecting, analyzing, and visualizing ## distributed tracing data across function calls. ## diff --git a/cmd/fetcher/app/server.go b/cmd/fetcher/app/server.go index 48966b7a..32be70ff 100644 --- a/cmd/fetcher/app/server.go +++ b/cmd/fetcher/app/server.go @@ -25,14 +25,12 @@ import ( "os" "sync/atomic" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/otel" "go.uber.org/zap" "github.com/fission/fission/pkg/fetcher" "github.com/fission/fission/pkg/utils/httpserver" otelUtils "github.com/fission/fission/pkg/utils/otel" - "github.com/fission/fission/pkg/utils/tracing" ) var ( @@ -41,7 +39,6 @@ var ( func Run(ctx context.Context, logger *zap.Logger) { flag.Usage = fetcherUsage - collectorEndpoint := flag.String("jaeger-collector-endpoint", "", "") specializeOnStart := flag.Bool("specialize-on-startup", false, "Flag to activate specialize process at pod startup") specializePayload := flag.String("specialize-request", "", "JSON payload for specialize request") secretDir := flag.String("secret-dir", "", "Path to shared secrets directory") @@ -62,21 +59,13 @@ func Run(ctx context.Context, logger *zap.Logger) { } } } - openTracingEnabled := tracing.TracingEnabled(logger) - if openTracingEnabled { - go func() { - if err := tracing.RegisterTraceExporter(logger, *collectorEndpoint, "Fission-Fetcher"); err != nil { - logger.Fatal("could not register trace exporter", zap.Error(err), zap.String("collector_endpoint", *collectorEndpoint)) - } - }() - } else { - shutdown, err := otelUtils.InitProvider(ctx, logger, "Fission-Fetcher") - if err != nil { - logger.Fatal("error initializing provider for OTLP", zap.Error(err)) - } - if shutdown != nil { - defer shutdown(ctx) - } + + shutdown, err := otelUtils.InitProvider(ctx, logger, "Fission-Fetcher") + if err != nil { + logger.Fatal("error initializing provider for OTLP", zap.Error(err)) + } + if shutdown != nil { + defer shutdown(ctx) } tracer := otel.Tracer("fetcher") @@ -129,12 +118,7 @@ func Run(ctx context.Context, logger *zap.Logger) { logger.Info("fetcher ready to receive requests") - var handler http.Handler - if openTracingEnabled { - handler = &ochttp.Handler{Handler: mux} - } else { - handler = otelUtils.GetHandlerWithOTEL(mux, "fission-fetcher", otelUtils.UrlsToIgnore("/healthz", "/readiness-healthz")) - } + handler := otelUtils.GetHandlerWithOTEL(mux, "fission-fetcher", otelUtils.UrlsToIgnore("/healthz", "/readiness-healthz")) httpserver.StartServer(ctx, logger, "fetcher", "8000", handler) } diff --git a/cmd/fission-bundle/main.go b/cmd/fission-bundle/main.go index a7e18a0f..0a49ceff 100644 --- a/cmd/fission-bundle/main.go +++ b/cmd/fission-bundle/main.go @@ -42,19 +42,18 @@ import ( "github.com/fission/fission/pkg/utils/otel" "github.com/fission/fission/pkg/utils/profile" "github.com/fission/fission/pkg/utils/signals" - "github.com/fission/fission/pkg/utils/tracing" ) -func runController(ctx context.Context, logger *zap.Logger, port int, openTracingEnabled bool) { - controller.Start(ctx, logger, port, false, openTracingEnabled) +func runController(ctx context.Context, logger *zap.Logger, port int) { + controller.Start(ctx, logger, port, false) } -func runRouter(ctx context.Context, logger *zap.Logger, port int, executorUrl string, openTracingEnabled bool) { - router.Start(ctx, logger, port, executorUrl, openTracingEnabled) +func runRouter(ctx context.Context, logger *zap.Logger, port int, executorUrl string) { + router.Start(ctx, logger, port, executorUrl) } -func runExecutor(ctx context.Context, logger *zap.Logger, port int, functionNamespace, envBuilderNamespace string, openTracingEnabled bool) error { - return executor.StartExecutor(ctx, logger, functionNamespace, envBuilderNamespace, port, openTracingEnabled) +func runExecutor(ctx context.Context, logger *zap.Logger, port int, functionNamespace, envBuilderNamespace string) error { + return executor.StartExecutor(ctx, logger, functionNamespace, envBuilderNamespace, port) } func runKubeWatcher(ctx context.Context, logger *zap.Logger, routerUrl string) error { @@ -74,8 +73,8 @@ func runMQManager(ctx context.Context, logger *zap.Logger, routerURL string) err return mqt.StartScalerManager(ctx, logger, routerURL) } -func runStorageSvc(ctx context.Context, logger *zap.Logger, port int, storage storagesvc.Storage, openTracingEnabled bool) error { - return storagesvc.Start(ctx, logger, storage, port, openTracingEnabled) +func runStorageSvc(ctx context.Context, logger *zap.Logger, port int, storage storagesvc.Storage) error { + return storagesvc.Start(ctx, logger, storage, port) } func runBuilderMgr(ctx context.Context, logger *zap.Logger, storageSvcUrl string, envBuilderNamespace string) error { @@ -210,22 +209,13 @@ Options: return } - openTracingEnabled := tracing.TracingEnabled(logger) - if openTracingEnabled { - err = tracing.RegisterTraceExporter(logger, os.Getenv("TRACE_JAEGER_COLLECTOR_ENDPOINT"), getServiceName(arguments)) - if err != nil { - logger.Error("failed to register trace exporter", zap.Error(err), zap.Any("argument", arguments)) - return - } - } else { - shutdown, err := otel.InitProvider(ctx, logger, getServiceName(arguments)) - if err != nil { - logger.Error("error initializing provider for OTLP", zap.Error(err), zap.Any("argument", arguments)) - return - } - if shutdown != nil { - defer shutdown(ctx) - } + shutdown, err := otel.InitProvider(ctx, logger, getServiceName(arguments)) + if err != nil { + logger.Error("error initializing provider for OTLP", zap.Error(err), zap.Any("argument", arguments)) + return + } + if shutdown != nil { + defer shutdown(ctx) } functionNs := getStringArgWithDefault(arguments["--namespace"], "fission-function") @@ -237,21 +227,21 @@ Options: if arguments["--controllerPort"] != nil { port := getPort(logger, arguments["--controllerPort"]) - runController(ctx, logger, port, openTracingEnabled) + runController(ctx, logger, port) logger.Error("controller exited") return } if arguments["--routerPort"] != nil { port := getPort(logger, arguments["--routerPort"]) - runRouter(ctx, logger, port, executorUrl, openTracingEnabled) + runRouter(ctx, logger, port, executorUrl) logger.Error("router exited") return } if arguments["--executorPort"] != nil { port := getPort(logger, arguments["--executorPort"]) - err = runExecutor(ctx, logger, port, functionNs, envBuilderNs, openTracingEnabled) + err = runExecutor(ctx, logger, port, functionNs, envBuilderNs) if err != nil { logger.Error("executor exited", zap.Error(err)) return @@ -314,7 +304,7 @@ Options: } else if arguments["--storageType"] == string(storagesvc.StorageTypeLocal) { storage = storagesvc.NewLocalStorage("/fission") } - err := runStorageSvc(ctx, logger, port, storage, openTracingEnabled) + err := runStorageSvc(ctx, logger, port, storage) if err != nil { logger.Error("storage service exited", zap.Error(err)) return diff --git a/go.mod b/go.mod index 4a0615ab..ce42fafa 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/fission/fission go 1.18 require ( - contrib.go.opencensus.io/exporter/jaeger v0.2.1 github.com/Shopify/sarama v1.32.0 github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 @@ -35,7 +34,6 @@ require ( github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.7.1 github.com/wcharczuk/go-chart v2.0.1+incompatible - go.opencensus.io v0.23.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 go.opentelemetry.io/contrib/propagators/aws v1.7.0 go.opentelemetry.io/contrib/propagators/b3 v1.7.0 @@ -150,7 +148,6 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sergi/go-diff v1.1.0 // indirect github.com/sirupsen/logrus v1.8.1 // indirect - github.com/uber/jaeger-client-go v2.28.0+incompatible // indirect github.com/ulikunitz/xz v0.5.9 // indirect github.com/xanzy/ssh-agent v0.3.0 // indirect github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect @@ -163,12 +160,10 @@ require ( golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70 // indirect golang.org/x/image v0.0.0-20190802002840-cff245a6509b // indirect golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect golang.org/x/text v0.3.7 // indirect golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect - google.golang.org/api v0.62.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03 // indirect google.golang.org/protobuf v1.28.0 // indirect diff --git a/go.sum b/go.sum index ed787910..88eb0ac4 100644 --- a/go.sum +++ b/go.sum @@ -26,7 +26,6 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -47,8 +46,6 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -contrib.go.opencensus.io/exporter/jaeger v0.2.1 h1:yGBYzYMewVL0yO9qqJv3Z5+IRhPdU7e9o/2oKpX4YvI= -contrib.go.opencensus.io/exporter/jaeger v0.2.1/go.mod h1:Y8IsLgdxqh1QxYxPC5IgXVmBaeLUeQFfBeBi9PbeZd0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v32.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -742,9 +739,6 @@ github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= -github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-client-go v2.28.0+incompatible h1:G4QSBfvPKvg5ZM2j9MrJFdfI5iSljY/WnJqOGFao6HI= -github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.9 h1:RsKRIA2MO8x56wkkcd3LbtcE/uMszhb6DpRf+3uwa3I= @@ -785,7 +779,6 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= @@ -992,7 +985,6 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1078,7 +1070,6 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b h1:2n253B2r0pYSmEV+UNCQoPfU/FiaizQEK5Gu4Bq4JE8= @@ -1204,8 +1195,6 @@ google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqiv google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0 h1:PhGymJMXfGBzc4lBRmrx9+1w4w2wEzURHNGF/sD/xGc= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1274,8 +1263,6 @@ google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03 h1:W70HjnmXFJm+8RNjOpIDYW2nKsSi/af0VvIZUtYkwuU= google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= @@ -1305,7 +1292,6 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0 h1:9n77onPX5F3qfFCqjy9dhn8PbNQsIKeVU04J9G7umt8= diff --git a/pkg/builder/client/client.go b/pkg/builder/client/client.go index 1e0a6c34..596391d9 100644 --- a/pkg/builder/client/client.go +++ b/pkg/builder/client/client.go @@ -26,7 +26,6 @@ import ( "time" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.uber.org/zap" "golang.org/x/net/context/ctxhttp" @@ -34,7 +33,6 @@ import ( "github.com/fission/fission/pkg/builder" ferror "github.com/fission/fission/pkg/error" otelUtils "github.com/fission/fission/pkg/utils/otel" - "github.com/fission/fission/pkg/utils/tracing" ) type ( @@ -46,13 +44,7 @@ type ( ) func MakeClient(logger *zap.Logger, builderUrl string) *Client { - var hc *http.Client - if tracing.TracingEnabled(logger) { - hc = &http.Client{Transport: &ochttp.Transport{}} - } else { - hc = &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} - } - + hc := &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} return &Client{ logger: logger.Named("builder_client"), url: strings.TrimSuffix(builderUrl, "/"), diff --git a/pkg/controller/api.go b/pkg/controller/api.go index 280b9b97..5d049f57 100644 --- a/pkg/controller/api.go +++ b/pkg/controller/api.go @@ -24,7 +24,6 @@ import ( "strings" "github.com/gorilla/mux" - "go.opencensus.io/plugin/ochttp" "go.uber.org/zap" apiv1 "k8s.io/api/core/v1" kerrors "k8s.io/apimachinery/pkg/api/errors" @@ -270,14 +269,8 @@ func (api *API) GetHandler() http.Handler { return r } -func (api *API) Serve(ctx context.Context, port int, openTracingEnabled bool) { - var handler http.Handler - if openTracingEnabled { - handler = &ochttp.Handler{Handler: api.GetHandler()} - } else { - handler = otel.GetHandlerWithOTEL(api.GetHandler(), "fission-controller", otel.UrlsToIgnore("/healthz")) - } - +func (api *API) Serve(ctx context.Context, port int) { + handler := otel.GetHandlerWithOTEL(api.GetHandler(), "fission-controller", otel.UrlsToIgnore("/healthz")) go metrics.ServeMetrics(ctx, api.logger) httpserver.StartServer(ctx, api.logger, "controller", fmt.Sprintf("%d", port), handler) } diff --git a/pkg/controller/api_test.go b/pkg/controller/api_test.go index c0bbca3e..9eb2297b 100644 --- a/pkg/controller/api_test.go +++ b/pkg/controller/api_test.go @@ -377,7 +377,7 @@ func TestMain(m *testing.M) { panicIf(err) ctx := context.Background() - go Start(ctx, logger, 8888, true, true) + go Start(ctx, logger, 8888, true) time.Sleep(5 * time.Second) diff --git a/pkg/controller/controller.go b/pkg/controller/controller.go index 653edcd3..0bf82387 100644 --- a/pkg/controller/controller.go +++ b/pkg/controller/controller.go @@ -24,7 +24,7 @@ import ( "github.com/fission/fission/pkg/crd" ) -func Start(ctx context.Context, logger *zap.Logger, port int, unitTestFlag bool, openTracingEnabled bool) { +func Start(ctx context.Context, logger *zap.Logger, port int, unitTestFlag bool) { cLogger := logger.Named("controller") fc, kc, apiExtClient, _, err := crd.MakeFissionClient() @@ -51,5 +51,5 @@ func Start(ctx context.Context, logger *zap.Logger, port int, unitTestFlag bool, if err != nil { cLogger.Fatal("failed to start controller", zap.Error(err)) } - api.Serve(ctx, port, openTracingEnabled) + api.Serve(ctx, port) } diff --git a/pkg/executor/api.go b/pkg/executor/api.go index 748f66b5..b4a7b032 100644 --- a/pkg/executor/api.go +++ b/pkg/executor/api.go @@ -28,7 +28,6 @@ import ( "github.com/gorilla/mux" "github.com/hashicorp/go-multierror" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.uber.org/zap" fv1 "github.com/fission/fission/pkg/apis/core/v1" @@ -263,14 +262,8 @@ func (executor *Executor) GetHandler() http.Handler { } // Serve starts an HTTP server. -func (executor *Executor) Serve(ctx context.Context, port int, openTracingEnabled bool) { - var handler http.Handler - if openTracingEnabled { - handler = &ochttp.Handler{Handler: executor.GetHandler()} - } else { - handler = otelUtils.GetHandlerWithOTEL(executor.GetHandler(), "fission-executor", otelUtils.UrlsToIgnore("/healthz")) - } - +func (executor *Executor) Serve(ctx context.Context, port int) { + handler := otelUtils.GetHandlerWithOTEL(executor.GetHandler(), "fission-executor", otelUtils.UrlsToIgnore("/healthz")) httpserver.StartServer(ctx, executor.logger, "executor", fmt.Sprintf("%d", port), handler) } diff --git a/pkg/executor/client/client.go b/pkg/executor/client/client.go index cf64d12f..0f3f44d5 100644 --- a/pkg/executor/client/client.go +++ b/pkg/executor/client/client.go @@ -27,13 +27,11 @@ import ( "github.com/hashicorp/go-retryablehttp" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.uber.org/zap" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" fv1 "github.com/fission/fission/pkg/apis/core/v1" ferror "github.com/fission/fission/pkg/error" - "github.com/fission/fission/pkg/utils/tracing" ) type ( @@ -57,10 +55,6 @@ type ( // MakeClient initializes and returns a Client instance. func MakeClient(logger *zap.Logger, executorURL string) *Client { hc := retryablehttp.NewClient() - if tracing.TracingEnabled(logger) { - hc.HTTPClient.Transport = &ochttp.Transport{Base: hc.HTTPClient.Transport} - } - c := &Client{ logger: logger.Named("executor_client"), executorURL: strings.TrimSuffix(executorURL, "/"), diff --git a/pkg/executor/executor.go b/pkg/executor/executor.go index cf247acb..b4d3a946 100644 --- a/pkg/executor/executor.go +++ b/pkg/executor/executor.go @@ -253,7 +253,7 @@ func (executor *Executor) getFunctionServiceFromCache(ctx context.Context, fn *f // StartExecutor Starts executor and the executor components such as Poolmgr, // deploymgr and potential future executor types -func StartExecutor(ctx context.Context, logger *zap.Logger, functionNamespace string, envBuilderNamespace string, port int, openTracingEnabled bool) error { +func StartExecutor(ctx context.Context, logger *zap.Logger, functionNamespace string, envBuilderNamespace string, port int) error { fissionClient, kubernetesClient, _, metricsClient, err := crd.MakeFissionClient() if err != nil { return errors.Wrap(err, "failed to get kubernetes client") @@ -383,7 +383,7 @@ func StartExecutor(ctx context.Context, logger *zap.Logger, functionNamespace st } go reaper.CleanupRoleBindings(ctx, logger, kubernetesClient, fissionClient, functionNamespace, envBuilderNamespace, time.Minute*30) go metrics.ServeMetrics(ctx, logger) - go api.Serve(ctx, port, openTracingEnabled) + go api.Serve(ctx, port) return nil } diff --git a/pkg/executor/executor_test.go b/pkg/executor/executor_test.go index 149c3111..1ea60938 100644 --- a/pkg/executor/executor_test.go +++ b/pkg/executor/executor_test.go @@ -174,7 +174,7 @@ func TestExecutor(t *testing.T) { // create poolmgr port := 9999 ctx := context.Background() - err = StartExecutor(ctx, logger, functionNs, "fission-builder", port, true) + err = StartExecutor(ctx, logger, functionNs, "fission-builder", port) if err != nil { log.Panicf("failed to start poolmgr: %v", err) } diff --git a/pkg/fetcher/client/client.go b/pkg/fetcher/client/client.go index 3c2d5394..00e26f23 100644 --- a/pkg/fetcher/client/client.go +++ b/pkg/fetcher/client/client.go @@ -10,14 +10,12 @@ import ( "time" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.uber.org/zap" "golang.org/x/net/context/ctxhttp" ferror "github.com/fission/fission/pkg/error" "github.com/fission/fission/pkg/fetcher" - "github.com/fission/fission/pkg/utils/tracing" ) type ( @@ -29,13 +27,7 @@ type ( ) func MakeClient(logger *zap.Logger, fetcherUrl string) *Client { - var hc *http.Client - if tracing.TracingEnabled(logger) { - hc = &http.Client{Transport: &ochttp.Transport{}} - } else { - hc = &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} - } - + hc := &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} return &Client{ logger: logger.Named("fetcher_client"), url: strings.TrimSuffix(fetcherUrl, "/"), diff --git a/pkg/fetcher/config/config.go b/pkg/fetcher/config/config.go index ee20eb73..0e59d077 100644 --- a/pkg/fetcher/config/config.go +++ b/pkg/fetcher/config/config.go @@ -34,8 +34,6 @@ type Config struct { sharedCfgMapPath string serviceAccount string - - jaegerCollectorEndpoint string } func getFetcherResources() (apiv1.ResourceRequirements, error) { @@ -82,14 +80,13 @@ func MakeFetcherConfig(sharedMountPath string) (*Config, error) { } return &Config{ - resourceRequirements: resources, - fetcherImage: fetcherImage, - fetcherImagePullPolicy: utils.GetImagePullPolicy(fetcherImagePullPolicy), - sharedMountPath: sharedMountPath, - sharedSecretPath: "/secrets", - sharedCfgMapPath: "/configs", - jaegerCollectorEndpoint: os.Getenv("TRACE_JAEGER_COLLECTOR_ENDPOINT"), - serviceAccount: fv1.FissionFetcherSA, + resourceRequirements: resources, + fetcherImage: fetcherImage, + fetcherImagePullPolicy: utils.GetImagePullPolicy(fetcherImagePullPolicy), + sharedMountPath: sharedMountPath, + sharedSecretPath: "/secrets", + sharedCfgMapPath: "/configs", + serviceAccount: fv1.FissionFetcherSA, }, nil } @@ -169,7 +166,6 @@ func (cfg *Config) fetcherCommand(extraArgs ...string) []string { command := []string{"/fetcher", "-secret-dir", cfg.sharedSecretPath, "-cfgmap-dir", cfg.sharedCfgMapPath, - "-jaeger-collector-endpoint", cfg.jaegerCollectorEndpoint, } command = append(command, extraArgs...) diff --git a/pkg/fetcher/fetcher.go b/pkg/fetcher/fetcher.go index be11487e..8d605797 100644 --- a/pkg/fetcher/fetcher.go +++ b/pkg/fetcher/fetcher.go @@ -31,7 +31,6 @@ import ( "github.com/mholt/archiver/v3" "github.com/pkg/errors" uuid "github.com/satori/go.uuid" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.uber.org/zap" "golang.org/x/net/context/ctxhttp" @@ -53,7 +52,6 @@ import ( storageSvcClient "github.com/fission/fission/pkg/storagesvc/client" "github.com/fission/fission/pkg/utils" otelUtils "github.com/fission/fission/pkg/utils/otel" - "github.com/fission/fission/pkg/utils/tracing" ) type ( @@ -107,13 +105,7 @@ func MakeFetcher(logger *zap.Logger, sharedVolumePath string, sharedSecretPath s return nil, errors.Wrap(err, "error reading pod namespace from downward volume") } - var hc *http.Client - if tracing.TracingEnabled(logger) { - hc = &http.Client{Transport: &ochttp.Transport{}} - } else { - hc = &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} - } - + hc := &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} return &Fetcher{ logger: fLogger, sharedVolumePath: sharedVolumePath, diff --git a/pkg/router/functionHandler.go b/pkg/router/functionHandler.go index 641f96cd..fb288fc7 100644 --- a/pkg/router/functionHandler.go +++ b/pkg/router/functionHandler.go @@ -30,7 +30,6 @@ import ( "time" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.uber.org/zap" k8stypes "k8s.io/apimachinery/pkg/types" @@ -68,7 +67,6 @@ type ( svcAddrUpdateThrottler *throttler.Throttler functionTimeoutMap map[k8stypes.UID]int unTapServiceTimeout time.Duration - openTracingEnabled bool } tsRoundTripperParams struct { @@ -323,15 +321,14 @@ func (roundTripper *RetryingRoundTripper) RoundTrip(req *http.Request) (*http.Re // The otelhttp.NewTransport() does not work with WebSocket. // This is probably because it modifies the response body. // Until we find a better solution to handle websocket requests, we will continue to - // use ochttp.Transport(). We check if the request isWebsocketRequest() and use the - // ochttp.Transport() irrespective of open telemetry is enabled or not. + // use http.Transport(). We check if the request isWebsocketRequest() and use the + // http.Transport() irrespective of open telemetry is enabled or not. // Related issue: https://github.com/open-telemetry/opentelemetry-js-contrib/issues/12 // forward the request to the function service var resp *http.Response - if roundTripper.funcHandler.openTracingEnabled || util.IsWebsocketRequest(newReq) { - ocRoundTripper := &ochttp.Transport{Base: transport} - resp, err = ocRoundTripper.RoundTrip(newReq) + if util.IsWebsocketRequest(newReq) { + resp, err = transport.RoundTrip(newReq) } else { otelUtils.SpanTrackEvent(ctx, "roundtrip", otelUtils.MapToAttributes(map[string]string{ "function-name": fnMeta.Name, diff --git a/pkg/router/httpTriggers.go b/pkg/router/httpTriggers.go index 9242b388..47c4a547 100644 --- a/pkg/router/httpTriggers.go +++ b/pkg/router/httpTriggers.go @@ -37,7 +37,6 @@ import ( "github.com/fission/fission/pkg/utils" "github.com/fission/fission/pkg/utils/metrics" "github.com/fission/fission/pkg/utils/otel" - "github.com/fission/fission/pkg/utils/tracing" ) // HTTPTriggerSet represents an HTTP trigger set @@ -122,8 +121,6 @@ func (ts *HTTPTriggerSet) getRouter(fnTimeoutMap map[types.UID]int) *mux.Router muxRouter.Use(authMiddleware(featureConfig)) } - openTracingEnabled := tracing.TracingEnabled(ts.logger) - // HTTP triggers setup by the user homeHandled := false for i := range ts.triggers { @@ -157,7 +154,6 @@ func (ts *HTTPTriggerSet) getRouter(fnTimeoutMap map[types.UID]int) *mux.Router svcAddrUpdateThrottler: ts.svcAddrUpdateThrottler, functionTimeoutMap: fnTimeoutMap, unTapServiceTimeout: ts.unTapServiceTimeout, - openTracingEnabled: openTracingEnabled, } // The functionHandler for HTTP trigger with fn reference type "FunctionReferenceTypeFunctionName", @@ -188,14 +184,10 @@ func (ts *HTTPTriggerSet) getRouter(fnTimeoutMap map[types.UID]int) *mux.Router } var handler http.Handler - if openTracingEnabled { - handler = http.HandlerFunc(fh.handler) + if trigger.Spec.Prefix != nil && *trigger.Spec.Prefix != "" { + handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), *trigger.Spec.Prefix) } else { - if trigger.Spec.Prefix != nil && *trigger.Spec.Prefix != "" { - handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), *trigger.Spec.Prefix) - } else { - handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), trigger.Spec.RelativeURL) - } + handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), trigger.Spec.RelativeURL) } if trigger.Spec.Prefix != nil && *trigger.Spec.Prefix != "" { @@ -263,11 +255,7 @@ func (ts *HTTPTriggerSet) getRouter(fnTimeoutMap map[types.UID]int) *mux.Router var handler http.Handler internalRoute := utils.UrlForFunction(fn.ObjectMeta.Name, fn.ObjectMeta.Namespace) internalPrefixRoute := internalRoute + "/" - if openTracingEnabled { - handler = http.HandlerFunc(fh.handler) - } else { - handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), internalRoute) - } + handler = otel.GetHandlerWithOTEL(http.HandlerFunc(fh.handler), internalRoute) muxRouter.Handle(internalRoute, handler) muxRouter.PathPrefix(internalPrefixRoute).Handler(handler) diff --git a/pkg/router/router.go b/pkg/router/router.go index 85b9c640..95f8181b 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -42,16 +42,11 @@ package router import ( "context" "fmt" - "net/http" - "net/http/httputil" "os" "strconv" - "strings" "time" "github.com/gorilla/mux" - "go.opencensus.io/plugin/ochttp" - "go.opencensus.io/trace" "go.opentelemetry.io/otel" "go.uber.org/zap" @@ -85,41 +80,14 @@ func router(ctx context.Context, logger *zap.Logger, httpTriggerSet *HTTPTrigger } func serve(ctx context.Context, logger *zap.Logger, port int, tracingSamplingRate float64, - httpTriggerSet *HTTPTriggerSet, displayAccessLog bool, openTracingEnabled bool) { + httpTriggerSet *HTTPTriggerSet, displayAccessLog bool) { mr := router(ctx, logger, httpTriggerSet) - - var handler http.Handler - if openTracingEnabled { - handler = &ochttp.Handler{ - Handler: mr, - GetStartOptions: func(r *http.Request) trace.StartOptions { - // do not trace router healthz endpoint - if strings.Compare(r.URL.Path, "/router-healthz") == 0 { - return trace.StartOptions{ - Sampler: trace.NeverSample(), - } - } - if displayAccessLog { - reqMsg, err := httputil.DumpRequest(r, false) - if err != nil { - logger.Error("error dumping request", zap.Error(err)) - } - logger.Info("request dump", zap.String("request", string(reqMsg))) - } - return trace.StartOptions{ - Sampler: trace.ProbabilitySampler(tracingSamplingRate), - } - }, - } - } else { - handler = otelUtils.GetHandlerWithOTEL(mr, "fission-router", otelUtils.UrlsToIgnore("/router-healthz")) - } - + handler := otelUtils.GetHandlerWithOTEL(mr, "fission-router", otelUtils.UrlsToIgnore("/router-healthz")) httpserver.StartServer(ctx, logger, "router", fmt.Sprintf("%d", port), handler) } // Start starts a router -func Start(ctx context.Context, logger *zap.Logger, port int, executorURL string, openTracingEnabled bool) { +func Start(ctx context.Context, logger *zap.Logger, port int, executorURL string) { fmap := makeFunctionServiceMap(logger, time.Minute) fissionClient, kubeClient, _, _, err := crd.MakeFissionClient() @@ -254,5 +222,5 @@ func Start(ctx context.Context, logger *zap.Logger, port int, executorURL string ctx, span := tracer.Start(ctx, "router/Start") defer span.End() - serve(ctx, logger, port, tracingSamplingRate, triggers, displayAccessLog, openTracingEnabled) + serve(ctx, logger, port, tracingSamplingRate, triggers, displayAccessLog) } diff --git a/pkg/storagesvc/client/client.go b/pkg/storagesvc/client/client.go index 83bdd4a4..417c0f09 100644 --- a/pkg/storagesvc/client/client.go +++ b/pkg/storagesvc/client/client.go @@ -29,12 +29,10 @@ import ( "strings" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "golang.org/x/net/context/ctxhttp" "github.com/fission/fission/pkg/storagesvc" - "github.com/fission/fission/pkg/utils/tracing" ) type ( @@ -46,12 +44,7 @@ type ( // Client creates a storage service client. func MakeClient(url string) *Client { - var hc *http.Client - if tracing.TracingEnabled(nil) { - hc = &http.Client{Transport: &ochttp.Transport{}} - } else { - hc = &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} - } + hc := &http.Client{Transport: otelhttp.NewTransport(http.DefaultTransport)} return &Client{ url: strings.TrimSuffix(url, "/") + "/v1", httpClient: hc, diff --git a/pkg/storagesvc/client/storagesvc_test.go b/pkg/storagesvc/client/storagesvc_test.go index ddf31f04..7a32279f 100644 --- a/pkg/storagesvc/client/storagesvc_test.go +++ b/pkg/storagesvc/client/storagesvc_test.go @@ -138,7 +138,7 @@ func TestS3StorageService(t *testing.T) { storage := storagesvc.NewS3Storage() ctx, cancel := context.WithCancel(context.Background()) defer cancel() - _ = storagesvc.Start(ctx, logger, storage, port, true) + _ = storagesvc.Start(ctx, logger, storage, port) time.Sleep(time.Second) client := MakeClient(fmt.Sprintf("http://localhost:%v/", 8081)) @@ -216,7 +216,7 @@ func TestLocalStorageService(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() os.Setenv("METRICS_ADDR", "8083") - _ = storagesvc.Start(ctx, logger, storage, port, true) + _ = storagesvc.Start(ctx, logger, storage, port) time.Sleep(time.Second) client := MakeClient(fmt.Sprintf("http://localhost:%v/", port)) diff --git a/pkg/storagesvc/storagesvc.go b/pkg/storagesvc/storagesvc.go index 301ea5c2..d0076ae3 100644 --- a/pkg/storagesvc/storagesvc.go +++ b/pkg/storagesvc/storagesvc.go @@ -28,7 +28,6 @@ import ( "github.com/gorilla/mux" "github.com/graymeta/stow" "github.com/pkg/errors" - "go.opencensus.io/plugin/ochttp" "go.uber.org/zap" "github.com/fission/fission/pkg/utils/httpserver" @@ -262,7 +261,7 @@ func MakeStorageService(logger *zap.Logger, storageClient *StowClient, port int) } } -func (ss *StorageService) Start(ctx context.Context, port int, openTracingEnabled bool) { +func (ss *StorageService) Start(ctx context.Context, port int) { r := mux.NewRouter() r.Use(metrics.HTTPMetricMiddleware) r.HandleFunc("/v1/archive", ss.uploadHandler).Methods("POST") @@ -272,19 +271,12 @@ func (ss *StorageService) Start(ctx context.Context, port int, openTracingEnable r.HandleFunc("/v1/archive", ss.infoHandler).Methods("HEAD") r.HandleFunc("/healthz", ss.healthHandler).Methods("GET") - var handler http.Handler - if openTracingEnabled { - handler = &ochttp.Handler{ - Handler: r, - } - } else { - handler = otel.GetHandlerWithOTEL(r, "fission-storagesvc", otel.UrlsToIgnore("/healthz")) - } + handler := otel.GetHandlerWithOTEL(r, "fission-storagesvc", otel.UrlsToIgnore("/healthz")) httpserver.StartServer(ctx, ss.logger, "storagesvc", fmt.Sprintf("%d", port), handler) } // Start runs storage service -func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int, openTracingEnabled bool) error { +func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int) error { enablePruner, err := strconv.ParseBool(os.Getenv("PRUNE_ENABLED")) if err != nil { logger.Warn("PRUNE_ENABLED value not set. Enabling archive pruner by default.", zap.Error(err)) @@ -299,7 +291,7 @@ func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int, o // create http handlers storageService := MakeStorageService(logger, storageClient, port) go metrics.ServeMetrics(ctx, logger) - go storageService.Start(ctx, port, openTracingEnabled) + go storageService.Start(ctx, port) // enablePruner prevents storagesvc unit test from needing to talk to kubernetes if enablePruner { diff --git a/pkg/utils/tracing/tracing.go b/pkg/utils/tracing/tracing.go deleted file mode 100644 index 7bd2eb97..00000000 --- a/pkg/utils/tracing/tracing.go +++ /dev/null @@ -1,60 +0,0 @@ -package tracing - -import ( - "os" - "strconv" - "strings" - - "contrib.go.opencensus.io/exporter/jaeger" - "go.opencensus.io/trace" - "go.uber.org/zap" -) - -func TracingEnabled(logger *zap.Logger) bool { - tracingEnabled := os.Getenv("TRACING_ENABLED") - if len(tracingEnabled) == 0 { - return false - } - openTracingEnabled, err := strconv.ParseBool(tracingEnabled) - if err != nil { - if logger != nil { - logger.Error("Error parsing OpenTracing enabled flag", zap.Error(err)) - } - return false - } - return openTracingEnabled -} - -func RegisterTraceExporter(logger *zap.Logger, collectorEndpoint, serviceName string) error { - if len(collectorEndpoint) == 0 { - logger.Info("skipping trace exporter registration") - return nil - } - - exporter, err := jaeger.NewExporter(jaeger.Options{ - CollectorEndpoint: collectorEndpoint, - Process: jaeger.Process{ - ServiceName: serviceName, - Tags: []jaeger.Tag{ - jaeger.BoolTag("fission", true), - }, - }, - }) - if err != nil { - return err - } - - trace.RegisterExporter(exporter) - - if strings.EqualFold(serviceName, "Fission-Fetcher") { - trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()}) - } else { - samplingRate, err := strconv.ParseFloat(os.Getenv("TRACING_SAMPLING_RATE"), 32) - if err != nil { - return err - } - trace.ApplyConfig(trace.Config{DefaultSampler: trace.ProbabilitySampler(samplingRate)}) - } - - return nil -} diff --git a/skaffold.yaml b/skaffold.yaml index 44322931..df221827 100644 --- a/skaffold.yaml +++ b/skaffold.yaml @@ -51,7 +51,6 @@ deploy: builderPodSpec.enabled: false repository: index.docker.io routerServiceType: LoadBalancer - openTracing.enabled: false openTelemetry.otlpCollectorEndpoint: "" openTelemetry.otlpInsecure: true prometheus.serviceEndpoint: ""