mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-14 20:08:02 +00:00
c8e2a3bd49
# 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>
27 lines
501 B
Go
27 lines
501 B
Go
package google
|
|
|
|
import (
|
|
"cloud.google.com/go/profiler"
|
|
|
|
"github.com/zitadel/zitadel/cmd/build"
|
|
)
|
|
|
|
type Config struct {
|
|
ProjectID string
|
|
}
|
|
|
|
func NewProfiler(rawConfig map[string]interface{}) (err error) {
|
|
c := new(Config)
|
|
c.ProjectID, _ = rawConfig["projectid"].(string)
|
|
return c.NewProfiler()
|
|
}
|
|
|
|
func (c *Config) NewProfiler() (err error) {
|
|
cfg := profiler.Config{
|
|
Service: "zitadel",
|
|
ServiceVersion: build.Version(),
|
|
ProjectID: c.ProjectID,
|
|
}
|
|
return profiler.Start(cfg)
|
|
}
|