[AB-xxx] try for instrumenting

This commit is contained in:
Sheldan
2024-09-29 09:23:03 +02:00
parent c791c063e3
commit 0d5b7c5855
32 changed files with 435 additions and 183 deletions

View File

@@ -8,6 +8,8 @@ import dev.sheldan.abstracto.core.service.GuildService;
import dev.sheldan.abstracto.statistic.config.StatisticFeatureDefinition;
import dev.sheldan.abstracto.statistic.emote.model.database.UsedEmoteType;
import dev.sheldan.abstracto.statistic.emote.service.TrackedEmoteService;
import io.micrometer.tracing.Span;
import io.micrometer.tracing.Tracer;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.emoji.CustomEmoji;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,13 +32,13 @@ public class EmoteTrackingListener implements AsyncMessageReceivedListener {
@Autowired
private GuildService guildService;
@Override
public FeatureDefinition getFeature() {
return StatisticFeatureDefinition.EMOTE_TRACKING;
}
@Autowired
private Tracer tracer;
@Override
public DefaultListenerResult execute(MessageReceivedModel model) {
Span newSpan = tracer.nextSpan().name("experience-tracker");
try (Tracer.SpanInScope ws = this.tracer.withSpan(newSpan.start())) {
Message message = model.getMessage();
if(!message.isFromGuild() || message.isWebhookMessage() || message.getType().isSystem()) {
return DefaultListenerResult.IGNORED;
@@ -50,5 +52,15 @@ public class EmoteTrackingListener implements AsyncMessageReceivedListener {
trackedEmoteService.addEmoteToRuntimeStorage(groupedEmotes.get(0), guildService.getGuildById(model.getServerId()), (long) groupedEmotes.size(), UsedEmoteType.MESSAGE)
);
return DefaultListenerResult.PROCESSED;
} finally {
newSpan.end();
}
}
@Override
public FeatureDefinition getFeature() {
return StatisticFeatureDefinition.EMOTE_TRACKING;
}
}