aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2024-03-26 17:55:57 +0000
committerGravatar Chris Lovering <[email protected]>2024-03-26 17:55:57 +0000
commit6caeae9f7ddbb7f4ecafd79016baa28ad2cd0a6c (patch)
tree7dd81c3d78077289167f233e03a57ccdf5ad537d
parentAdd sentry performance spans to news cog (diff)
Add sentry performance spans to subscribe cog
-rw-r--r--bot/exts/info/subscribe.py34
1 files changed, 19 insertions, 15 deletions
diff --git a/bot/exts/info/subscribe.py b/bot/exts/info/subscribe.py
index 048884587..5e33474bf 100644
--- a/bot/exts/info/subscribe.py
+++ b/bot/exts/info/subscribe.py
@@ -2,6 +2,7 @@ import operator
from dataclasses import dataclass
import discord
+import sentry_sdk
from discord.ext import commands
from discord.interactions import Interaction
from pydis_core.utils import members
@@ -157,24 +158,27 @@ class Subscribe(commands.Cog):
await self.bot.wait_until_guild_available()
self.guild = self.bot.get_guild(constants.Guild.id)
- for role in ASSIGNABLE_ROLES:
- discord_role = self.guild.get_role(role.role_id)
- if discord_role is None:
- log.warning("Could not resolve %d to a role in the guild, skipping.", role.role_id)
- continue
- self.assignable_roles.append(
- AssignableRole(
- role_id=role.role_id,
- name=discord_role.name,
+ with sentry_sdk.start_span(description="Prepare assignable roles"):
+ for role in ASSIGNABLE_ROLES:
+ discord_role = self.guild.get_role(role.role_id)
+ if discord_role is None:
+ log.warning("Could not resolve %d to a role in the guild, skipping.", role.role_id)
+ continue
+ self.assignable_roles.append(
+ AssignableRole(
+ role_id=role.role_id,
+ name=discord_role.name,
+ )
)
- )
+ # Sort by role name
+ self.assignable_roles.sort(key=operator.attrgetter("name"))
- # Sort by role name
- self.assignable_roles.sort(key=operator.attrgetter("name"))
+ with sentry_sdk.start_span(description="Fetch/create the self assignable roles message"):
+ placeholder_message_view_tuple = await self._fetch_or_create_self_assignable_roles_message()
+ self_assignable_roles_message, self_assignable_roles_view = placeholder_message_view_tuple
- placeholder_message_view_tuple = await self._fetch_or_create_self_assignable_roles_message()
- self_assignable_roles_message, self_assignable_roles_view = placeholder_message_view_tuple
- self._attach_persistent_roles_view(self_assignable_roles_message, self_assignable_roles_view)
+ with sentry_sdk.start_span(description="Attach self assignable role persistent view"):
+ self._attach_persistent_roles_view(self_assignable_roles_message, self_assignable_roles_view)
@commands.cooldown(1, 10, commands.BucketType.member)
@commands.command(name="subscribe", aliases=("unsubscribe",))