mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 20:17:23 +00:00
fix(build): update go version to 1.16 and dependencies (#2136)
* chore(deps): bump k8s.io/apiextensions-apiserver from 0.19.2 to 0.21.3 Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.19.2 to 0.21.3. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.19.2...v0.21.3) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * chore(deps): bump google.golang.org/api from 0.34.0 to 0.52.0 Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.34.0 to 0.52.0. - [Release notes](https://github.com/googleapis/google-api-go-client/releases) - [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md) - [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.34.0...v0.52.0) --- updated-dependencies: - dependency-name: google.golang.org/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * start update dependencies * update mods and otlp * fix(build): update to go 1.16 * old version for k8s mods * update k8s versions * update orbos * with batcher * add batch span processor * try with older otel version 0.20 * remove syncer * otel rc2 * fix config Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stefan Benz <stefan@caos.ch>
This commit is contained in:
parent
270d1fcf65
commit
8609ced24b
@ -6,7 +6,7 @@ ARG ENV=prod
|
|||||||
## Go base build
|
## Go base build
|
||||||
## Speed up this step by mounting your local go mod pkg directory
|
## Speed up this step by mounting your local go mod pkg directory
|
||||||
#######################
|
#######################
|
||||||
FROM golang:1.15 as go-base
|
FROM golang:1.16 as go-base
|
||||||
|
|
||||||
WORKDIR src/github.com/caos/zitadel/
|
WORKDIR src/github.com/caos/zitadel/
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
ARG GO_VERSION=1.15
|
ARG GO_VERSION=1.16
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
## These steps set platform / arch type specific variables
|
## These steps set platform / arch type specific variables
|
||||||
|
102
go.mod
102
go.mod
@ -1,92 +1,86 @@
|
|||||||
module github.com/caos/zitadel
|
module github.com/caos/zitadel
|
||||||
|
|
||||||
go 1.15
|
go 1.16
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go v0.71.0 // indirect
|
cloud.google.com/go/storage v1.16.0
|
||||||
cloud.google.com/go/storage v1.10.0
|
github.com/BurntSushi/toml v0.4.1
|
||||||
github.com/BurntSushi/toml v0.3.1
|
|
||||||
github.com/DATA-DOG/go-sqlmock v1.5.0
|
github.com/DATA-DOG/go-sqlmock v1.5.0
|
||||||
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v0.13.0
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.0.0-RC2
|
||||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||||
github.com/Masterminds/semver v1.5.0 // indirect
|
github.com/Masterminds/semver v1.5.0 // indirect
|
||||||
github.com/Masterminds/sprig v2.22.0+incompatible
|
github.com/Masterminds/sprig v2.22.0+incompatible
|
||||||
github.com/VictoriaMetrics/fastcache v1.5.7
|
github.com/VictoriaMetrics/fastcache v1.6.0
|
||||||
github.com/ajstarks/svgo v0.0.0-20200725142600-7a3c8b57fecb
|
github.com/ajstarks/svgo v0.0.0-20210406150507-75cfd577ce75
|
||||||
github.com/allegro/bigcache v1.2.1
|
github.com/allegro/bigcache v1.2.1
|
||||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc
|
github.com/boombuler/barcode v1.0.1
|
||||||
github.com/caos/logging v0.0.2
|
github.com/caos/logging v0.0.2
|
||||||
github.com/caos/oidc v0.15.7
|
github.com/caos/oidc v0.15.7
|
||||||
github.com/caos/orbos v1.5.14-0.20210727080455-c90c315021f5
|
github.com/caos/orbos v1.5.14-0.20210803090517-905668247c09
|
||||||
github.com/cockroachdb/cockroach-go/v2 v2.1.0
|
github.com/cockroachdb/cockroach-go/v2 v2.1.1
|
||||||
github.com/docker/go-metrics v0.0.1 // indirect
|
github.com/duo-labs/webauthn v0.0.0-20210727191636-9f1b88ef44cc
|
||||||
github.com/duo-labs/webauthn v0.0.0-20200714211715-1daaee874e43
|
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.6.1
|
github.com/envoyproxy/protoc-gen-validate v0.6.1
|
||||||
github.com/getsentry/sentry-go v0.11.0
|
github.com/getsentry/sentry-go v0.11.0
|
||||||
github.com/ghodss/yaml v1.0.0
|
github.com/ghodss/yaml v1.0.0
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
|
github.com/golang/glog v0.0.0-20210429001901-424d2337a529
|
||||||
github.com/golang/mock v1.6.0
|
github.com/golang/mock v1.6.0
|
||||||
github.com/golang/protobuf v1.5.2
|
github.com/golang/protobuf v1.5.2
|
||||||
github.com/golang/snappy v0.0.2 // indirect
|
github.com/gorilla/csrf v1.7.1
|
||||||
github.com/gorilla/csrf v1.7.0
|
|
||||||
github.com/gorilla/mux v1.8.0
|
github.com/gorilla/mux v1.8.0
|
||||||
github.com/gorilla/schema v1.2.0
|
github.com/gorilla/schema v1.2.0
|
||||||
github.com/gorilla/securecookie v1.1.1
|
github.com/gorilla/securecookie v1.1.1
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
|
||||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0
|
||||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.2.0
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.5.0
|
||||||
github.com/huandu/xstrings v1.3.2 // indirect
|
github.com/huandu/xstrings v1.3.2 // indirect
|
||||||
github.com/imdario/mergo v0.3.12 // indirect
|
|
||||||
github.com/inconshreveable/log15 v0.0.0-20200109203555-b30bc20e4fd1 // indirect
|
|
||||||
github.com/jinzhu/gorm v1.9.16
|
github.com/jinzhu/gorm v1.9.16
|
||||||
github.com/kevinburke/go-types v0.0.0-20200309064045-f2d4aea18a7a // indirect
|
github.com/kevinburke/go-types v0.0.0-20210723172823-2deba1f80ba7 // indirect
|
||||||
github.com/kevinburke/go.uuid v1.2.0 // indirect
|
github.com/kevinburke/rest v0.0.0-20210506044642-5611499aa33c // indirect
|
||||||
github.com/kevinburke/rest v0.0.0-20200429221318-0d2892b400f8 // indirect
|
github.com/kevinburke/twilio-go v0.0.0-20210327194925-1623146bcf73
|
||||||
github.com/kevinburke/twilio-go v0.0.0-20200810163702-320748330fac
|
github.com/lib/pq v1.10.2
|
||||||
github.com/lib/pq v1.9.0
|
|
||||||
github.com/lucasb-eyer/go-colorful v1.2.0
|
github.com/lucasb-eyer/go-colorful v1.2.0
|
||||||
github.com/magefile/mage v1.10.0 // indirect
|
github.com/manifoldco/promptui v0.8.0
|
||||||
github.com/manifoldco/promptui v0.7.0
|
|
||||||
github.com/mattn/go-colorable v0.1.8 // indirect; indirect github.com/mitchellh/copystructure v1.0.0 // indirect
|
github.com/mattn/go-colorable v0.1.8 // indirect; indirect github.com/mitchellh/copystructure v1.0.0 // indirect
|
||||||
github.com/minio/minio-go/v7 v7.0.10
|
github.com/mattn/go-sqlite3 v2.0.3+incompatible // indirect
|
||||||
github.com/mitchellh/copystructure v1.1.2 // indirect
|
github.com/minio/minio-go/v7 v7.0.12
|
||||||
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||||
github.com/muesli/gamut v0.2.0
|
github.com/muesli/gamut v0.2.0
|
||||||
github.com/nicksnyder/go-i18n/v2 v2.1.2
|
github.com/nicksnyder/go-i18n/v2 v2.1.2
|
||||||
github.com/opencontainers/image-spec v1.0.1 // indirect
|
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/pquerna/otp v1.2.0
|
github.com/pquerna/otp v1.3.0
|
||||||
github.com/prometheus/client_golang v1.8.0 // indirect
|
|
||||||
github.com/prometheus/common v0.15.0 // indirect
|
|
||||||
github.com/rakyll/statik v0.1.7
|
github.com/rakyll/statik v0.1.7
|
||||||
github.com/rs/cors v1.7.0
|
github.com/rs/cors v1.8.0
|
||||||
github.com/sony/sonyflake v1.0.0
|
github.com/sony/sonyflake v1.0.0
|
||||||
github.com/spf13/cobra v1.1.1
|
github.com/spf13/cobra v1.2.1
|
||||||
github.com/stretchr/testify v1.7.0
|
github.com/stretchr/testify v1.7.0
|
||||||
github.com/ttacon/builder v0.0.0-20170518171403-c099f663e1c2 // indirect
|
github.com/ttacon/builder v0.0.0-20170518171403-c099f663e1c2 // indirect
|
||||||
github.com/ttacon/libphonenumber v1.1.0
|
github.com/ttacon/libphonenumber v1.2.1
|
||||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.13.0
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.22.0
|
||||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.13.0
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.22.0
|
||||||
go.opentelemetry.io/otel v0.13.0
|
go.opentelemetry.io/otel v1.0.0-RC2
|
||||||
go.opentelemetry.io/otel/exporters/metric/prometheus v0.13.0
|
go.opentelemetry.io/otel/exporters/metric/prometheus v0.21.0
|
||||||
go.opentelemetry.io/otel/exporters/otlp v0.13.0
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.0-RC2
|
||||||
go.opentelemetry.io/otel/exporters/stdout v0.13.0
|
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.0-RC2
|
||||||
go.opentelemetry.io/otel/sdk v0.13.0
|
go.opentelemetry.io/otel/metric v0.22.0
|
||||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
|
go.opentelemetry.io/otel/sdk v1.0.0-RC2
|
||||||
golang.org/x/oauth2 v0.0.0-20210201163806-010130855d6c
|
go.opentelemetry.io/otel/sdk/export/metric v0.22.0
|
||||||
|
go.opentelemetry.io/otel/sdk/metric v0.22.0
|
||||||
|
go.opentelemetry.io/otel/trace v1.0.0-RC2
|
||||||
|
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97
|
||||||
|
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a
|
||||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
||||||
golang.org/x/text v0.3.6
|
golang.org/x/text v0.3.6
|
||||||
golang.org/x/tools v0.1.1
|
golang.org/x/tools v0.1.5
|
||||||
google.golang.org/api v0.34.0
|
google.golang.org/api v0.52.0
|
||||||
google.golang.org/appengine v1.6.7 // indirect
|
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67
|
||||||
google.golang.org/genproto v0.0.0-20210406143921-e86de6bf7a46
|
google.golang.org/grpc v1.39.1
|
||||||
google.golang.org/grpc v1.36.1
|
google.golang.org/protobuf v1.27.1
|
||||||
google.golang.org/protobuf v1.26.0
|
|
||||||
gopkg.in/square/go-jose.v2 v2.6.0
|
gopkg.in/square/go-jose.v2 v2.6.0
|
||||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
|
||||||
gotest.tools v2.2.0+incompatible
|
gotest.tools v2.2.0+incompatible
|
||||||
k8s.io/api v0.19.2
|
k8s.io/api v0.22.0
|
||||||
k8s.io/apiextensions-apiserver v0.19.2
|
k8s.io/apiextensions-apiserver v0.22.0
|
||||||
k8s.io/apimachinery v0.19.2
|
k8s.io/apimachinery v0.22.0
|
||||||
k8s.io/client-go v0.19.2
|
k8s.io/client-go v0.22.0
|
||||||
sigs.k8s.io/controller-runtime v0.7.0
|
sigs.k8s.io/controller-runtime v0.9.5
|
||||||
)
|
)
|
||||||
|
@ -2,29 +2,29 @@ package api
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
admin_es "github.com/caos/zitadel/internal/admin/repository/eventsourcing"
|
|
||||||
auth_es "github.com/caos/zitadel/internal/auth/repository/eventsourcing"
|
|
||||||
"github.com/caos/zitadel/internal/domain"
|
|
||||||
"github.com/caos/zitadel/internal/telemetry/metrics"
|
|
||||||
"github.com/caos/zitadel/internal/telemetry/metrics/otel"
|
|
||||||
view_model "github.com/caos/zitadel/internal/view/model"
|
|
||||||
sentryhttp "github.com/getsentry/sentry-go/http"
|
|
||||||
"go.opentelemetry.io/otel/api/metric"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/caos/logging"
|
"github.com/caos/logging"
|
||||||
|
sentryhttp "github.com/getsentry/sentry-go/http"
|
||||||
|
"go.opentelemetry.io/otel/metric"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
|
||||||
|
admin_es "github.com/caos/zitadel/internal/admin/repository/eventsourcing"
|
||||||
"github.com/caos/zitadel/internal/api/authz"
|
"github.com/caos/zitadel/internal/api/authz"
|
||||||
grpc_util "github.com/caos/zitadel/internal/api/grpc"
|
grpc_util "github.com/caos/zitadel/internal/api/grpc"
|
||||||
"github.com/caos/zitadel/internal/api/grpc/server"
|
"github.com/caos/zitadel/internal/api/grpc/server"
|
||||||
http_util "github.com/caos/zitadel/internal/api/http"
|
http_util "github.com/caos/zitadel/internal/api/http"
|
||||||
"github.com/caos/zitadel/internal/api/oidc"
|
"github.com/caos/zitadel/internal/api/oidc"
|
||||||
|
auth_es "github.com/caos/zitadel/internal/auth/repository/eventsourcing"
|
||||||
authz_es "github.com/caos/zitadel/internal/authz/repository/eventsourcing"
|
authz_es "github.com/caos/zitadel/internal/authz/repository/eventsourcing"
|
||||||
"github.com/caos/zitadel/internal/config/systemdefaults"
|
"github.com/caos/zitadel/internal/config/systemdefaults"
|
||||||
|
"github.com/caos/zitadel/internal/domain"
|
||||||
"github.com/caos/zitadel/internal/errors"
|
"github.com/caos/zitadel/internal/errors"
|
||||||
iam_model "github.com/caos/zitadel/internal/iam/model"
|
iam_model "github.com/caos/zitadel/internal/iam/model"
|
||||||
|
"github.com/caos/zitadel/internal/telemetry/metrics"
|
||||||
|
"github.com/caos/zitadel/internal/telemetry/metrics/otel"
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing"
|
"github.com/caos/zitadel/internal/telemetry/tracing"
|
||||||
|
view_model "github.com/caos/zitadel/internal/view/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
|
@ -2,8 +2,9 @@ package metrics
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"go.opentelemetry.io/otel/api/metric"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
"go.opentelemetry.io/otel/metric"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -2,13 +2,19 @@ package otel
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
caos_errs "github.com/caos/zitadel/internal/errors"
|
|
||||||
"github.com/caos/zitadel/internal/telemetry/metrics"
|
|
||||||
"go.opentelemetry.io/otel/api/metric"
|
|
||||||
"go.opentelemetry.io/otel/exporters/metric/prometheus"
|
|
||||||
"go.opentelemetry.io/otel/label"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
label "go.opentelemetry.io/otel/attribute"
|
||||||
|
"go.opentelemetry.io/otel/exporters/metric/prometheus"
|
||||||
|
"go.opentelemetry.io/otel/metric"
|
||||||
|
export "go.opentelemetry.io/otel/sdk/export/metric"
|
||||||
|
controller "go.opentelemetry.io/otel/sdk/metric/controller/basic"
|
||||||
|
processor "go.opentelemetry.io/otel/sdk/metric/processor/basic"
|
||||||
|
selector "go.opentelemetry.io/otel/sdk/metric/selector/simple"
|
||||||
|
|
||||||
|
caos_errs "github.com/caos/zitadel/internal/errors"
|
||||||
|
"github.com/caos/zitadel/internal/telemetry/metrics"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Metrics struct {
|
type Metrics struct {
|
||||||
@ -20,8 +26,15 @@ type Metrics struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewMetrics(meterName string) (metrics.Metrics, error) {
|
func NewMetrics(meterName string) (metrics.Metrics, error) {
|
||||||
exporter, err := prometheus.NewExportPipeline(
|
exporter, err := prometheus.New(
|
||||||
prometheus.Config{},
|
prometheus.Config{},
|
||||||
|
controller.New(
|
||||||
|
processor.New(
|
||||||
|
selector.NewWithHistogramDistribution(),
|
||||||
|
export.CumulativeExportKindSelector(),
|
||||||
|
processor.WithMemory(true),
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &Metrics{}, err
|
return &Metrics{}, err
|
||||||
|
@ -5,10 +5,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
texporter "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace"
|
texporter "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace"
|
||||||
|
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
|
|
||||||
"github.com/caos/zitadel/internal/errors"
|
"github.com/caos/zitadel/internal/errors"
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing"
|
"github.com/caos/zitadel/internal/telemetry/tracing"
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing/otel"
|
"github.com/caos/zitadel/internal/telemetry/tracing/otel"
|
||||||
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
@ -27,7 +28,7 @@ func (c *Config) NewTracer() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
||||||
exporter, err := texporter.NewExporter(texporter.WithProjectID(c.ProjectID))
|
exporter, err := texporter.New(texporter.WithProjectID(c.ProjectID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package log
|
|||||||
import (
|
import (
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing"
|
"github.com/caos/zitadel/internal/telemetry/tracing"
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing/otel"
|
"github.com/caos/zitadel/internal/telemetry/tracing/otel"
|
||||||
"go.opentelemetry.io/otel/exporters/stdout"
|
stdout "go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
|
||||||
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ type Tracer struct {
|
|||||||
|
|
||||||
func (c *Config) NewTracer() error {
|
func (c *Config) NewTracer() error {
|
||||||
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
||||||
exporter, err := stdout.NewExporter(stdout.WithPrettyPrint())
|
exporter, err := stdout.New(stdout.WithPrettyPrint())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package otel
|
package otel
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing"
|
"github.com/caos/zitadel/internal/telemetry/tracing"
|
||||||
"go.opentelemetry.io/otel/exporters/otlp"
|
otlpgrpc "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
|
||||||
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -14,7 +16,7 @@ type Config struct {
|
|||||||
|
|
||||||
func (c *Config) NewTracer() error {
|
func (c *Config) NewTracer() error {
|
||||||
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
sampler := sdk_trace.ParentBased(sdk_trace.TraceIDRatioBased(c.Fraction))
|
||||||
exporter, err := otlp.NewExporter(otlp.WithAddress(c.Endpoint), otlp.WithInsecure())
|
exporter, err := otlpgrpc.New(context.Background(), otlpgrpc.WithEndpoint(c.Endpoint), otlpgrpc.WithInsecure())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -4,12 +4,12 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/caos/zitadel/internal/telemetry/tracing"
|
"go.opentelemetry.io/otel"
|
||||||
"go.opentelemetry.io/otel/api/global"
|
"go.opentelemetry.io/otel/propagation"
|
||||||
api_trace "go.opentelemetry.io/otel/api/trace"
|
|
||||||
"go.opentelemetry.io/otel/propagators"
|
|
||||||
"go.opentelemetry.io/otel/sdk/export/trace"
|
|
||||||
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
|
api_trace "go.opentelemetry.io/otel/trace"
|
||||||
|
|
||||||
|
"github.com/caos/zitadel/internal/telemetry/tracing"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Tracer struct {
|
type Tracer struct {
|
||||||
@ -17,15 +17,17 @@ type Tracer struct {
|
|||||||
sampler sdk_trace.Sampler
|
sampler sdk_trace.Sampler
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewTracer(name string, sampler sdk_trace.Sampler, exporter trace.SpanExporter) *Tracer {
|
func NewTracer(name string, sampler sdk_trace.Sampler, exporter sdk_trace.SpanExporter) *Tracer {
|
||||||
|
spanProcessor := sdk_trace.NewBatchSpanProcessor(exporter)
|
||||||
tp := sdk_trace.NewTracerProvider(
|
tp := sdk_trace.NewTracerProvider(
|
||||||
sdk_trace.WithConfig(sdk_trace.Config{DefaultSampler: sampler}),
|
sdk_trace.WithSampler(sampler),
|
||||||
sdk_trace.WithSyncer(exporter),
|
sdk_trace.WithBatcher(exporter),
|
||||||
|
sdk_trace.WithSpanProcessor(spanProcessor),
|
||||||
)
|
)
|
||||||
|
|
||||||
global.SetTracerProvider(tp)
|
otel.SetTracerProvider(tp)
|
||||||
tc := propagators.TraceContext{}
|
tc := propagation.TraceContext{}
|
||||||
global.SetTextMapPropagator(tc)
|
otel.SetTextMapPropagator(tc)
|
||||||
|
|
||||||
return &Tracer{Exporter: tp.Tracer(name), sampler: sampler}
|
return &Tracer{Exporter: tp.Tracer(name), sampler: sampler}
|
||||||
}
|
}
|
||||||
@ -54,11 +56,11 @@ func (t *Tracer) NewSpan(ctx context.Context, caller string) (context.Context, *
|
|||||||
return t.newSpan(ctx, caller)
|
return t.newSpan(ctx, caller)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Tracer) newSpan(ctx context.Context, caller string, options ...api_trace.SpanOption) (context.Context, *tracing.Span) {
|
func (t *Tracer) newSpan(ctx context.Context, caller string, options ...api_trace.SpanStartOption) (context.Context, *tracing.Span) {
|
||||||
return t.newSpanFromName(ctx, caller, options...)
|
return t.newSpanFromName(ctx, caller, options...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Tracer) newSpanFromName(ctx context.Context, name string, options ...api_trace.SpanOption) (context.Context, *tracing.Span) {
|
func (t *Tracer) newSpanFromName(ctx context.Context, name string, options ...api_trace.SpanStartOption) (context.Context, *tracing.Span) {
|
||||||
ctx, span := t.Exporter.Start(ctx, name, options...)
|
ctx, span := t.Exporter.Start(ctx, name, options...)
|
||||||
return ctx, tracing.CreateSpan(span)
|
return ctx, tracing.CreateSpan(span)
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,18 @@
|
|||||||
package tracing
|
package tracing
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
|
|
||||||
grpc_errs "github.com/caos/zitadel/internal/api/grpc/errors"
|
grpc_errs "github.com/caos/zitadel/internal/api/grpc/errors"
|
||||||
api_trace "go.opentelemetry.io/otel/api/trace"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/codes"
|
"go.opentelemetry.io/otel/trace"
|
||||||
"go.opentelemetry.io/otel/label"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Span struct {
|
type Span struct {
|
||||||
span api_trace.Span
|
span trace.Span
|
||||||
opts []api_trace.SpanOption
|
opts []trace.SpanEndOption
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateSpan(span api_trace.Span) *Span {
|
func CreateSpan(span trace.Span) *Span {
|
||||||
return &Span{span: span, opts: []api_trace.SpanOption{}}
|
return &Span{span: span, opts: []trace.SpanEndOption{}}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Span) End() {
|
func (s *Span) End() {
|
||||||
@ -36,9 +33,13 @@ func (s *Span) SetStatusByError(err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.span.RecordError(context.TODO(), err, api_trace.WithErrorStatus(codes.Error))
|
// trace.WithErrorStatus(codes.Error)
|
||||||
|
s.span.RecordError(err)
|
||||||
|
s.span.SetAttributes(
|
||||||
|
attribute.KeyValue{},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
code, msg, id, _ := grpc_errs.ExtractCaosError(err)
|
code, msg, id, _ := grpc_errs.ExtractCaosError(err)
|
||||||
s.span.SetAttributes(label.Uint32("grpc_code", uint32(code)), label.String("grpc_msg", msg), label.String("error_id", id))
|
s.span.SetAttributes(attribute.Int("grpc_code", int(code)), attribute.String("grpc_msg", msg), attribute.String("error_id", id))
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
api_trace "go.opentelemetry.io/otel/api/trace"
|
|
||||||
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
sdk_trace "go.opentelemetry.io/otel/sdk/trace"
|
||||||
|
api_trace "go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Tracer interface {
|
type Tracer interface {
|
||||||
@ -81,5 +81,5 @@ func NewSpanHTTP(r *http.Request) (*http.Request, *Span) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TraceIDFromCtx(ctx context.Context) string {
|
func TraceIDFromCtx(ctx context.Context) string {
|
||||||
return api_trace.SpanFromContext(ctx).SpanContext().TraceID.String()
|
return api_trace.SpanFromContext(ctx).SpanContext().TraceID().String()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user