add opentelemetry tracing
This commit is contained in:
@ -46,6 +46,17 @@ func app(ctx context.Context) error {
|
||||
|
||||
log := config.NewSLogger(cfg.Log)
|
||||
|
||||
shutdownOtel, err := setupOtelSDK(ctx, cfg.Tracing)
|
||||
if err != nil {
|
||||
return fmt.Errorf("setting up otel sdk: %w", err)
|
||||
}
|
||||
defer func() {
|
||||
err := shutdownOtel(ctx)
|
||||
if err != nil {
|
||||
xcontext.LogWithError(ctx, log, err, "shutting down sdk")
|
||||
}
|
||||
}()
|
||||
|
||||
sravniClient, err := sravni.NewClient(ctx, log, false)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to make new sravni client: %w", err)
|
||||
@ -71,9 +82,20 @@ func app(ctx context.Context) error {
|
||||
|
||||
mapper := adapters.NewMemoryMapper(courseThematcisMapped, learningTypeMapped)
|
||||
|
||||
var dbengine service.RepositoryEngine
|
||||
switch cfg.DBEngine {
|
||||
case "ydb":
|
||||
dbengine = service.RepositoryEngineYDB
|
||||
case "sqlite":
|
||||
dbengine = service.RepositoryEngineSqlite
|
||||
default:
|
||||
dbengine = service.RepositoryEngineUnknown
|
||||
}
|
||||
app, err := service.NewApplication(ctx, service.ApplicationConfig{
|
||||
LogConfig: cfg.Log,
|
||||
YDB: cfg.YDB,
|
||||
Sqlite: cfg.Sqlite,
|
||||
Engine: dbengine,
|
||||
}, mapper)
|
||||
if err != nil {
|
||||
return fmt.Errorf("making new application: %w", err)
|
||||
@ -113,6 +135,11 @@ func app(ctx context.Context) error {
|
||||
|
||||
xcontext.LogInfo(ctx, log, "server closed successfuly")
|
||||
|
||||
err = shutdownOtel(sdctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("shutting down sdk: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user