2 Commits

Author SHA1 Message Date
8dcde443ee store hostname instead of query for unique server lookup total
All checks were successful
Deploy App / docker (ubuntu-latest, 2.44.0, 17, 3.8.5) (push) Successful in 1m38s
2024-04-18 17:08:07 +01:00
ba699f5305 store uuid instead of query for unique player lookup total 2024-04-18 17:07:55 +01:00
4 changed files with 13 additions and 14 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

@ -66,8 +66,6 @@ public class ServerService {
String key = "%s-%s:%s".formatted(platformName, hostname, port);
log.info("Getting server: {}:{}", hostname, port);
((UniqueServerLookupsMetric) metricService.getMetric(UniqueServerLookupsMetric.class)).addLookup(key); // Add the server lookup to the unique server lookups
// Check if the server is cached
Optional<CachedMinecraftServer> cached = serverCacheRepository.findById(key);
if (cached.isPresent() && EnvironmentUtils.isProduction()) {
@ -102,6 +100,8 @@ public class ServerService {
((JavaMinecraftServer) server.getServer()).setMojangBlocked(mojangService.isServerBlocked(hostname));
}
((UniqueServerLookupsMetric) metricService.getMetric(UniqueServerLookupsMetric.class)).addLookup(key); // Add the server lookup to the unique server lookups
log.info("Found server: {}:{}", hostname, port);
serverCacheRepository.save(server);
server.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());
}
}

View File

@ -20,12 +20,12 @@ public class UniqueServerLookupsMetric extends IntegerMetric {
/**
* Adds a lookup to the list of unique lookups.
*
* @param lookup the query that was used to look up a player
* @param hostname 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(String hostname) {
hostname = hostname.toLowerCase();
if (!uniqueLookups.contains(hostname)) {
uniqueLookups.add(hostname);
}
}