in internal/telemetry/telemetry.go [52:69]
func NewTelemetry(h *handlerenv.HandlerEnvironment) (*Telemetry, error) {
if instance != nil {
slog.Warn("Telemetry instance already initialized")
return instance, nil
}
if h.EventsFolder == "" {
return nil, fmt.Errorf("events folder is not set: %w", ErrUnableToInitialize)
}
once.Do(func() {
instance = &Telemetry{
eem: extensionevents.New(logging.NewNopLogger(), &h.HandlerEnvironment),
}
// OperationId is initialized here but currently AppHealth telemetry does not depend on it.
// There are other scenarios for VMWatch where it is overridden
instance.eem.SetOperationID(uuid.New().String())
})
return instance, nil
}