feat: enable application performance profiling (#8442)

# Which Problems Are Solved

To have more insight on the performance, CPU and memory usage of
ZITADEL, we want to enable profiling.

# How the Problems Are Solved

- Allow profiling by configuration.
- Provide Google Cloud Profiler as first implementation

# Additional Changes

None.

# Additional Context

There were possible memory leaks reported:
https://discord.com/channels/927474939156643850/1273210227918897152

Co-authored-by: Silvan <silvan.reusser@gmail.com>
This commit is contained in:
Livio Spring
2024-08-16 15:26:53 +02:00
committed by GitHub
parent ab4daa0ebb
commit c8e2a3bd49
6 changed files with 79 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ import (
"github.com/zitadel/zitadel/internal/query/projection"
static_config "github.com/zitadel/zitadel/internal/static/config"
metrics "github.com/zitadel/zitadel/internal/telemetry/metrics/config"
profiler "github.com/zitadel/zitadel/internal/telemetry/profiler/config"
tracing "github.com/zitadel/zitadel/internal/telemetry/tracing/config"
)
@@ -49,6 +50,7 @@ type Config struct {
Database database.Config
Tracing tracing.Config
Metrics metrics.Config
Profiler profiler.Config
Projections projection.Config
Auth auth_es.Config
Admin admin_es.Config
@@ -114,6 +116,9 @@ func MustNewConfig(v *viper.Viper) *Config {
err = config.Metrics.NewMeter()
logging.OnError(err).Fatal("unable to set meter")
err = config.Profiler.NewProfiler()
logging.OnError(err).Fatal("unable to set profiler")
id.Configure(config.Machine)
actions.SetHTTPConfig(&config.Actions.HTTP)