From 6915a678959860e82389941db73dae99ef40f911 Mon Sep 17 00:00:00 2001 From: Juan Monetta Date: Sat, 6 Apr 2024 09:01:43 -0300 Subject: [PATCH] Expose skip regex management in Emitter --- CHANGELOG.md | 11 +++++++++++ src/clj/clojure/storm/repl.clj | 6 ++++-- src/jvm/clojure/storm/Emitter.java | 14 +++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..21f0ed01bc --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +## master (unreleased) + +### New Features + + - Emitter now exposes setInstrumentationSkipRegex, removeInstrumentationSkipRegex and getInstrumentationSkipRegex + +### Changes + +### Bugs fixed diff --git a/src/clj/clojure/storm/repl.clj b/src/clj/clojure/storm/repl.clj index e6e2e49d8e..ef8edf6f97 100644 --- a/src/clj/clojure/storm/repl.clj +++ b/src/clj/clojure/storm/repl.clj @@ -15,10 +15,12 @@ (println "ClojureStorm Help\n") (println "ClojureStorm settings: \n") (println (format " Instrumentation enable : %s" (Emitter/getInstrumentationEnable))) - (when-let [pref (Emitter/makePrefixesString (Emitter/getInstrumentationSkipPrefixes))] - (println (format " Instrument skip prefixes : %s" pref))) (when-let [pref (Emitter/makePrefixesString (Emitter/getInstrumentationOnlyPrefixes))] (println (format " Instrument only prefixes : %s" pref))) + (when-let [pref (Emitter/makePrefixesString (Emitter/getInstrumentationSkipPrefixes))] + (println (format " Instrument skip prefixes : %s" pref))) + (when-let [regex (Emitter/getInstrumentationSkipRegex)] + (println (format " Instrument skip regex : %s" (.pattern regex)))) (println) (println "ClojureStorm Commands: \n") (println " :inst - Enable instrumentation.") diff --git a/src/jvm/clojure/storm/Emitter.java b/src/jvm/clojure/storm/Emitter.java index e2601774e6..ab81f2010d 100644 --- a/src/jvm/clojure/storm/Emitter.java +++ b/src/jvm/clojure/storm/Emitter.java @@ -157,7 +157,19 @@ public static void addInstrumentationOnlyPrefix(String prefix) { public static void removeInstrumentationOnlyPrefix(String prefix) { instrumentationOnlyPrefixes.remove(Compiler.munge(prefix)); } - + + public static void setInstrumentationSkipRegex(String regex) { + instrumentationSkipRegex = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); + } + + public static void removeInstrumentationSkipRegex() { + instrumentationSkipRegex = null; + } + + public static Pattern getInstrumentationSkipRegex() { + return instrumentationSkipRegex; + } + public static boolean skipInstrumentation(String fqFnName) { boolean instrument = false;