store uuid instead of query for unique player lookup total

This commit is contained in:
Lee 2024-04-18 17:07:55 +01:00
parent b3e560d1e2
commit ba699f5305
2 changed files with 6 additions and 7 deletions

View File

@ -61,8 +61,6 @@ public class PlayerService {
uuid = usernameToUuid(id).getUniqueId();
}
((UniquePlayerLookupsMetric) metricService.getMetric(UniquePlayerLookupsMetric.class)).addLookup(id); // Add the lookup to the unique player lookups
Optional<CachedPlayer> cachedPlayer = playerCacheRepository.findById(uuid);
if (cachedPlayer.isPresent() && EnvironmentUtils.isProduction()) { // Return the cached player if it exists
log.info("Player {} is cached", id);
@ -85,6 +83,7 @@ public class PlayerService {
mojangProfile.getProperties() // Raw properties
)
);
((UniquePlayerLookupsMetric) metricService.getMetric(UniquePlayerLookupsMetric.class)).addLookup(uuid); // Add the lookup to the unique player lookups
playerCacheRepository.save(player);
player.getCache().setCached(false);

View File

@ -4,6 +4,7 @@ import xyz.mcutils.backend.service.metric.impl.IntegerMetric;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class UniquePlayerLookupsMetric extends IntegerMetric {
private List<String> uniqueLookups = new ArrayList<>();
@ -20,12 +21,11 @@ public class UniquePlayerLookupsMetric extends IntegerMetric {
/**
* Adds a lookup to the list of unique lookups.
*
* @param lookup the query that was used to look up a player
* @param uuid the query that was used to look up a player
*/
public void addLookup(String lookup) {
lookup = lookup.toLowerCase();
if (!uniqueLookups.contains(lookup)) {
uniqueLookups.add(lookup);
public void addLookup(UUID uuid) {
if (!uniqueLookups.contains(uuid.toString())) {
uniqueLookups.add(uuid.toString());
}
}