From 43772434612674dd7ab023149521138f05b84555 Mon Sep 17 00:00:00 2001 From: Chris Malloy Date: Fri, 23 Sep 2022 21:28:11 -0300 Subject: [PATCH] Added counters --- src/main/java/jasper/component/Backup.java | 7 +++++++ src/main/java/jasper/component/Ingest.java | 6 +++--- src/main/java/jasper/component/Meta.java | 2 ++ src/main/java/jasper/component/Replicator.java | 3 ++- src/main/java/jasper/component/RssParser.java | 2 ++ src/main/java/jasper/component/WebScraper.java | 2 ++ 6 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/jasper/component/Backup.java b/src/main/java/jasper/component/Backup.java index e405bb1c..629b646d 100644 --- a/src/main/java/jasper/component/Backup.java +++ b/src/main/java/jasper/component/Backup.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; +import io.micrometer.core.annotation.Counted; import jasper.config.ApplicationProperties; import jasper.domain.Ext; import jasper.domain.Plugin; @@ -68,6 +69,7 @@ public class Backup { @Async @Transactional(readOnly = true) + @Counted(value = "jasper.backup", extraTags = {"method", "create"}) public void createBackup(String id, BackupOptionsDto options) throws IOException { var start = Instant.now(); log.info("Creating Backup"); @@ -133,6 +135,7 @@ private void backupRepo(StreamMixin repo, Path path, boolean evict) throws IO Files.write(path, "]\n".getBytes(), StandardOpenOption.APPEND); } + @Counted(value = "jasper.backup", extraTags = {"method", "download"}) public byte[] get(String id) { try { return Files.readAllBytes(path(id)); @@ -157,6 +160,7 @@ public List listBackups() { } @Async + @Counted(value = "jasper.backup", extraTags = {"method", "restore"}) public void restore(String id, BackupOptionsDto options) { var start = Instant.now(); log.info("Restoring Backup"); @@ -193,6 +197,7 @@ private void restoreRepo(JpaRepository repo, Path path, Class type) } } + @Deprecated private void upgradeFeed(Path path) { try { new JsonArrayStreamDataSupplier<>(Files.newInputStream(path), OldFeed.class, objectMapper) @@ -222,12 +227,14 @@ private void upgradeFeed(Path path) { } } + @Counted(value = "jasper.backup", extraTags = {"method", "upload"}) public void store(String id, byte[] zipFile) throws IOException { var path = path(id); Files.createDirectories(path.getParent()); Files.write(path, zipFile, StandardOpenOption.CREATE); } + @Counted(value = "jasper.backup", extraTags = {"method", "delete"}) public void delete(String id) throws IOException { Files.delete(path(id)); } diff --git a/src/main/java/jasper/component/Ingest.java b/src/main/java/jasper/component/Ingest.java index acf51b59..7c04106e 100644 --- a/src/main/java/jasper/component/Ingest.java +++ b/src/main/java/jasper/component/Ingest.java @@ -40,7 +40,7 @@ void backfillMetadata() { } } - @Counted("jasper.ref.create") + @Counted(value = "jasper.ref", extraTags = {"method", "create"}) public void ingest(Ref ref) { if (refRepository.existsByUrlAndOrigin(ref.getUrl(), ref.getOrigin())) throw new AlreadyExistsException(); if (refRepository.existsByAlternateUrlAndOrigin(ref.getUrl(), ref.getOrigin())) throw new AlreadyExistsException(); @@ -51,7 +51,7 @@ public void ingest(Ref ref) { ensureUniqueModified(ref); } - @Counted("jasper.ref.update") + @Counted(value = "jasper.ref", extraTags = {"method", "update"}) public void update(Ref ref) { var maybeExisting = refRepository.findOneByUrlAndOrigin(ref.getUrl(), ref.getOrigin()); if (maybeExisting.isEmpty()) throw new NotFoundException("Ref"); @@ -78,7 +78,7 @@ private void ensureUniqueModified(Ref ref) { } } - @Counted("jasper.ref.delete") + @Counted(value = "jasper.ref", extraTags = {"method", "delete"}) public void delete(String url, String origin) { var maybeExisting = refRepository.findOneByUrlAndOrigin(url, origin); if (maybeExisting.isEmpty()) return; diff --git a/src/main/java/jasper/component/Meta.java b/src/main/java/jasper/component/Meta.java index ad8af0e0..46f90e0d 100644 --- a/src/main/java/jasper/component/Meta.java +++ b/src/main/java/jasper/component/Meta.java @@ -1,5 +1,6 @@ package jasper.component; +import io.micrometer.core.annotation.Counted; import jasper.domain.Metadata; import jasper.domain.Ref; import jasper.repository.PluginRepository; @@ -28,6 +29,7 @@ public class Meta { @Autowired PluginRepository pluginRepository; + @Counted("jasper.meta.update") public void update(Ref ref, Ref existing) { // TODO: make async if (ref != null) { diff --git a/src/main/java/jasper/component/Replicator.java b/src/main/java/jasper/component/Replicator.java index b4f70b84..6e6293df 100644 --- a/src/main/java/jasper/component/Replicator.java +++ b/src/main/java/jasper/component/Replicator.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import io.micrometer.core.annotation.Counted; import jasper.client.JasperClient; import jasper.config.ApplicationProperties; import jasper.domain.Ref; @@ -50,7 +51,7 @@ public class Replicator { @Autowired ObjectMapper objectMapper; - + @Counted("jasper.replicate") public void replicate(Ref origin) { var config = objectMapper.convertValue(origin.getPlugins().get("+plugin/origin"), Origin.class); config.setLastScrape(Instant.now()); diff --git a/src/main/java/jasper/component/RssParser.java b/src/main/java/jasper/component/RssParser.java index db7a0265..127f535a 100644 --- a/src/main/java/jasper/component/RssParser.java +++ b/src/main/java/jasper/component/RssParser.java @@ -11,6 +11,7 @@ import com.rometools.rome.io.FeedException; import com.rometools.rome.io.SyndFeedInput; import com.rometools.rome.io.XmlReader; +import io.micrometer.core.annotation.Counted; import jasper.domain.Ref; import jasper.errors.AlreadyExistsException; import jasper.plugin.Feed; @@ -52,6 +53,7 @@ public class RssParser { @Autowired ObjectMapper objectMapper; + @Counted("jasper.feed") public void scrape(Ref feed) throws IOException, FeedException { var config = objectMapper.convertValue(feed.getPlugins().get("+plugin/feed"), Feed.class); var lastScrape = config.getLastScrape(); diff --git a/src/main/java/jasper/component/WebScraper.java b/src/main/java/jasper/component/WebScraper.java index fe74aafe..6ea39c2f 100644 --- a/src/main/java/jasper/component/WebScraper.java +++ b/src/main/java/jasper/component/WebScraper.java @@ -1,5 +1,6 @@ package jasper.component; +import io.micrometer.core.annotation.Counted; import jasper.domain.Ref; import org.jsoup.Jsoup; import org.slf4j.Logger; @@ -14,6 +15,7 @@ public class WebScraper { private static final Logger logger = LoggerFactory.getLogger(WebScraper.class); + @Counted(value = "jasper.webscrape") public Ref scrape(String url) throws IOException { var doc = Jsoup.connect(url).get(); var result = new Ref();