mirror of
https://github.com/goharbor/harbor.git
synced 2025-02-22 23:01:33 +01:00
Add trace to jobservice
* Add trace init in main * Add env template * Add trace for router Signed-off-by: Qian Deng <dengq@vmware.com>
This commit is contained in:
parent
14095fb10b
commit
6fec5b2873
@ -25,3 +25,23 @@ REGISTRY_CREDENTIAL_PASSWORD={{registry_password}}
|
||||
METRIC_NAMESPACE=harbor
|
||||
METRIC_SUBSYSTEM=jobservice
|
||||
{% endif %}
|
||||
|
||||
{% if trace.enabled %}
|
||||
TRACE_ENABLED=true
|
||||
TRACE_SERVICE_NAME=harbor-jobservice
|
||||
TRACE_SAMPLE_RATE={{ trace.sample_rate }}
|
||||
{% if trace.jaeger is defined %}
|
||||
TRACE_JAEGER_ENDPOINT={{ trace.jaeger.endpoint if trace.jaeger.endpoint else '' }}
|
||||
TRACE_JAEGER_USERNAME={{ trace.jaeger.username if trace.jaeger.username else '' }}
|
||||
TRACE_JAEGER_PASSWORD={{ trace.jaeger.password if trace.jaeger.password else '' }}
|
||||
TRACE_JAEGER_AGENT_HOSTNAME={{ trace.jaeger.agent_host if trace.jaeger.agent_host else '' }}
|
||||
TRACE_JAEGER_AGENT_PORT={{ trace.jaeger.agent_port if trace.jaeger.agent_port else '' }}
|
||||
{% endif %}
|
||||
{%if trace.otel is defined %}
|
||||
TRACE_OTEL_ENDPOINT={{ trace.otel.endpoint if trace.otel.endpoint else '' }}
|
||||
TRACE_OTEL_URL_PATH={{ trace.otel.url_path if trace.otel.url_path else '' }}
|
||||
TRACE_OTEL_COMPRESSION={{ trace.otel.compression if trace.otel.compression else '' }}
|
||||
TRACE_OTEL_TIMEOUT={{ trace.otel.timeout }}
|
||||
TRACE_OTEL_INSECURE={{ trace.otel.insecure if trace.otel.insecure else '' }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@ -16,12 +16,15 @@ package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/goharbor/harbor/src/lib/errors"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux"
|
||||
|
||||
"github.com/goharbor/harbor/src/jobservice/errs"
|
||||
"github.com/goharbor/harbor/src/jobservice/logger"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/goharbor/harbor/src/lib/errors"
|
||||
tracelib "github.com/goharbor/harbor/src/lib/trace"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -59,6 +62,9 @@ func NewBaseRouter(handler Handler, authenticator Authenticator) Router {
|
||||
// Register routes here
|
||||
br.registerRoutes()
|
||||
|
||||
if tracelib.Enabled() {
|
||||
br.router.Use(otelmux.Middleware("serve-http"))
|
||||
}
|
||||
return br
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,7 @@ import (
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
|
||||
"github.com/goharbor/harbor/src/common"
|
||||
"github.com/goharbor/harbor/src/jobservice/common/utils"
|
||||
"github.com/goharbor/harbor/src/jobservice/config"
|
||||
@ -27,6 +28,8 @@ import (
|
||||
"github.com/goharbor/harbor/src/jobservice/logger"
|
||||
"github.com/goharbor/harbor/src/jobservice/runtime"
|
||||
cfgLib "github.com/goharbor/harbor/src/lib/config"
|
||||
"github.com/goharbor/harbor/src/lib/log"
|
||||
tracelib "github.com/goharbor/harbor/src/lib/trace"
|
||||
_ "github.com/goharbor/harbor/src/pkg/config/rest"
|
||||
)
|
||||
|
||||
@ -57,6 +60,15 @@ func main() {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
if tracelib.Enabled() {
|
||||
tp := tracelib.InitGlobalTracer(ctx)
|
||||
defer func() {
|
||||
if err := tp.Shutdown(context.Background()); err != nil {
|
||||
log.Errorf("Error shutting down tracer provider: %v", err)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
// Set job context initializer
|
||||
runtime.JobService.SetJobContextInitializer(func(ctx context.Context) (job.Context, error) {
|
||||
secret := config.GetAuthSecret()
|
||||
|
Loading…
Reference in New Issue
Block a user