Debugging guild get endpoint taking too long to execute

Add some more debug statements to see where execution is still slowing
down. So far its at about 4-5 seconds, the goal is to get it near 1 sec.
max
This commit is contained in:
NovaFox161
2020-04-03 15:00:46 -05:00
parent 524db88f6c
commit c369710e50
2 changed files with 9 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
package org.dreamexposure.discal.core.object.web;
import org.dreamexposure.discal.core.database.DatabaseManager;
import org.dreamexposure.discal.core.logger.Logger;
import org.dreamexposure.discal.core.object.BotSettings;
import org.dreamexposure.discal.core.object.GuildSettings;
import org.dreamexposure.discal.core.object.announcement.Announcement;
@@ -149,16 +150,20 @@ public class WebGuild {
public WebGuild fromGuild(Guild g) {
id = g.getId().asLong();
name = g.getName();
Logger.getLogger().debug("WebGuild Convert: get icon", true);
if (g.getIconUrl(Image.Format.PNG).isPresent())
iconUrl = g.getIconUrl(Image.Format.PNG).get();
Logger.getLogger().debug("WebGuild Convert: get nick", true);
botNick = g.getMemberById(Snowflake.of(BotSettings.ID.get()))
.map(Member::getNickname)
.block()
.orElse("DisCal");
Logger.getLogger().debug("WebGuild Convert: get settings", true);
settings = DatabaseManager.getManager().getSettings(g.getId());
//Handle web role conversion
Logger.getLogger().debug("WebGuild Convert: get roles", true);
Collection<WebRole> webRoles = g.getRoles()
.map(role -> new WebRole().fromRole(role, settings))
.collectList()
@@ -166,6 +171,7 @@ public class WebGuild {
roles.addAll(webRoles);
//Handle web channel conversion
Logger.getLogger().debug("WebGuild Convert: get channels", true);
WebChannel all = new WebChannel();
all.setId(0);
all.setName("All Channels");
@@ -180,8 +186,10 @@ public class WebGuild {
channels.addAll(webChannels);
//Grab all announcements and calendars from our database
Logger.getLogger().debug("WebGuild Convert: get announcements", true);
announcements.addAll(DatabaseManager.getManager().getAnnouncements(g.getId()));
Logger.getLogger().debug("WebGuild Convert: get calendar", true);
calendar = new WebCalendar()
.fromCalendar(DatabaseManager.getManager().getMainCalendar(Snowflake.of(id)), settings);

View File

@@ -54,6 +54,7 @@ public class GetWebGuildEndpoint {
Member m = g.getMemberById(userId).onErrorResume(e -> Mono.empty()).block();
Logger.getLogger().debug("Guild get endpoint check perms", true);
if (m != null) { //Assume false if we can't get the user...
wg.setManageServer(PermissionChecker.hasManageServerRole(m).blockOptional().orElse(false));
wg.setDiscalRole(PermissionChecker.hasSufficientRole(m, wg.getSettings()).blockOptional().orElse(false));