[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

@@ -6,6 +6,8 @@ import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
import dev.sheldan.abstracto.core.listener.async.jda.AsyncMessageReceivedListener;
import dev.sheldan.abstracto.core.models.listener.MessageReceivedModel;
import io.micrometer.tracing.Span;
import io.micrometer.tracing.Tracer;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.channel.ChannelType;
@@ -19,13 +21,22 @@ public class MassPingMessageListener implements AsyncMessageReceivedListener {
@Autowired
private MassPingService massPingService;
@Autowired
private Tracer tracer;
@Override
public DefaultListenerResult execute(MessageReceivedModel model) {
Message message = model.getMessage();
if(message.getAuthor().isBot() || message.isWebhookMessage() || !message.isFromGuild() || !message.isFromType(ChannelType.TEXT)) {
return DefaultListenerResult.IGNORED;
Span newSpan = tracer.nextSpan().name("mass-ping-filter");
try (Tracer.SpanInScope ws = this.tracer.withSpan(newSpan.start())) {
Message message = model.getMessage();
if (message.getAuthor().isBot() || message.isWebhookMessage() || !message.isFromGuild() || !message.isFromType(ChannelType.TEXT)) {
newSpan.end();
return DefaultListenerResult.IGNORED;
}
massPingService.processMessage(message).whenComplete((unused, throwable) -> {
newSpan.end();
});
}
massPingService.processMessage(message);
return DefaultListenerResult.PROCESSED;
}